Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MP/Source/ROCSTAR_RocFrac.f90
Go to the documentation of this file.
1 !*********************************************************************
2 !* Illinois Open Source License *
3 !* *
4 !* University of Illinois/NCSA *
5 !* Open Source License *
6 !* *
7 !* Copyright@2008, University of Illinois. All rights reserved. *
8 !* *
9 !* Developed by: *
10 !* *
11 !* Center for Simulation of Advanced Rockets *
12 !* *
13 !* University of Illinois *
14 !* *
15 !* www.csar.uiuc.edu *
16 !* *
17 !* Permission is hereby granted, free of charge, to any person *
18 !* obtaining a copy of this software and associated documentation *
19 !* files (the "Software"), to deal with the Software without *
20 !* restriction, including without limitation the rights to use, *
21 !* copy, modify, merge, publish, distribute, sublicense, and/or *
22 !* sell copies of the Software, and to permit persons to whom the *
23 !* Software is furnished to do so, subject to the following *
24 !* conditions: *
25 !* *
26 !* *
27 !* @ Redistributions of source code must retain the above copyright *
28 !* notice, this list of conditions and the following disclaimers. *
29 !* *
30 !* @ Redistributions in binary form must reproduce the above *
31 !* copyright notice, this list of conditions and the following *
32 !* disclaimers in the documentation and/or other materials *
33 !* provided with the distribution. *
34 !* *
35 !* @ Neither the names of the Center for Simulation of Advanced *
36 !* Rockets, the University of Illinois, nor the names of its *
37 !* contributors may be used to endorse or promote products derived *
38 !* from this Software without specific prior written permission. *
39 !* *
40 !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41 !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42 !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43 !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44 !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45 !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46 !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47 !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48 !*********************************************************************
49 !* Please acknowledge The University of Illinois Center for *
50 !* Simulation of Advanced Rockets in works and publications *
51 !* resulting from this software or its derivatives. *
52 !*********************************************************************
53 MODULE rocstar_rocfrac
54 
55 !!****f* Rocfrac/Rocfrac/Source/ROCSTAR_RocFrac.f90
56 !!
57 !! NAME
58 !! ROCSTAR_RocFrac
59 !!
60 !! FUNCTION
61 !! Global variable module
62 !!
63 !!***
64 
66 
67  IMPLICIT NONE
68 
69  SAVE
70 
71  CHARACTER(*), PARAMETER :: surwin = "sfrac"
72  CHARACTER(*), PARAMETER :: volwin = "vfrac"
73 
74 ! - Derive Type for the boundary conditions
75  TYPE bcvalues
76  INTEGER :: bctypex, bctypey, bctypez
77  REAL*8 :: bcvaluex, bcvaluey, bcvaluez
78  END TYPE bcvalues
79 
80  TYPE, public :: rocfrac_global
81  LOGICAL :: idummyrocfrac
82 
83 
84 !---- ** PARALLEL PARAMETER **
85  INTEGER :: mpi_comm_rocfrac ! Communicator of Rocfrac
86 ! -- Processor id number character
87  CHARACTER*4 :: myidchr
88 !-- Non-block receive, Non-block send request arrays
89  INTEGER, POINTER, DIMENSION(:) :: reqrcv,reqsnd
90 !-- Non-block receive, Non-block send status arrays
91  INTEGER, POINTER, DIMENSION(:,:) :: statrcv, statsnd
92 !-- Number of Volumetric elements on Partition Boundary
93  INTEGER :: numelpartbndry
94 ! -- Total Number of Nodes being communicated
95  INTEGER :: totnumndcomm
96 ! -- Total Number of Neighoring Processor communicating with.
97  INTEGER :: totnumneighprocs
98 ! -- Number of Nodes Communicating per-processor
99  INTEGER, POINTER, DIMENSION(:) :: numndcomm
100 ! -- Received Data buffer
101  TYPE(rcv_buf), POINTER, DIMENSION(:) :: recvdatafrm
102 ! -- List of Processors Neighbors
103  INTEGER, POINTER, DIMENSION(:) :: neighproclist
104 ! -- List of Nodes Communicated
105  TYPE(send_buf), POINTER, DIMENSION(:) :: ndcommlist
106 
107 
108 !---- ** FILE PRAMETERS **
109  CHARACTER(LEN=200) :: prefx ! I/O file prefix
110  INTEGER :: prefx_lngth ! length of prefix
111  INTEGER :: io_input ! unit id of control input deck
112  INTEGER :: io_sum ! unit id of summary control inpute deck
113 
114 
115 !---- ANALYSIS PARAMETERS
116  LOGICAL :: restart ! Is the analysis a continuation ?
117  ! .FALSE. = NO *
118  ! .TRUE. = YES
119  REAL*8 :: courantratio ! ratio of delta and Courant conditon
120 
121  REAL*8 :: dt ! time step (seconds)
122  REAL*8 :: dtinv
123 
124 ! -- Current sytem time
125 
126  REAL*8 :: currtime
127 
128  LOGICAL :: aleenabled ! Is the ALE enabled ?
129  ! .FALSE. = NO *
130  ! .TRUE. = YES
131 
132  INTEGER, POINTER, DIMENSION(:) :: isolntype ! Analysis Type
133  ! -1 = non-linear geom/ neo-hookean
134  ! 0 = non-linear geom/ arruda Boyce
135  ! 1 = non-linear geom/ linear mat
136  ! 2 = linear geom / linear mat
137  ! 10 = 4node ANDG /arruda Boyce
138 
139  INTEGER, POINTER, DIMENSION(:) :: isolntypeht ! Analysis Type
140  ! 0 = no heat transfer solution
141  ! 1 = heat transfer solution
142 
143 !-- heat conductivity lke variable for mesh motion
144  REAL*8 :: kappa
145 
146 !-- Used to subtract the initial pressure
147  REAL*8, POINTER, DIMENSION(:,:) :: pstatic
148 !-- Used to subtract the initial pressure
149  REAL*8, POINTER, DIMENSION(:,:) :: pstaticnb
150 !-- Flag to subract the initial pressure
151  LOGICAL :: ipstatic
152 
153 !---- ** VOLUMETRIC MATERIAL PROPERTIES **
154 !
155  INTEGER :: nummatvol ! number of volumetric materials
156 !-- Young's moduli | Poisson's ratios | density | thermal expansion coeffs
157  REAL*8, POINTER, DIMENSION(:) :: e, xnu, rho, alpha
158  REAL*8, POINTER, DIMENSION(:) :: e1, e2, e3, nu12, nu13, nu23, g12, g13, g23
159 ! -- shear Moduls, Bulk Modulus, Lame's Constant
160  REAL*8, POINTER, DIMENSION(:) :: xmu, xkappa, xlambda
161 !-- Fastest Dilation Wave Speed
162  REAL*8 :: cd_fastest
163 !-- elastic stiffness const
164  REAL*8, POINTER, DIMENSION(:,:) :: ci,cj
165 
166 !---- ** Mesh Variables **
167 !
168 
169 ! --- Order of Tetradehral
170  ! iElType = 4 ; Four Node Tetrahedral
171  ! iElType = 10 ; Ten Node Tetrahedral
172  INTEGER :: ieltype
173 ! -- Corresponding order for face of Tetrahedral
174  INTEGER :: ieltype2d
175 ! -- Number of Gaussian Integration Points
176  INTEGER :: istrgss
177 
178 ! Number of Nodes, Number of Elements
179  INTEGER :: numnp, numelvol
180  INTEGER, POINTER, DIMENSION(:) :: numelvolmat, numelpartbndrymat
181 !-- mat number for CST element
182  INTEGER, POINTER, DIMENSION(:) :: matidvol
183 !-- connectivity table for CST elem
184  INTEGER, POINTER, DIMENSION(:,:) :: elconnvol
185 !-- Undeformed Coordinate array (i.e. Original Mesh Coordinates)
186 ! REAL*8, POINTER, DIMENSION(:,:) :: coor
187 !-- Mesh Coordinate array ( meshcoor = coor if ALEenabled = .False.)
188  REAL*8, POINTER, DIMENSION(:,:) :: meshcoor
189 ! - Stores the boundary conditions data values
190  TYPE(bcvalues), POINTER, DIMENSION(:) :: bccond
191 ! - Stores the boundary conditions data values
192  TYPE(bcvalues), POINTER, DIMENSION(:) :: bccondht
193 
194 !- Physical Boundary Flags
195  INTEGER :: numndsbc ! number of boundary nodes w/loads
196  INTEGER :: numndsbcmm ! number of boundary nodes w/loads mesh motion
197  INTEGER :: numndsbcht ! number of boundary nodes w/loads mesh motion
198 !-- displacement and force dof
199  INTEGER, POINTER, DIMENSION(:,:) :: bcflag
200 !-- displacement and force dof
201  INTEGER, POINTER, DIMENSION(:,:) :: bcflaght
202 !-- applied displacements and loads
203  REAL*8, POINTER, DIMENSION(:,:) :: bcvalue
204 !-- applied displacements and loads
205  REAL*8, POINTER, DIMENSION(:,:) :: bcvalueht
206 
207 ! - Stores the boundary meshmotion conditions data values
208  TYPE(bcvalues), POINTER, DIMENSION(:) :: bccondmm
209  INTEGER :: numbcflagsmm
210 !-- displacement and force dof mesh motion
211  INTEGER, POINTER, DIMENSION(:,:) :: bcflagmm
212 !-- applied displacements and loads
213  REAL*8, POINTER, DIMENSION(:,:) :: bcvaluemm
214 
215 ! - Mass Matrix
216  REAL*8, POINTER, DIMENSION(:) :: xmass
217 
218  REAL*8, POINTER, DIMENSION(:) :: capctinv
219 
220 !--- Additional Arrays for average nodal deformation gradient elements
221 
222 ! - Number of Elements Associated with node
223  INTEGER, POINTER, DIMENSION(:) :: numelneigh
224 ! - Element ids of Element Associated with node
225  INTEGER, POINTER, DIMENSION(:,:) :: elconnnd
226 ! - Volume Ratio Associated with node
227  REAL*8, POINTER, DIMENSION(:,:) :: alphar
228 ! - Origonal undeformed Volume of node
229  REAL*8, POINTER, DIMENSION(:) :: volundfmd
230 
231 ! ** Solid/Fluid Interface **
232 
233 ! -- Solid communication map, Maps Surface Node to Volume Node
234  INTEGER, POINTER, DIMENSION(:) :: mapnodesf
235  INTEGER, POINTER, DIMENSION(:) :: mapnodesfnb
236  INTEGER, POINTER, DIMENSION(:) :: mapnodes
237 
238 ! -- Number of Nodes and Elements on the Solid/Fluid Interface
239  INTEGER :: interfacesfnumnodes, interfacesfnumelems
240 ! -- Number of Nodes and Elements on the Solid/Fluid Non-Burning Interface
241  INTEGER :: interfacesfnbnumnodes, interfacesfnbnumelems
242 ! -- Number of Nodes and Elements on the Non-Solid/Fluid Interface
243  INTEGER :: interfacesnumnodes, interfacesnumelems
244 
245 ! -- Element connectivity array
246  INTEGER, POINTER, DIMENSION(:,:) :: interfacesfelemconn
247  INTEGER, POINTER, DIMENSION(:,:) :: interfacesfnbelemconn
248  INTEGER, POINTER, DIMENSION(:,:) :: interfaceselemconn
249 ! -- Nodal coordinates
250  REAL*8 , POINTER, DIMENSION(:,:) :: interfacesfnodalcoors
251  REAL*8 , POINTER, DIMENSION(:,:) :: interfacesfnbnodalcoors
252  REAL*8 , POINTER, DIMENSION(:,:) :: interfacesnodalcoors
253 ! -- Displacements (incremental)
254  REAL*8, POINTER, DIMENSION(:,:) :: interfacesfnodaldisps
255  REAL*8, POINTER, DIMENSION(:,:) :: interfacesfnbnodaldisps
256 ! -- Acceleration
257  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFNodalAccel
258  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFnbNodalAccel
259 ! -- Displacements (total)
260  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFTotalNodalDisps
261  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFnbTotalNodalDisps
262 ! -- Velocities
263  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFNodalVels
264  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFnbNodalVels
265 ! -- Tractions
266 !!$ #OLD REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFElemTract
267  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFElemTract
268  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFnbElemTract
269 
270 ! heat flux
271  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFHeatFlux
272  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFNodalTemp
273  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFnbHeatFlux
274  REAL*8, POINTER, DIMENSION(:) :: InterfaceSFnbNodalTemp
275 
276 ! -- Vbar
277  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFVbar
278  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSFnbVbar
279  REAL*8, POINTER, DIMENSION(:,:) :: InterfaceSVbar
280 !
281 ! -- Element Integration (10 node)
282 ! 0 - full integration
283 ! 1 - reduced integration
284 
285  INTEGER :: iElIntgratn
286 
287 
288 !---- ** COHESIVE MATERIAL PROPERTIES **
289 ! - Number of cohesive materials
290  INTEGER :: NumMatCoh
291 !-- normal characteristic lengths | tangent characteristic lengths
292  REAL*8, POINTER, DIMENSION(:) :: deltan, deltat
293 !-- max. normal stresses | max. shearing stresses | friction coeffs.
294  REAL*8, POINTER, DIMENSION(:) :: SigmaMax, TauMax
295 !-- initial Sthresholds
296  REAL*8, POINTER, DIMENSION(:) :: Sinit
297 
298 !-- initial Sthresholds
299  REAL*8, POINTER, DIMENSION(:,:) :: Sthresh1,Sthresh2
300 
301 ! -- Solution Dynamic Variables
302 
303 !-- displacement vector
304  REAL*8, POINTER, DIMENSION(:) :: Disp
305 
306 
307 !-- Temperature vector
308  REAL*8, POINTER, DIMENSION(:) :: Temperature
309 
310 !-- previous time step displacement
311  REAL*8, POINTER, DIMENSION(:) :: DispOld
312 !-- mesh displacement vector
313  REAL*8, POINTER, DIMENSION(:) :: DispBar, DispTotal !d_bar, d_total
314 !-- velocity vector at t=t+dt/2
315  REAL*8, POINTER, DIMENSION(:) :: VeloHalf !vhalf
316 !-- mesh velocity vector at previous step
317  REAL*8, POINTER, DIMENSION(:) :: VeloBarOld !v_bar_old
318 !-- mesh velocity vector
319  REAL*8, POINTER, DIMENSION(:) :: VeloBar !v_bar
320 !-- velocity of boundary nodes
321  REAL*8, POINTER, DIMENSION(:) :: VeloBndry !vb
322 !-- acceleration of boundary nodes
323  REAL*8, POINTER, DIMENSION(:) :: AccelBndry !ab
324 !-- mesh acceleration vector
325  REAL*8, POINTER, DIMENSION(:) :: AccelBar !a_bar
326 !-- acceleration vector
327  REAL*8, POINTER, DIMENSION(:) :: Accel !a
328 !-- CST stress
329  REAL*8, POINTER, DIMENSION(:,:) :: S11, S22, S33, S12, S23, S13
330 !-- Von Mises stress
331  REAL*8, POINTER, DIMENSION(:) :: SVonMises
332 
333 ! -- Dummy Variables
334 
335 ! 1-3 for 4 node tet (i.e. 3 node triangles)
336 ! 4-6 for 10 node tet (i.e. 6 node triangles, mid-side nodes get traction)
337  INTEGER :: LwrBnd,UppBnd
338 
339 ! Mass conservation
340 ! single processors total mass for the volume
341  REAL*8 :: TotalMassSolidp
342 ! single processors total mass flux
343  REAL*8 :: xmdot_totalp ! not used
344 ! single processors total burning area
345  REAL*8 :: areap ! not used
346 
347  REAL*8 :: TotalGeomVolp
348  REAL*8 :: TotalGeomUndefVolp
349 ! --- Node tracking
350  INTEGER :: NumNodeIO, NumNodeIOpid
351  INTEGER, POINTER, DIMENSION(:) :: NodeIO
352 
353 ! -- For StandAlone Rocfrac
354  REAL*8 :: DummyTractVal
355  REAL*8 :: DummyBurnRate
356  REAL*8 :: DummyFlux
357 
358  LOGICAL :: IONEWER ! change the input format in 2.5
359 
360 ! -- Damping [C] matrix
361  REAL*8 :: KappaDamp
362  LOGICAL :: DampEnabled
363 
364 ! -- Nodal Elements Mass Lumping
365 
366  INTEGER :: NdMassLump
367 ! -- To enforce traction where no fluid is present
368 ! good for stand-alone mode, or cases like the artery
369  LOGICAL :: EnforceTractionS
370  LOGICAL :: EnforceTractionSF
371 ! -- Associates the surface mesh element with the volumitric element
372  INTEGER, POINTER, DIMENSION(:) :: MapSFElVolEl, MapSFnbElVolEl, MapSElVolEl
373 
374  REAL*8, POINTER, DIMENSION(:,:) :: AmpTable
375  INTEGER :: NumEntries
376 
377 
378 !-- proportionality constant
379  REAL*8 :: prop
380 !-- m%d(prop)/dt
381  REAL*8 :: slope
382 
383  INTEGER :: iAmpCnt
384 
385  LOGICAL :: NdBasedEl
386 
387  LOGICAL :: UnDefConfig
388 
389  INTEGER :: NumMatVolHT
390 
391  logical :: HeatTransSoln
392 
393  real*8 :: Temperature0 ! intial temperature of the model
394  real*8 :: ThermalDiffusivity
395 
396  real*8, POINTER, DIMENSION(:) :: KappaHT, Cp
397 
398  REAL*8, POINTER, DIMENSION(:,:,:) :: mixed_map
399  REAL*8, POINTER, DIMENSION(:,:,:) :: enhanced_map
400  REAL*8, POINTER, DIMENSION(:,:) :: Aenh
401 
402  real*8, pointer, dimension(:,:,:) :: dmat
403 
404  logical :: ArtificialDamping
405  REAL*8, POINTER, DIMENSION(:,:) :: DetF_old
406 
407 
408  REAL*8, POINTER, DIMENSION(:) :: BCValueGlb
409 
410  INTEGER :: NumNdsBCcrypt
411  INTEGER, POINTER, DIMENSION(:,:) :: BCFlagCrypt
412 
413  INTEGER :: NumProbesEl, NumProbesNd
414 
415  REAL*8, POINTER, DIMENSION(:,:) :: ProbeCoorNd, ProbeCoorEl
416  INTEGER, POINTER, DIMENSION(:) :: ProbeNd
417 
418  LOGICAL, POINTER, DIMENSION(:) :: PointOnProc
419 
420  INTEGER :: NSTATEV
421  REAL*8, POINTER, DIMENSION(:) :: STATEV_Part1
422 
423  REAL*8, POINTER, DIMENSION(:) :: STATEV_Part2
424 
425  INTEGER :: NMATRIX
426  REAL*8, POINTER, DIMENSION(:) :: MATRIX
427 
428  integer :: NPARTICLE, NPARTICLETYPE
429  REAL*8, POINTER, DIMENSION(:,:) :: PARTICLE
430 
431  integer :: NINTERFAC
432  REAL*8, POINTER, DIMENSION(:) :: INTERFAC
433 
434 
435  LOGICAL :: DebondPart,DebondPart_Matous
436  LOGICAL :: ThermalExpansion
437 
438  REAL*8, POINTER, DIMENSION(:) :: StrainTrace
439 
440  LOGICAL :: AmplitudeTable
441 
442  REAL*8 :: alpha1, alpha2, c3, p1, p2,Yin, a_eta, a_zeta, cm, cb, c2
443 
444  REAL*8, POINTER, DIMENSION(:,:,:) :: L_tensor, M_tensor
445  REAL*8, DIMENSION(1:6,1:6) :: L_bar, M_bar, Lo
446  REAL*8, POINTER, DIMENSION(:,:) :: StrainOld, SoftParam, cd
447  INTEGER :: NumMatVol_Part
448 
449  REAL*8, DIMENSION(1:2) :: ShrMod, BulkMod, PoisRat
450 
451  LOGICAL :: debug_state
452 
453  INTEGER :: NumNpOverlay,NumElOverlay
454  INTEGER, POINTER, DIMENSION(:,:) :: ElConnOverLay
455  REAL*8, POINTER, DIMENSION(:,:) :: CoorOverlay
456 ! INTEGER, POINTER, DIMENSION(:) :: Map2VolNdOverlay
457 
458  REAL*8, POINTER, DIMENSION(:,:) :: etaOverlay, nuOverlay
459 
460  INTEGER, POINTER, DIMENSION(:) :: MapFaceEl2Vol1, FaceOfVolEL1
461 
462  INTEGER, POINTER, DIMENSION(:) :: MapFaceEl2Vol2, FaceOfVolEL2
463 
464  INTEGER :: nf1, nf2
465 
466  INTEGER:: nsubn1, nsubf1, nsubn2, nsubf2, nn, nf
467  INTEGER, POINTER, DIMENSION(:,:) :: sd_subfaces1,sd_subfaces2
468  INTEGER, POINTER, DIMENSION(:) :: sd_subface_parentsB
469  REAL*8, POINTER, DIMENSION(:,:) :: sd_coor1,sd_coor2
470  INTEGER, POINTER, DIMENSION(:) :: sd_subface_parents1,sd_subface_parents2
471  REAL*4, POINTER, DIMENSION(:,:) :: sd_subface_nat_coors1,sd_subface_nat_coors2
472  INTEGER, POINTER, DIMENSION(:) :: sd_subface_counterparts1,sd_subface_counterparts2
473 
474  LOGICAL :: OverlayExist
475 
476  LOGICAL :: IMP
477 
478  ! Orthotropic material properties
479  INTEGER :: NumMatOrtho
480  INTEGER, POINTER, DIMENSION(:) :: MatOrtho
481  REAL*8, POINTER, DIMENSION(:,:,:) :: ci_full
482  REAL*8, POINTER, DIMENSION(:) :: E11o, E22o, E33o
483  REAL*8, POINTER, DIMENSION(:) :: xnu12o, xnu13o, xnu23o
484  REAL*8, POINTER, DIMENSION(:) :: G12o, G13o, G23o
485  REAL*8, POINTER, DIMENSION(:) :: vx1o, vy1o, vz1o
486  REAL*8, POINTER, DIMENSION(:) :: vx2o, vy2o, vz2o
487  REAL*8, POINTER, DIMENSION(:) :: vx3o, vy3o, vz3o
488 
489  END TYPE rocfrac_global
490 
491 
492 CONTAINS
493 
494  FUNCTION gettimestring(time)
495  REAL*8 :: time
496  CHARACTER*9 :: gettimestring
497  CHARACTER*15 :: ichrstring
498 
499  WRITE(ichrstring,'(e12.6)') time*1.e9
500 
501  gettimestring = ichrstring(11:12)//'.'//ichrstring(3:8)
502  END FUNCTION gettimestring
503 
504  SUBROUTINE associate_pointer( attr, ptr)
505  TYPE(rocfrac_global), POINTER :: attr, ptr
506  ptr => attr
507  END SUBROUTINE associate_pointer
508 
509 END MODULE rocstar_rocfrac
510 
character *9 function gettimestring(time)
const COM::Attribute * attr(const COM::Attribute *a) const
Obtain the attribute on the parent pane of the node.
Definition: Manifold_2.h:404
subroutine associate_pointer(attr, ptr)
Aff_transformation_rep_baseS2< FT > * ptr() const
virtual void restart()=0
Moves the iterator back to the first entity in the list.
unsigned char alpha() const
Definition: Color.h:75