-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathCalc_FixPoint_deltaC2.m
59 lines (38 loc) · 1.17 KB
/
Calc_FixPoint_deltaC2.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function dIdC=Calc_FixPoint_deltaC2(CtrlVar,UserVar,MUA,F,Meas)
%
%
%
%
%
% duJdu=(MUA.M*usres)./uErr/Area;
% dvJdv=(MUA.M*vsres)./vErr/Area;
% Juv=full(usres'*MUA.M*usres+vsres'*MUA.M*vsres)/2/Area;
%
% ures=us-Meas.us./uErr
%
% uErr=sqrt(spdiags(Meas.usCov));
%
% J = ((F.us-Meas.us)./uErr)' * MUA.M * ((F.us-Meas.us)./uErr) /2/Area
%
% dJ= M*(u-us)/uErr/Area
%
% here using u=C*tau
%
% C tau^m - um
[txzb,tyzb]=CalcNodalStrainRatesAndStresses(CtrlVar,UserVar,MUA,F) ;
tau=sqrt(txzb.*txzb+tyzb.*tyzb) ;
% u=C.*tau.^(m-1).*txzb ;
% v=C.*tau.^(m-1).*tyzb ;
uErr=sqrt(spdiags(Meas.usCov));
vErr=sqrt(spdiags(Meas.vsCov));
Area=TriAreaTotalFE(MUA.coordinates,MUA.connectivity);
%dIdC=MUA.M*( (F.ub-Meas.us).*txzb./uErr + (F.vb-Meas.vs).*tyzb./vErr).*(tau.^(m-1)) ./Area ;
% dIdC=MUA.M*( (F.ub-Meas.us).*F.ub./uErr + (F.vb-Meas.vs).*F.vb./vErr)./F.C./Area ;
dIdC=MUA.M*( (F.ub-Meas.us).*txzb./uErr + (F.vb-Meas.vs).*tyzb./vErr).*(tau.^(F.m-1)) ./Area ;
% txzb.*tau.^(m-1) = u/C = F.ub./F.C
% figure ; PlotMeshScalarVariable(CtrlVar,MUA,dIdC) ;
if contains(lower(CtrlVar.Inverse.InvertFor),'logc')
dIdC=log(10)*F.C.*dIdC;
end
% dIdC=dIdC/norm(dIdC) ;
end