Changes between Version 3 and Version 4 of UniformRegions
- Timestamp:
- 05/04/11 17:16:19 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UniformRegions
v3 v4 8 8 [[BR]] 9 9 10 == Object API == 11 [[BR]] 12 === Definition === 10 == Object Attributes == 13 11 14 12 {{{ … … 22 20 }}} 23 21 24 * ''*{{{Shape}}}'': A pointer to a [ wiki:ShapeShape] object that defines the dimensions of the region this object will keep uniform.22 * ''*{{{Shape}}}'': A pointer to a [ShapeObjects Shape] object that defines the dimensions of the region this object will keep uniform. 25 23 26 24 * ''{{{q}}}'': A state vector containing the hydrodynamic variable values this object will enforce within the uniform region. … … 31 29 32 30 * ''{{{PersistInternal}}}'': Indicates whether the uniform region is persistent. Under this option, {{{beforeStep()}}} will enforce the uniform region within a grid's [GhostZone ghost regions] as well. By default, this option is turned off. 33 [[BR]]34 === Methods ===35 36 * ''{{{InitUniformRegions()}}}'':37 38 * ''{{{ CreateUniformRegion(UniformRegion)}}}'':39 40 * ''{{{AddUniformRegionObjToList(UniformRegionObj)}}}'':41 42 * ''{{{RemoveUniformRegionObjFromList(UniformRegionObj)}}}'':43 44 * ''{{{DestroyUniformRegionObject(UniformRegionObj)}}}'':45 46 * ''{{{UniformRegionGridInit(Info)}}}'':47 48 * ''{{{UniformRegionBeforeStep(Info)}}}'':49 50 * ''{{{PlaceUniformRegion(Info, UniformRegion, location)}}}'':51 52 31 53 32 [[BR]] … … 78 57 As of revision 566, the user must manually set the values for {{{UniformRegion%q}}} (see the example above). Configuring the {{{UniformRegion%Shape}}} object is also the user's responsibility. 79 58 59 The setup above assumes that the uniform area is only an initial condition. To maintain the uniform area throughout the simulation, set one of the {{{PersistIn}}} attributes; either 60 {{{ 61 UniformRegion%PersistInInternal = .TRUE. 62 }}} 63 or 64 {{{ 65 UniformRegion%PersistInBoundaries = .TRUE. 66 }}} 67 Be sure to set only one flag at a time. {{{PersistInBoundaries}}} is a subset of {{{PersistInInternal}}}, so setting both flags will either make more cells uniform than you intended, or it will do unnecessary work. 80 68 69 [[BR]] 70 Uniformity takes effect when {{{PlaceUniformRegion(Info)}}} is called in {{{ProblemGridInit(Info)}}}. When this subroutine is called, all hydrodynamic variables in the region contained within {{{UniformRegion%Shape}}} are set to match {{{UniformRegion%q}}}. 71 72 The dimensions of [ShapeObjects Shape] objects are derived from spatial coordinates, which means that a uniform region could wind up cutting across one or more cells. To compensate for this, {{{PlaceUniformRegion()}}} performs sub-sampling on each cell in the domain that overlaps the dimensions of the {{{UniformRegion%Shape}}} object. Individual cells have a degree of uniformity based on how much of their area lies within the uniform region. This means that interior cells (which lie entirely within the uniform region) are completely uniform, while boundary cells have varying degrees of uniformity.