14 integer,
parameter,
private :: kreal = kind( 0.0d0 )
25 real(kind = kreal),
intent(in) :: lcoord(2)
26 real(kind = kreal),
intent(out) :: func(9)
30 real(kind = kreal) :: xi(9), eta(9)
31 real(kind = kreal) :: n_xi(9), n_eta(9)
62 n_xi(na) = ( 0.5d0*xi(na) *lcoord(1) ) &
63 *( 1.0d0+xi(na) *lcoord(1) ) &
64 +( 1.0d0-xi(na) *xi(na) ) &
65 *( 1.0d0-lcoord(1)*lcoord(1) )
66 n_eta(na) = ( 0.5d0*eta(na)*lcoord(2) ) &
67 *( 1.0d0+eta(na)*lcoord(2) ) &
68 +( 1.0d0-eta(na)*eta(na) ) &
69 *( 1.0d0-lcoord(2)*lcoord(2) )
77 func(na) = n_xi(na)*n_eta(na)
93 real(kind = kreal),
intent(in) :: lcoord(2)
94 real(kind = kreal),
intent(out) :: func(9, 2)
98 real(kind = kreal) :: xi(9), eta(9)
99 real(kind = kreal) :: n_xi(9), n_eta(9)
100 real(kind = kreal) :: dn_xi(9), dn_eta(9)
131 n_xi(na) = ( 0.5d0*xi(na) *lcoord(1) ) &
132 *( 1.0d0+xi(na) *lcoord(1) ) &
133 +( 1.0d0-xi(na) *xi(na) ) &
134 *( 1.0d0-lcoord(1)*lcoord(1) )
135 n_eta(na) = ( 0.5d0*eta(na)*lcoord(2) ) &
136 *( 1.0d0+eta(na)*lcoord(2) ) &
137 +( 1.0d0-eta(na)*eta(na) ) &
138 *( 1.0d0-lcoord(2)*lcoord(2) )
140 dn_xi(na) = ( 0.5d0*xi(na) ) &
141 *( 1.0d0+xi(na) *lcoord(1) ) &
142 +( 0.5d0*xi(na) *lcoord(1) ) &
144 +( 1.0d0-xi(na) *xi(na) ) &
145 *( -2.0d0*lcoord(1) )
146 dn_eta(na) = ( 0.5d0*eta(na) ) &
147 *( 1.0d0+eta(na)*lcoord(2) ) &
148 +( 0.5d0*eta(na)*lcoord(2) ) &
150 +( 1.0d0-eta(na)*eta(na) ) &
151 *( -2.0d0*lcoord(2) )
159 func(na, 1) = dn_xi(na)*n_eta(na)
160 func(na, 2) = n_xi(na) *dn_eta(na)
176 real(kind = kreal),
intent(out) :: nncoord(9, 2)
181 nncoord(1, 1) = -1.0d0
182 nncoord(2, 1) = 1.0d0
183 nncoord(3, 1) = 1.0d0
184 nncoord(4, 1) = -1.0d0
185 nncoord(5, 1) = 0.0d0
186 nncoord(6, 1) = 1.0d0
187 nncoord(7, 1) = 0.0d0
188 nncoord(8, 1) = -1.0d0
189 nncoord(9, 1) = 0.0d0
191 nncoord(1, 2) = -1.0d0
192 nncoord(2, 2) = -1.0d0
193 nncoord(3, 2) = 1.0d0
194 nncoord(4, 2) = 1.0d0
195 nncoord(5, 2) = -1.0d0
196 nncoord(6, 2) = 0.0d0
197 nncoord(7, 2) = 1.0d0
198 nncoord(8, 2) = 0.0d0
199 nncoord(9, 2) = 0.0d0