38
39
40
43
44
45
46#include "implicit_f.inc"
47
48
49
50#include "mvsiz_p.inc"
51
52
53
54 INTEGER IRECT(4,*), CAND_E(*), CAND_N(*),
55 . JLT,JLT_NEW,NIN,NSN,LREM
56 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
57 . NSVG(MVSIZ)
58
59
61 . vxi(mvsiz), vyi(mvsiz), vzi(mvsiz), msi(mvsiz
62 . x(3,*), stif(*),n1
63 . nt1(mvsiz), nt2(mvsiz), nt3(mvsiz),
64 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
65 . dxi(mvsiz),dyi(mvsiz),dzi(mvsiz)
66
67
68
69 INTEGER I ,J ,NI, L, NN, NS ,NE
72
73
74
75 DO i=1,jlt
76 ni = cand_n(i)
77 l = cand_e(i)
78 IF(ni>nsn)THEN
79 nn = ni - nsn
80 jlt_new = jlt_new + 1
81 vxi(jlt_new)=
vfi(nin)%P(1,nn)
82 vyi(jlt_new)=
vfi(nin)%P(2,nn)
83 vzi(jlt_new)=
vfi(nin)%P(3,nn)
84 msi(jlt_new)=
msfi(nin)%P(nn)
85 ix1(jlt_new) = irect(1,l)
86 ix2(jlt_new) = irect(2,l)
87 ix3(jlt_new) = irect(3,l)
88 ix4(jlt_new) = irect(4,l)
91 nsvg(jlt_new) = ns
92 h1(jlt_new) = h_e(1,ne)
93 h2(jlt_new) = h_e(2,ne)
94 h3(jlt_new) = h_e(3,ne)
95 h4(jlt_new) = h_e(4,ne)
96 stif(jlt_new)=stifs(ne)
97 n1(jlt_new)=n_e(1,ne)
98 n2(jlt_new)=n_e(2,ne)
99 n3(jlt_new)=n_e(3,ne)
100
101 dxi(jlt_new)=dfi(1,ns)
102 dyi(jlt_new)=dfi(2,ns)
103 dzi(jlt_new)=dfi(3,ns)
104 t1 = x(1,ix3(jlt_new)) - x(1,ix1(jlt_new))
105 t2 = x(2,ix3(jlt_new)) - x(2,ix1(jlt_new))
106 t3 = x(3,ix3(jlt_new)) - x(3,ix1(jlt_new))
107 norm = one/sqrt(t1*t1+t2*t2+t3*t3)
108 nt1(jlt_new) = t1*
norm
109 nt2(jlt_new) = t2*
norm
110 nt3(jlt_new) = t3*
norm
111
112 END IF
113
114 END DO
115
116 RETURN
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
integer, dimension(:), allocatable shf_int
type(int_pointer2), dimension(:), allocatable ind_int
type(real_pointer2), dimension(:), allocatable vfi
type(real_pointer), dimension(:), allocatable msfi