Changes between Version 3 and Version 4 of UniformRegions


Ignore:
Timestamp:
05/04/11 17:16:19 (14 years ago)
Author:
Brandon Shroyer
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • UniformRegions

    v3 v4  
    88[[BR]]
    99
    10 == Object API ==
    11 [[BR]]
    12 === Definition ===
     10== Object Attributes ==
    1311
    1412{{{
     
    2220}}}
    2321
    24  * ''*{{{Shape}}}'':  A pointer to a [wiki:Shape Shape] 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.
    2523
    2624 * ''{{{q}}}'':  A state vector containing the hydrodynamic variable values this object will enforce within the uniform region.
     
    3129
    3230 * ''{{{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 
    5231
    5332[[BR]]
     
    7857As 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.
    7958
     59The 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{{{
     61UniformRegion%PersistInInternal = .TRUE.
     62}}}
     63or
     64{{{
     65UniformRegion%PersistInBoundaries = .TRUE.
     66}}}
     67Be 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.
    8068
     69[[BR]]
     70Uniformity 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
     72The 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.