10 integer(kind=kint),
intent(in) :: id
11 integer(kind=kint),
intent(out) :: nlocal
12 integer(kind=kint),
intent(out) :: nlocal_allcolumns
13 integer(kind=kint),
intent(out) :: ierr
17 nlocal = hecmat%N * hecmat%NDOF
18 nlocal_allcolumns = hecmat%NP * hecmat%NDOF
26 integer(kind=kint),
intent(in) :: id
27 real(kind=
kreal),
intent(out) :: x(*), y(*), z(*)
28 integer(kind=kint),
intent(out) :: ierr
31 integer(kind=kint) :: offset, i
34 do i = 1, hecmesh%nn_internal
35 x(i) = hecmesh%node(offset+1)
36 y(i) = hecmesh%node(offset+2)
37 z(i) = hecmesh%node(offset+3)
48 integer(kind=kint),
intent(in) :: id
49 real(kind=
kreal),
intent(out) :: rbm(*)
50 integer(kind=kint),
intent(out) :: ierr
53 integer(kind=kint) :: Ndof, vec_leng, node, offset
54 real(kind=
kreal) :: x, y, z
56 integer(kind=kint),
allocatable :: mark(:)
57 integer(kind=kint) :: itype, ic_type, nn, is, iE, icel, iiS, j, nod
62 allocate(mark(hecmesh%n_node))
64 do itype = 1, hecmesh%n_elem_type
65 ic_type = hecmesh%elem_type_item(itype)
68 is = hecmesh%elem_type_index(itype-1)+1
69 ie = hecmesh%elem_type_index(itype )
71 iis = hecmesh%elem_node_index(icel-1)
74 nod = hecmesh%elem_node_item(iis+j)
81 vec_leng = hecmesh%nn_internal * ndof
87 else if (ndof == 2)
then
89 rbm(1:vec_leng*3)=0.0d0
91 do node = 1, hecmesh%nn_internal
92 x = hecmesh%node(3*node-2)
93 y = hecmesh%node(3*node-1)
96 offset = (node-1)*ndof
101 offset = offset + vec_leng
106 offset = offset + vec_leng
114 rbm(1:vec_leng*6)=0.0d0
115 do node = 1, hecmesh%nn_internal
116 if (mark(node) == 0)
then
119 x = hecmesh%node(3*node-2)
120 y = hecmesh%node(3*node-1)
121 z = hecmesh%node(3*node )
124 offset = (node-1)*ndof
130 offset = offset + vec_leng
136 offset = offset + vec_leng
142 offset = offset + vec_leng
148 offset = offset + vec_leng
154 offset = offset + vec_leng
163 offset = (node-1)*ndof
169 offset = offset + vec_leng
175 offset = offset + vec_leng
181 offset = offset + vec_leng
187 offset = offset + vec_leng
193 offset = offset + vec_leng
210 integer(kind=kint),
intent(in) :: id
211 integer(kind=kint),
intent(out) :: level
223 integer(kind=kint),
intent(in) :: id
224 integer(kind=kint),
intent(out) :: opt(*)
225 integer(kind=kint),
intent(out) :: ierr
228 integer(kind=kint) :: iopt(10)
231 opt(1:10) = iopt(1:10)
240 integer(kind=kint),
intent(in) :: id
241 integer(kind=kint),
intent(in) :: opt(*)
242 integer(kind=kint),
intent(out) :: ierr
245 integer(kind=kint) :: iopt(10)
247 iopt(1:10) = opt(1:10)