69 INTEGER :: myid, numprocs, ierror
70 CHARACTER(*),
INTENT(IN) :: surfin
71 INTEGER,
INTENT(IN) :: obtain_attr
73 INTEGER,
POINTER,
DIMENSION(:) :: paneids
75 CHARACTER*9 :: timelevel
76 CHARACTER*120 :: frachdffname, meshfile
78 INTEGER,
POINTER ::
zero, one, two
80 integer :: numeltypes2d
81 character(LEN=1),
POINTER,
DIMENSION(:) :: names
82 character(LEN=4) :: chreltype
83 integer :: endpt, startpt, chrlngth
84 integer ::
pane, bcflag
86 CALL mpi_comm_rank( glb%MPI_COMM_ROCFRAC, myid, ierror)
87 CALL mpi_comm_size( glb%MPI_COMM_ROCFRAC, numprocs, ierror)
90 CALL mpi_barrier(glb%MPI_COMM_ROCFRAC,
i)
91 IF(myid.eq.0 .AND. glb%debug_state)
THEN
92 WRITE(6,
'(A)')
'Rocfrac: Calling RocFrac Register...'
95 IF(myid.eq.0 .AND. glb%Verb.gt.1)
THEN
96 WRITE(6,
'(A,e11.4)')
'Rocfrac: Propellant density rho(1) is',&
100 CALL com_new_window(surwin)
103 CALL com_new_attribute(surwin//
'.rhos',
'w', com_double, 1,
'kg/m^3')
104 CALL com_set_array( surwin//
'.rhos', 0, glb%rho,1 )
106 CALL com_new_attribute(surwin//
'.u',
'n', com_double, 3,
'm')
107 CALL com_new_attribute(surwin//
'.vs',
'n', com_double, 3,
'm/s')
108 CALL com_new_attribute(surwin//
'.uhat',
'n', com_double, 3,
'm')
111 CALL com_new_attribute(surwin//
'.ts_alp',
'e', com_double, 1,
'Pa')
112 CALL com_new_attribute(surwin//
'.bv',
'n',com_integer, 1,
'')
113 CALL com_new_attribute( surwin//
'.bf2c',
'e', com_integer, 1,
'')
114 CALL com_new_attribute( surwin//
'.bcflag',
'p', com_integer, 1,
'')
116 IF (glb%HeatTransSoln.eqv..true.)
THEN
117 CALL com_new_attribute(surwin//
'.qs',
'e', com_double, 1,
'W/m^2')
118 CALL com_new_attribute(surwin//
'.Ts',
'n', com_double, 1,
'K')
124 IF ( glb%ALEenabled .eqv. .true.) CALL com_new_attribute( surwin//
'.vbar_alp',
'n', com_double, 3,
'm/s')
126 CALL com_get_panes( surfin, npanes, paneids)
134 CALL com_copy_array( surfin//
'.bcflag',
pane, bcflag)
139 CALL com_get_size( surfin//
".nc",
pane, glb%InterfaceSFNumNodes)
140 CALL com_set_size( surwin//
".nc",
pane, glb%InterfaceSFNumNodes)
141 CALL com_set_size( surwin//
'.bcflag',
pane, 1)
142 CALL com_resize_array(surwin//
'.bcflag',
pane)
144 CALL com_get_connectivities(surfin,
pane,numeltypes2d,names)
147 DO i = 1, numeltypes2d
151 DO WHILE (endpt .LE. ubound(names,1))
152 IF (names(endpt) .NE.
' ')
THEN
153 chrlngth = chrlngth + 1
154 chreltype(chrlngth:chrlngth) = names(endpt)
163 IF(chreltype(1:chrlngth).EQ.
':t6')
THEN
164 CALL com_get_size( surfin//
".:t6",
pane, glb%InterfaceSFNumElems)
165 CALL com_set_size( surwin//
".:t6",
pane, glb%InterfaceSFNumElems)
167 ELSE IF(chreltype(1:chrlngth).EQ.
':t3')
THEN
168 CALL com_get_size( surfin//
".:t3",
pane, glb%InterfaceSFNumElems)
169 CALL com_set_size( surwin//
".:t3",
pane, glb%InterfaceSFNumElems)
171 ELSE IF(chreltype(1:chrlngth).EQ.
':q4')
THEN
172 CALL com_get_size( surfin//
".:q4",
pane, glb%InterfaceSFNumElems)
173 CALL com_set_size( surwin//
".:q4",
pane, glb%InterfaceSFNumElems)
176 WRITE(0,
'(A,A)')
'Rocfrac: Error: Surface mesh type',&
177 ' element not supported'
178 WRITE(0,
'(A,A)')
'Read in Element Type :: ',&
179 chreltype(1:chrlngth)
180 CALL mpi_finalize(glb%MPI_COMM_ROCFRAC,ierr)
185 CALL com_free_buffer(names)
188 ALLOCATE(glb%InterfaceSFNodalCoors(1:3,1:glb%InterfaceSFNumNodes))
189 ALLOCATE(glb%MapNodeSF(1:glb%InterfaceSFNumNodes))
191 ALLOCATE(glb%InterfaceSFElemConn(1:glb%iElType2D,1:glb%InterfaceSFNumElems))
192 ALLOCATE(glb%MapSFElVolEl(1:glb%InterfaceSFNumElems))
197 ALLOCATE(glb%InterfaceSFNodalDisps(1:3,1:glb%InterfaceSFNumNodes))
198 ALLOCATE(glb%InterfaceSFTotalNodalDisps(1:3,1:glb%InterfaceSFNumNodes))
199 ALLOCATE(glb%InterfaceSFNodalVels(1:3,1:glb%InterfaceSFNumNodes))
201 ALLOCATE(glb%InterfaceSFElemTract(1:glb%InterfaceSFNumElems))
203 ALLOCATE(glb%InterfaceSFVbar(1:3,1:glb%InterfaceSFNumNodes))
205 IF(glb%HeatTransSoln)
THEN
206 ALLOCATE(glb%InterfaceSFHeatFlux(1:glb%InterfaceSFNumElems))
207 glb%InterfaceSFHeatFlux(:) = glb%DummyFlux
209 ALLOCATE(glb%InterfaceSFNodalTemp(1:glb%InterfaceSFNumNodes))
210 glb%InterfaceSFNodalTemp(:) = glb%Temperature0
214 IF(glb%ipstatic.eqv..true.)
THEN
215 ALLOCATE(glb%pstatic(1:3,1:glb%InterfaceSFNumElems))
216 glb%pstatic(1:3,1:glb%InterfaceSFNumElems) = 0.d0
218 glb%InterfaceSFNodalDisps(:,:) = 0.d0
219 glb%InterfaceSFTotalNodalDisps(:,:) = 0.d0
220 glb%InterfaceSFNodalVels(:,:) = 0.d0
221 glb%InterfaceSFElemTract(:) = 0.d0
223 glb%InterfaceSFVbar = 0.d0
225 IF ( glb%InterfaceSFNumNodes > 0)
THEN
234 CALL com_set_array( surwin//
'.nc',
pane, glb%InterfaceSFNodalCoors,3 )
238 IF(glb%iElType2D.EQ.3)
THEN
242 CALL com_set_array( surwin//
'.:t3',
pane, glb%InterfaceSFElemConn,3)
244 ELSE IF(glb%iElType2D.EQ.6)
THEN
246 CALL com_set_array( surwin//
'.:t6',
pane, glb%InterfaceSFElemConn,6)
248 ELSE IF(glb%iElType2D.EQ.4)
THEN
251 CALL com_set_array( surwin//
'.:q4',
pane, glb%InterfaceSFElemConn,4)
255 CALL com_set_array( surwin//
'.bv',
pane, glb%MapNodeSF,1)
256 CALL com_set_array(surwin//
'.bf2c',
pane, glb%MapSFElVolEl, 1)
258 CALL com_set_array( surwin//
'.u',
pane, glb%InterfaceSFNodalDisps,3)
259 CALL com_set_array( surwin//
'.vs',
pane, glb%InterfaceSFNodalVels,3)
260 CALL com_set_array( surwin//
'.uhat',
pane, glb%InterfaceSFTotalNodalDisps,3)
262 CALL com_set_array( surwin//
'.ts_alp',
pane, glb%InterfaceSFElemTract, 1)
264 IF (glb%ALEenabled) CALL com_set_array( surwin//
'.vbar_alp',
pane, glb%InterfaceSFVbar,3)
266 IF (glb%HeatTransSoln)
THEN
267 CALL com_set_array( surwin//
'.qs',
pane, glb%InterfaceSFHeatFlux, 1)
268 CALL com_set_array( surwin//
'.Ts',
pane, glb%InterfaceSFNodalTemp, 1)
274 ELSE IF(bcflag.EQ.2)
THEN
276 CALL com_get_size( surfin//
".nc",
pane, glb%InterfaceSNumNodes)
278 CALL com_set_size( surwin//
".nc",
pane, glb%InterfaceSNumNodes)
280 CALL com_set_size( surwin//
'.bcflag',
pane, 1)
281 CALL com_resize_array(surwin//
'.bcflag',
pane)
283 CALL com_get_connectivities(surfin,
pane,numeltypes2d,names)
285 DO i = 1, numeltypes2d
289 DO WHILE (endpt .LE. ubound(names,1))
290 IF (names(endpt) .NE.
' ')
THEN
291 chrlngth = chrlngth + 1
292 chreltype(chrlngth:chrlngth) = names(endpt)
301 IF(chreltype(1:chrlngth).EQ.
':t6')
THEN
302 CALL com_get_size( surfin//
".:t6",
pane, glb%InterfaceSNumElems)
303 CALL com_set_size( surwin//
".:t6",
pane, glb%InterfaceSNumElems)
305 ELSE IF(chreltype(1:chrlngth).EQ.
':t3')
THEN
306 CALL com_get_size( surfin//
".:t3",
pane, glb%InterfaceSNumElems)
307 CALL com_set_size( surwin//
".:t3",
pane, glb%InterfaceSNumElems)
309 ELSE IF(chreltype(1:chrlngth).EQ.
':q4')
THEN
310 CALL com_get_size( surfin//
".:q4",
pane, glb%InterfaceSNumElems)
311 CALL com_set_size( surwin//
".:q4",
pane, glb%InterfaceSNumElems)
314 WRITE(0,
'(A,A)')
'Rocfrac: Error: Surface mesh type',&
315 ' element not supported'
316 WRITE(0,
'(A,A)')
'Read in Element Type :: ',&
317 chreltype(1:chrlngth)
318 CALL mpi_finalize(glb%MPI_COMM_ROCFRAC,ierr)
325 CALL com_free_buffer(names)
327 ALLOCATE(glb%InterfaceSNodalCoors(1:3,1:glb%InterfaceSNumNodes))
328 ALLOCATE(glb%MapNodeS(1:glb%InterfaceSNumNodes))
330 ALLOCATE(glb%InterfaceSVbar(1:3,1:glb%InterfaceSNumNodes))
331 glb%InterfaceSVbar = 0.d0
333 ALLOCATE(glb%InterfaceSElemConn(1:glb%iElType2D,1:glb%InterfaceSNumElems))
334 IF(glb%EnforceTractionS.eqv..true.)
THEN
335 ALLOCATE(glb%MapSElVolEl(1:glb%InterfaceSNumElems))
338 IF ( glb%InterfaceSNumNodes > 0)
THEN
342 CALL com_set_array( surwin//
'.nc',
pane, glb%InterfaceSNodalCoors,3)
343 IF(glb%iElType2D.EQ.3)
THEN
345 CALL com_set_array( surwin//
'.:t3',
pane, glb%InterfaceSElemConn,3)
347 ELSE IF(glb%iElType2D.EQ.6)
THEN
349 CALL com_set_array( surwin//
'.:t6',
pane, glb%InterfaceSElemConn,6)
351 ELSE IF(glb%iElType2D.EQ.4)
THEN
353 CALL com_set_array( surwin//
'.:q4',
pane, glb%InterfaceSElemConn,4)
360 IF(glb%EnforceTractionS)
THEN
361 CALL com_set_array(surwin//
'.bf2c',
pane, glb%MapSElVolEl, 1)
368 CALL com_set_array( surwin//
'.bv',
pane, glb%MapNodeS,1)
370 IF( glb%ALEenabled) CALL com_set_array( surwin//
'.vbar_alp',
pane, glb%InterfaceSVbar,3)
376 else if ( bcflag.eq.0 )
THEN
378 CALL com_get_size( surfin//
".nc",
pane, glb%InterfaceSFnbNumNodes)
379 CALL com_set_size( surwin//
".nc",
pane, glb%InterfaceSFnbNumNodes)
381 CALL com_set_size( surwin//
'.bcflag',
pane, 1)
382 CALL com_resize_array(surwin//
'.bcflag',
pane)
384 CALL com_get_connectivities(surfin,
pane,numeltypes2d,names)
387 DO i = 1, numeltypes2d
391 DO WHILE (endpt .LE. ubound(names,1))
392 IF (names(endpt) .NE.
' ')
THEN
393 chrlngth = chrlngth + 1
394 chreltype(chrlngth:chrlngth) = names(endpt)
403 IF(chreltype(1:chrlngth).EQ.
':t6')
THEN
404 CALL com_get_size( surfin//
".:t6",
pane, glb%InterfaceSFnbNumElems)
405 CALL com_set_size( surwin//
".:t6",
pane, glb%InterfaceSFnbNumElems)
407 ELSE IF(chreltype(1:chrlngth).EQ.
':t3')
THEN
408 CALL com_get_size( surfin//
".:t3",
pane, glb%InterfaceSFnbNumElems)
409 CALL com_set_size( surwin//
".:t3",
pane, glb%InterfaceSFnbNumElems)
411 ELSE IF(chreltype(1:chrlngth).EQ.
':q4')
THEN
412 CALL com_get_size( surfin//
".:q4",
pane, glb%InterfaceSFnbNumElems)
413 CALL com_set_size( surwin//
".:q4",
pane, glb%InterfaceSFnbNumElems)
416 WRITE(0,
'(A,A)')
'Rocfrac: Error: Surface mesh type',&
417 ' element not supported'
418 WRITE(0,
'(A,A)')
'Read in Element Type :: ',&
419 chreltype(1:chrlngth)
420 CALL mpi_finalize(glb%MPI_COMM_ROCFRAC,ierr)
425 CALL com_free_buffer(names)
428 ALLOCATE(glb%InterfaceSFnbNodalCoors(1:3,1:glb%InterfaceSFnbNumNodes))
429 ALLOCATE(glb%MapNodeSFnb(1:glb%InterfaceSFnbNumNodes))
431 ALLOCATE(glb%InterfaceSFnbElemConn(1:glb%iElType2D,1:glb%InterfaceSFnbNumElems))
432 ALLOCATE(glb%MapSFnbElVolEl(1:glb%InterfaceSFnbNumElems))
437 ALLOCATE(glb%InterfaceSFnbNodalDisps(1:3,1:glb%InterfaceSFnbNumNodes))
438 ALLOCATE(glb%InterfaceSFnbTotalNodalDisps(1:3,1:glb%InterfaceSFnbNumNodes))
439 ALLOCATE(glb%InterfaceSFnbNodalVels(1:3,1:glb%InterfaceSFnbNumNodes))
441 ALLOCATE(glb%InterfaceSFnbElemTract(1:glb%InterfaceSFnbNumElems))
443 ALLOCATE(glb%InterfaceSFnbVbar(1:3,1:glb%InterfaceSFnbNumNodes))
448 ALLOCATE(glb%pstatic(1:3,1:glb%InterfaceSFNumElems))
449 glb%pstatic(1:3,1:glb%InterfaceSFNumElems) = 0.d0
450 ALLOCATE(glb%pstaticnb(1:3,1:glb%InterfaceSFnbNumElems))
451 glb%pstaticnb(1:3,1:glb%InterfaceSFnbNumElems) = 0.d0
453 glb%InterfaceSFnbNodalDisps(:,:) = 0.d0
454 glb%InterfaceSFnbTotalNodalDisps(:,:) = 0.d0
455 glb%InterfaceSFnbNodalVels(:,:) = 0.d0
456 glb%InterfaceSFnbElemTract(:) = 0.d0
458 glb%InterfaceSFnbVbar = 0.d0
460 IF ( glb%InterfaceSFnbNumNodes > 0)
THEN
469 CALL com_set_array(surwin//
'.nc',
pane, glb%InterfaceSFnbNodalCoors,3 )
473 IF(glb%iElType2D.EQ.3)
THEN
477 CALL com_set_array( surwin//
'.:t3',
pane, glb%InterfaceSFnbElemConn,3)
479 ELSE IF(glb%iElType2D.EQ.6)
THEN
481 CALL com_set_array( surwin//
'.:t6',
pane, glb%InterfaceSFnbElemConn,6)
483 ELSE IF(glb%iElType2D.EQ.4)
THEN
486 CALL com_set_array( surwin//
'.:q4',
pane, glb%InterfaceSFnbElemConn,4)
490 CALL com_set_array( surwin//
'.bv',
pane, glb%MapNodeSFnb,1)
491 CALL com_set_array(surwin//
'.bf2c',
pane, glb%MapSFnbElVolEl, 1)
493 CALL com_set_array( surwin//
'.u',
pane, glb%InterfaceSFnbNodalDisps,3)
494 CALL com_set_array( surwin//
'.vs',
pane, glb%InterfaceSFnbNodalVels,3)
495 CALL com_set_array( surwin//
'.uhat',
pane, glb%InterfaceSFnbTotalNodalDisps,3)
497 CALL com_set_array( surwin//
'.ts_alp',
pane, glb%InterfaceSFnbElemTract, 1)
499 IF ( glb%ALEenabled) CALL com_set_array( surwin//
'.vbar_alp',
pane, glb%InterfaceSFnbVbar,3)
504 WRITE(0,
'(A,i4,A,i4)')
'Rocfrac: Error: Invalid bcflag', &
505 bcflag,
' on surface pane',
pane
544 CALL com_window_init_done( surwin)
548 CALL com_free_buffer(paneids)
550 CALL com_call_function( obtain_attr, 2, &
551 com_get_attribute_handle_const( surfin//
".all"), &
552 com_get_attribute_handle( surwin//
".all"))
554 CALL mpi_barrier(glb%MPI_COMM_ROCFRAC,
i)
555 IF(myid.eq.0 .AND. glb%debug_state)
THEN
556 WRITE(6,
'(A)')
'Rocfrac: Calling RocFrac Register... Done'
558 11
FORMAT(
a,
'_',
a,a1)
565 currenttimestep, man_update_inbuff)
569 REAL*8,
INTENT(IN) :: currenttime, currenttimestep
570 INTEGER,
INTENT(IN) :: man_update_inbuff
577 REAL*8 :: solidsdisp, solidscoor
579 INTEGER :: iinterfacenode, solidsnodenum
585 DO iinterfacenode = 1, glb%InterfaceSFNumNodes
587 solidsnodenum = abs(glb%MapNodeSF(iinterfacenode))
589 glb%InterfaceSFNodalCoors(1,iinterfacenode) = glb%MeshCoor(1,solidsnodenum )
590 glb%InterfaceSFNodalCoors(2,iinterfacenode) = glb%MeshCoor(2,solidsnodenum )
591 glb%InterfaceSFNodalCoors(3,iinterfacenode) = glb%MeshCoor(3,solidsnodenum )
597 DO iinterfacenode = 1, glb%InterfaceSFnbNumNodes
599 solidsnodenum = abs(glb%MapNodeSFnb(iinterfacenode))
601 glb%InterfaceSFnbNodalCoors(1,iinterfacenode) = glb%MeshCoor(1,solidsnodenum )
602 glb%InterfaceSFnbNodalCoors(2,iinterfacenode) = glb%MeshCoor(2,solidsnodenum )
603 glb%InterfaceSFnbNodalCoors(3,iinterfacenode) = glb%MeshCoor(3,solidsnodenum )
609 DO iinterfacenode = 1, glb%InterfaceSNumNodes
611 solidsnodenum = abs(glb%MapNodeS(iinterfacenode))
612 IF(solidsnodenum .ne. 0)
THEN
613 glb%InterfaceSNodalCoors(1,iinterfacenode) = glb%MeshCoor(1,solidsnodenum )
614 glb%InterfaceSNodalCoors(2,iinterfacenode) = glb%MeshCoor(2,solidsnodenum )
615 glb%InterfaceSNodalCoors(3,iinterfacenode) = glb%MeshCoor(3,solidsnodenum )
628 include
'roccomf90.h'
638 INTEGER :: hdl_read, hdl_obtain, hdl_all
640 CHARACTER(*),
PARAMETER :: overlaywin =
"Overlay"
641 CHARACTER(*),
PARAMETER :: overlaywin2 =
"Overlay2"
645 CHARACTER(*),
PARAMETER :: prefix1 =
"A"
646 CHARACTER(*),
PARAMETER :: prefix2 =
"B"
648 CHARACTER(LEN=5) :: sdv_material
649 CHARACTER(LEN=12) :: sdv_wname
650 CHARACTER(LEN=27) :: fname1, fname2
651 CHARACTER(LEN=3) :: ichr3
655 INTEGER,
POINTER,
DIMENSION(:) :: mapfaceel2vol1a, faceofvolel1a
657 INTEGER :: iprocs,ios, iaux
663 pid = (myid+1)*100 + 3
666 WRITE(ichr3,
'(I3.3)') pid
668 fname1 =
'Rocfrac/Rocin/A_'//ichr3//
'_sdv.hdf'
669 fname2 =
'Rocfrac/Rocin/B_'//ichr3//
'_sdv.hdf'
672 CALL rocin_load_module(
"SDV_IN")
674 hdl_read = com_get_function_handle(
'SDV_IN.read_windows')
675 hdl_obtain = com_get_function_handle(
'SDV_IN.obtain_attribute')
682 sdv_material = prefix1//
'_sdv'
683 sdv_wname = overlaywin//sdv_material
684 CALL com_new_window( overlaywin )
688 comm_self = mpi_comm_self
689 CALL com_call_function( hdl_read, 4, fname1, overlaywin, &
690 sdv_material, comm_self)
691 hdl_all = com_get_attribute_handle( sdv_wname//
".all")
692 CALL com_call_function( hdl_obtain, 3, hdl_all, hdl_all, pid)
695 CALL com_get_size( sdv_wname//
'.sn_parent_fcID', pid, glb%nsubn1)
699 CALL com_get_size( sdv_wname//
'.:t3', pid, glb%nsubf1)
703 ALLOCATE(glb%Sthresh1(1:3, 1:glb%nsubf1))
704 glb%Sthresh1(1:3, 1:glb%nsubf1) = glb%Sinit(1)
709 ALLOCATE( glb%sd_subfaces1(1:3,1:glb%nsubf1) )
711 CALL com_copy_array( sdv_wname//
".:t3", pid, glb%sd_subfaces1, 3)
717 ALLOCATE(glb%sd_coor1(1:3,1:glb%nsubn1))
719 CALL com_copy_array( sdv_wname//
".nc", pid, glb%sd_coor1, 3)
725 ALLOCATE(glb%sd_subface_parents1(1:glb%nsubf1))
727 CALL com_copy_array( sdv_wname//
".sf_parent", pid, glb%sd_subface_parents1)
734 ALLOCATE(glb%sd_subface_nat_coors1(1:6,1:glb%nsubf1))
738 CALL com_copy_array( sdv_wname//
".sf_ncs", pid, &
739 glb%sd_subface_nat_coors1, 6)
749 ALLOCATE(glb%sd_subface_counterparts1(1:glb%nsubf1) )
752 CALL com_copy_array( sdv_wname//
".sf_cntpt_fcID", pid, glb%sd_subface_counterparts1)
778 sdv_material = prefix2//
'_sdv'
779 sdv_wname = overlaywin//sdv_material
789 comm_self = mpi_comm_self
790 CALL com_call_function( hdl_read, 4, fname2, overlaywin, &
791 sdv_material, comm_self)
792 hdl_all = com_get_attribute_handle( sdv_wname//
".all")
793 CALL com_call_function( hdl_obtain, 3, hdl_all, hdl_all, pid)
794 CALL com_get_size( sdv_wname//
'.sn_parent_fcID', pid, glb%nsubn2)
801 CALL com_get_size( sdv_wname//
'.:t3', pid, glb%nsubf2)
807 ALLOCATE(glb%sd_subface_counterparts2(1:glb%nsubf2) )
809 CALL com_copy_array( sdv_wname//
".sf_cntpt_fcID", pid, glb%sd_subface_counterparts2)
814 ALLOCATE( glb%sd_subfaces2(1:3,1:glb%nsubf1) )
819 CALL com_copy_array( sdv_wname//
".:t3", pid, glb%sd_subfaces2, 3)
825 ALLOCATE(glb%sd_coor2(1:3,1:glb%nsubn2))
826 CALL com_copy_array( sdv_wname//
".nc", pid, glb%sd_coor2, 3)
836 ALLOCATE(glb%sd_subface_nat_coors2(1:6,1:glb%nsubf2))
838 CALL com_copy_array( sdv_wname//
".sf_ncs", pid, &
839 glb%sd_subface_nat_coors2, 6)
859 ALLOCATE(glb%sd_subface_parents2(1:glb%nsubf2))
861 CALL com_copy_array( sdv_wname//
".sf_parent", pid, glb%sd_subface_parents2)
869 CALL com_delete_window( sdv_wname)
874 CALL rocin_unload_module(
"SDV_IN")
void zero()
Sets all entries to zero (more efficient than assignement).
subroutine, public rocfracinterfaceupdate(glb, CurrentTime, CurrentTimeStep, MAN_update_inbuff)
const Pane * pane() const
Obtain a constant pointer to the owner pane of the attribute.
subroutine, public rocfracinterfaceinitial(glb, obtain_attr, surfIn)