StgDomain Component Codex
This is a list of components available in StgDomain.
AllElementsVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
AllNodesVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
BelowCosinePlane
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Defines a cosine shape, with the region less than the function included
Example:
Equation:

Params
| Name | Type | Default | Description |
|---|---|---|---|
| amplitude | Double | 0.1 | Is the amplitude of the oscillations, in the equation |
| period | Double | 2*pi; | in the equation |
| phase | Double | 0.0 | in the equation |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
BelowPlane
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Description:
This defines a plane in the X-Z plane, with an offset in the Y direction
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| offset | Double | 0.5 | Y-coord value of plane |
| minX | Double | 0.0 | min x-coord of plane |
| minY | Double | 0.0 | min y-coord of plane. Shouldn't be used |
| minZ | Double | 0.0 | min z-coord of plane |
| maxX | Double | 1.0 | max x-coord of plane |
| maxY | Double | 0.0 | max y-coord of plane. Shouldn't be used |
| maxZ | Double | 0.0 | max z-coord of plane |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Box
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Defines a Box shape
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| startX | Double | 0.0 | minimum x coord of box shape. (Will override widthX) |
| endX | Double | 0.0 | maximum x coord of box shape. (Will override widthX) |
| widthX | Double | 0.0 | Can use this to define the width in x, centred around the centre coords of the shape |
| startY | Double | 0.0 | minimum y coord of box shape. (Will override widthY) |
| endY | Double | 0.0 | maximum y coord of box shape. (Will override widthY) |
| widthY | Double | 0.0 | Can use this to define the width in y, centred around the centre coords of the shape |
| startZ | Double | 0.0 | minimum z coord of box shape. (Will override widthZ) |
| endZ | Double | 0.0 | maximum z coord of box shape. (Will override widthZ) |
| widthZ | Double | 0.0 | Can use this to define the width in z, centred around the centre coords of the shape |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
CartesianGenerator
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
http://www.opensource.org/licenses/bsd-license.php
Parent:
Children:
Description:
A MeshGenerator specifically for Cartesian meshes
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| maxDecomposedDims | UnsignedInt | 0 | The maximum number of dimensions over which the mesh can be decomposed |
| minDecompositions | List | The maximum number of dimensions over which the mesh can be decomposed | |
| maxDecompositions | List | A list of integers representing the maximum number of decompositions that can be done in each dimension | |
| minCoord | List | A list of doubles representing the minimum coordinate in each dimension | |
| maxCoord | A list of doubles representing the maximum coordinate in each dimension | ||
| restartTimestep | Unsigned Int | 0 | The timestep to restart from when loading from checkpoint. |
| checkpointReadPath | String | ./ | Specifies the relative path from which to read checkpoint files from when restarting. |
| checkPointPrefixString | String | "" | A string to prefix checkpoint filenames. |
| shadowDepth | UnsignedInt | 1 | The depth to which particles are shadowed |
| regular | Bool | True | Defines whether the mesh is regular |
| periodic_x | Bool | False | Defines whether the mesh is periodic in the x direction |
| periodic_y | Bool | False | Defines whether the mesh is periodic in the y direction |
| periodic_z | Bool | False | Defines whether the mesh is periodic in the z direction |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
CellLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
Abstract parent class for concrete cell layout class implementations which describe how the particle cells are to be arranged with respect to the element mesh. Contains wrappers for the polymorphic functions.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
CommTopology
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
CommTopology is a tool that helps to find and identify the neighbours of a processor. It is useful for hugely parallel operations, such as those distributed over thousands of processors.Typically, a processor only needs to communicate with adjacent processors. A global (one-to-all) operation is an example of a poorly designed operation because it calls for unnecessary communication beyond the scope of the processor's neighbourhood. In this situation, redesigning the operation and using CommTopology would be a more elegant design and lead to improved efficiency.
CompressionAdaptor
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
A type of MeshAdaptor that lets you compress the mesh.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| compressionfactor | Double | 0.0 | Controls the extent to which the mesh is compressed |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ContactVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ConvexHull
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
CornerVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This function is designed so that a user can specify BC's at the corners of a region. It works in 2D and 3D. If values are specified for a location in 2D that does not exist, it will display a warning about it, and the value will be ignored.
In each Direction:
y direction - Bottom or Top;
x direction - Left or Right;
z direction - Back or Front;
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| corner | string | specifies corner location and must be choosen based on name: (yDirection)(XDirection)(ZDirection), eg bottomRightFront | |
| type | string | CornerVC | tells the code that this is a CornerVC type |
| variables | list | list of values for specified corner, ie vx, vy ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Cylinder
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Defines a cylinder shape.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| radius | Double | 0.0 | The radius of the cylinder |
| startX | Double | -1e99 | x-coord the cylinder starts |
| startY | Double | -1e99 | y-coord the cylinder starts |
| startZ | Double | -1e99 | z-coord the cylinder starts |
| endX | Double | BIG | x-coord the cylinder ends at |
| endY | Double | BIG | y-coord the cylinder ends at |
| endZ | Double | BIG | z-coord the cylinder ends at |
| alongAxis | String | x | axis the cylinder is aligned with |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
DecompTransfer
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
...
Decomp_Sync
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
Decomp_sync is a subclass of Decomp and is a conduit for shifting data between processors.
Decomp_sync relies on the concept of Remote Indices, indices which are not owned by the local processor but which contain information that may be useful for Shadowing. Local and remote indices are combined into a domain set with no distinction made of their origins.
Decomp_Sync stores other useful information, such as which processor owns an index, and which processors are interested in an index or set of indices.
In an abstract sense, Decomp_sync deals in locations but it does not do any copying or transferring of data. This is functionality is left to other Codes. Similarly, Decomp_sync deals with indices and it doesn't matter that these indices can refer to nodes or other parts of a grid.
Decomp_Sync_Claim
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
...
Decomp_Sync_Negotiate
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
...
Delaunay
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Geometry/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Stg_Component
Description:
Delaunay works on a set of 2D points. It uses the Constrained Delaunay Algorithm to generate a network between these points.Once that step is complete it generates a dual graph, a Voronoi Diagram, based on the Delaunay Triangulation.Delaunay can also generate a Convex Hull based on the set of points.This is a single-processor implementation of Delaunay. Use ParallelDelaunay on a multi-processor system for large data sets, speed-critical applications or where memory resources are limited.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| numSites | int | 0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
DictionaryGenerator
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
DiscretisationContext
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Builds on the AbstractContext by adding a field variable register as well as recorded how many dimensions the problem is in.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | UnsignedInt | 2 | How many dimensions we are working in (either 2 or 3). This parameter is taken form the root dictionary. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
DofLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
DofLayout (Degrees of Freedom Layout) prescribes how particular chunks of data are attached to specified parts a mesh. A mesh describes a divided domain, and you need to know where values lie in the domain when solving for a variable over the domain.
DofLayout maps between the spacial domain and one or more Variables. Briefly, a Variable is a block of memory which is indexed so it can be associated with part of a mesh. This can be a vertex, face or some other topological feature. See the StGermain component, Variable, for more information.
DofLayout refers to scalar variables only, not vectors, though a wrapper can be applied later to convert vectors.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| Count | String | "" | ... |
| UnsignedInt( cf, self->name, "BaseVariableCount", Dictionary_Entry_Value_GetCount | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Variable | True | ... | variableName |
ElementCellLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Implements a CellLayout component that uses a mesh to define where
particle cells will be.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | True | The mesh to use as a template for cell locations. | Mesh |
Everywhere
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
FieldVariable
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | UnsignedInt | 0 | ... |
| fieldComponentCount | UnsignedInt | 0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
FileParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This component loads a global coordinate layout from a file - either ascii or hdf5 format. Mostly this is used to define a global particle swarm layout. The functionality of this component is also use to enable swarm checkpointing, but this is done automatically and doesn't need this component explicity defined. If your system has a parallel hdf5 package which is picked in the ./configure of the code (uncommon), then hdf5 will be used automatically and ascii turned off
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| filename | String | "Swarm.dat" | The name of the file containing the global layout definitions |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
GaussBorderParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Gauss particle layout, but with all particles on borders of cell
(intended for use in evaluating boundary integral terms)
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| gaussParticles | UnsignedInt | 2 | This is the default value that will be used for 'gaussParticlesX', 'gaussParticlesY' and 'gaussParticlesZ'. |
| gaussParticlesX | UnsignedInt | gaussParticles | The number of gauss points laid out in the X direction |
| gaussParticlesY | UnsignedInt | gaussParticles | The number of gauss points laid out in the Y direction. |
| gaussParticlesZ | UnsignedInt | gaussParticles | The number of gauss points laid out in the Z direction. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
GaussParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Description:
Lays out particles on points optimised for integrating over a cell. This layout also sets the particle weights as well. See here
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| gaussParticles | UnsignedInt | 2 | This is the default value that will be used for 'gaussParticlesX', 'gaussParticlesY' and 'gaussParticlesZ'. |
| gaussParticlesX | UnsignedInt | gaussParticles | The number of gauss points laid out in the X direction |
| gaussParticlesY | UnsignedInt | gaussParticles | The number of gauss points laid out in the Y direction. |
| gaussParticlesZ | UnsignedInt | gaussParticles | The number of gauss points laid out in the Z direction. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
GlobalParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Another abstract class which define global coordinate layouts
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Grid
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
HMesh
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| base-mesh | String | NULL | ... |
| levels | UnsignedInt | 1 | ... |
| base-level | UnsignedInt | 0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | True | ... | meshName |
IGraph
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Stg_Component
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
InnerWallVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Implements a VariableCondition that applies values to a wall of a regular
mesh minus the edges and corners in 3D and just the corners in 2D.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| variables | List | A list of variable structures describing a Variable object to have values set and the values to apply. Each structure has three parameters: 'name' (the name of the Variable object), 'type' (the type of the value, either double or func) and 'value' (for a double this is a number and for a func this is the name of the condition function). |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Intersection
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Takes the intersection of a set of other shapes.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| shapes | List | A list of names referring to other shape components to be involved in the intersection. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
LineParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This lays equally spaced particles out on a continuous set of line segments.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| totalInitialParticles | UnsignedInt | 2 | This is the total number of particles specified throughout the global domain. |
| verticies | list | struct of doubles with name x, y, z | A list of verticies that define the line segments on which the particles will be distributed. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ManualParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This lays out a particle in each of the positions manually specified in the dictionary.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| manualParticlePositions | list | struct of doubles with name x, y, z | A list of particle positions. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Mesh
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
Mesh is an abstraction that gives access to geometry and topology of a discretised domain. It describes how the space is split into discrete regions and not, for example, how data is stored in nodes. It can assist with functions acting on data such as searching, or locating a particle in the domain.
Mesh presents a consistent, high-level interface with many ways of entering information and one standardised means of output. It interfaces with other Codes and acts independently of the underlying structure of the mesh (a grid, triangles, etc). This lets it represent any shape of mesh or topology.
Mesh exhibits the common trade-off between memory utilisation and performance: more memory affords better performance. It also offers better performance on a regular grid.
Mesh is implicitly parallel. Some aspects may be local or global, but this is generally handled automatically.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
MeshAdaptor
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
http://www.opensource.org/licenses/bsd-license.php
Parent:
Description:
A MeshAdaptor is a customisable component that can be inserted into the mesh generation pipeline. An Adaptor permits you modify the output from different types of mesh generators without modifying the code of a mesh generator. Conceptually, an adaptor can be viewed as a filter or an addition to the output stage.
MeshGenerator --> MeshAdaptor --> Mesh
Note that one or more MeshAdaptors may be inserted into the process, and there is no theoretical limit to the number of MeshAdaptors. In practise, using more than three or four MeshAdaptors may add a prohibitive overhead and could be grounds for optimisation by removing or combining adaptors.
This modular approach allows a small set of MeshAdaptors to be plugged-in in many combinations for a wide range of effects.
Each MeshAdaptor is active on its local processor as part of that processor's pipeline. Generally, an even mesh decomposition will lead to processor-load being balanced and processors keeping in synch with their neighbours, but there is no restriction on how a MeshAdaptor can operate. Inserting additional steps where there are dependencies on other processors and pipelines can result in a pipeline stall. This may be the case if there is extensive interaction between processors, as in the following example:
Generating a Mesh with four processors and modifying it with two MeshAdaptors.
MeshGenerator1 --> MeshAdaptor1a --> MeshAdaptor1b --> Mesh1
MeshGenerator2 --> MeshAdaptor2a --> MeshAdaptor2b --> Mesh2
MeshGenerator3 --> MeshAdaptor3a --> MeshAdaptor3b --> Mesh3
MeshGenerator4 --> MeshAdaptor4a --> MeshAdaptor4b --> Mesh4
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | False | Used as a template | sourceMesh | |
| MeshGenerator | True | Used as a template if sourceMesh is not available. | sourceGenerator |
MeshBoundaryShape
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Stg_Shape | True | ... | self->shapeName |
MeshGenerator
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Description:
The base class for supplying mesh data to the Mesh component. Provides
a very simple interface.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dims | Integer | 2 | The number of dimensions of the mesh to generate. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | Only if 'meshes' not specified | The Mesh component to be filled with data. | mesh | |
| List | Only if 'mesh' not specified | A list of Mesh components, each to be filled with data the same data. | meshes |
MeshParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
A utlility for filling a Swarm with particles based on the elements of a mesh. Restricted
to meshes using quadrilateral and hexahedral topology, but useful for any geometry.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| cellParticleCount | Integer | 0 | The number of particles you want in each cell. |
| seed | Integer | 13 | The seed that you want to give the random number generator. The same seed will always give the same particle positions. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | Yes | The mesh whose elements will be used as a particle template. | mesh |
MeshShapeVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Stg_Shape | True | ... | self->shapeName |
MeshTopology
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Stg_Component
Children:
Description:
MeshTopology stores topological information about a mesh but manages no geometric information.MeshTopology is used when Shadowing. Shadowing is a process by which some data pertaining to a section of the mesh gets duplicated and assigned to a processor managing adjacent decomposition regions. Shadowing is managed automatically by MeshTopology and can be performed to a specified depth.No assumptions are made about how the data is stored. MeshTopology merely stores and indexes data as requested, per algorithmic demands.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
MeshVariable
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
A kind of Variable component that implicitly extracts the number of items in
the variable from the number of elements in any topological dimension from
the mesh.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| topologicalDim | Integer | 0 | The topological dimension to use as the number of items in the variable. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | Yes | The mesh to take the number of items from. | mesh |
Mesh_Algorithms
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
Base class for defining algorithms that operate on entire meshes. Operations
include calculating the nearest vertex to any point, searching the mesh to
find which element contains a point and calculating local/domain/global coordinate
ranges.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Mesh_CentroidAlgorithms
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Implements Mesh_Algorithms for meshes that require an 'element mesh'. That is, meshes
that have a vertex at the centroid of another meshes elements.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Mesh_ElementType
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
Base class for defining operations on a per-element level for a mesh.
Operations include determining if an element contains a point in space,
calculating the centroid of an element and calculating the shortest
distance between any two vertices of an element.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Mesh_HexAlgorithms
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Provides various optimised mesh related algorithms specific to meshes with hexahedral
elements only.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Mesh_RegularAlgorithms
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Provides various optimised mesh related algorithms specific to regular structued
meshes with hexahedral elements only.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
OperatorFieldVariable
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| Operator | String | "" | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
OperatorSwarmVariable
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| Operator | String | "" | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| SwarmVariable | True | ... | swarmVariableName |
ParallelDelaunay
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Geometry/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Children:
Description:
Delaunay works on a set of 2D points. It uses the Constrained Delaunay Algorithm to generate a network between these points.
Once that step is complete it generates a dual graph, a Voronoi Diagram, based on the Delaunay Triangulation.
Delaunay can also generate a Convex Hull based on the set of points.
This is a multi-processor implementation of Delaunay, useful on multi-processor system for large data sets, speed-critical applications or where memory resources are limited.
Parallel processing of Delaunay is done by dividing the 2D set into equally-sized regions along the x-axis, then assigning each area to a different processor. The parallel approach is quicker and more efficient than the single-processor version because the memory required by the recursive, divide-and-conquer Delaunay Algorithm increases nonlinearly as the number of data-points scales-up. The algorithm is no longer constrained by the memory resources of a single processor because each processor manages only a discrete, longitudinal slice of the graph.
Dividing the set introduces boundary-cases where triangles overlap regions handled by two adjacent processors. These triangles are detected then mirrored on both processors. This repeated data imposes a minimal overhead and is superimposed when recombining the slices to form the final output diagram.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ParticleCommHandler
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
This in an abstrct call which provides function pointers that run after a solve.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
Abstract class for defining the particle layout. Hold generic information about layout style.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ParticleMovementHandler
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Children:
Description:
This component handles particle swarms moving between multiple processors. One particle handler can be used by many swarms, but must be specifed to each swarm separately.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ParticleShadowSync
Organisation:
VPAC
Project:
StgDomain
Location:
./
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Children:
Description:
Handles the task of updating neighbouring processes with information about
which particles on the local domain are present in areas the neighbouring
processor is interested in.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
PerCellParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Description:
This is an abstract class for defining an initial distribution of particles cell-by-cell. This class only provides simple data structure and function pointers which execute in the initialisation phase.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
PlaneParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This uses the SpaceFillerParticleLayout class to choose quasi-random particle positions and then projects them onto a plane
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| planeAxis | String | This is the axis of the plane. i.e. Either 'X', 'Y', or 'Z' (case insensitive). | |
| planeCoord | Double | 0.0 | This is the coordinate of the plane in the direction 'planeAxis'. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
PolygonShape
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Constructs a polygon shape, if dimension equals 2, or a prism shape, if dimension equals 3. A list of vertices is supplied and is used to construct the polgon face of the shape, if the simulation is 3D the length and orientation of the depth of the polygon can be customised.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| vertices | list | N/A | Vertices used to construct the polygon in 2D or prism base in 3D. Must be more than 3 vertices specified. |
| perpendicularAxis | char | z | The axis in which the polygon or prism base will be perpendicular to. Can choose from x,y,z. |
| startX | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to x |
| endX | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to x |
| startY | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to y |
| endY | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to y |
| startZ | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to z |
| endZ | Double | 0.0 | Only used in 3-D. The starting depth of the prism, if the perpendicularAxis is set to z |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
PythonShape
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| Function | String | "0" | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
RandomParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Randomly distributes particles within cells.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| cellParticleCount | UnsignedInt | 0 | The number of particles you want in each cell. |
| seed | UnsignedInt | 13 | The seed that you want to give the random number generator. The same seed will always give the same particle positions. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Remesher
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
Copyright (C) 2004-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Description:
Remesher assists with rearranging a mesh into a more regular, ordered format. Giving
a mesh a simplified form results in it being easier to deal with. For example, Remesher
is useful when a mesh has been advected to such an extent that it is no longer
well-formed. A malformed mesh is slower to process and not as representative as a well-formed mesh.
Remesher is an abstract interface to classes, and therefore does not perform any
remeshing. Other classes may be instructed to do the remeshing using a variety of
remesheing methods.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Mesh | Yes | The mesh to remeshed. | mesh |
SemiRegDeform
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
SemiRegDeform is a method for remeshing. It performs a semi-regular deformation.
To use it, pass SemiRegDeform a set of two points on the mesh you wish to deform. SemiRegDeform will construct a straight line between these points and evenly redistribute any nodes that lie along that line. When moving nodes, SemiRegDeform does a linear interpolation on the contents of those features to preserve the accuracy of their data.
Running SemiRegDeform on a large mesh is moderately time-consuming for a single-processor system, though the process is faster when parallelised. SemiRegDeform has been designed to automatically run in parallel, and although this process is non-trivial internally, the mechanism is accessible from the same simple interface.
Furthermore, you can remesh at a higher resolution by using more than one linear set of points. To do this, define a number of lines via the two-point interface. You can build-up a remeshing procedure with SemiRegDeform that works in two or three dimensions, and the order of operations is unimportant.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
ShapeAdvector
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| TimeIntegrator | True | ... | TimeIntegrator | |
| FieldVariable | True | ... | VelocityField | |
| Stg_Shape | True | ... | Shape |
SingleCellLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Cell layout for a single particle arrangement, to be mapped to each of the elements.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | UnsignedInt | 0 | Dimensionality of the cell. |
| dimExistsI | Bool | True | If the cell is defined in the ith dimension, then add particles to the cell in this dimension |
| dimExistsJ | Bool | True | If the cell is defined in the jth dimension, then add particles to the cell in this dimension |
| dimExistsK | Bool | dim == 3 | If the cell is defined in the kth dimension, then add particles to the cell in this dimension |
| minX | Double | -1.0 | Defines the min X coordinate within a cell |
| minY | Double | -1.0 | Defines the min Y coordinate within a cell |
| minZ | Double | -1.0 | Defines the min Z coordinate within a cell |
| maxX | Double | 1.0 | Defines the max X coordinate within a cell |
| maxY | Double | 1.0 | Defines the max Y coordinate within a cell |
| maxZ | Double | 1.0 | Defines the max Z coordinate within a cell |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
SpaceFillerParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Description:
This uses the SobolGenerator class to quasi-randomly fill particles throughout the whole global domain.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| averageInitialParticlesPerCell | UnsignedInt | SpaceFillerParticleLayout_Invalid | This is the average number of particles per cell. This number will be multiplied by the total number of cells to get the total inital particle number count. (If you use this parameter, you cannot set the 'totalInitialParticles' parameter as well). |
| totalInitialParticles | UnsignedInt | SpaceFillerParticleLayout_Invalid | This is the total number of particles that will be created to fill the global domain. (If you use this parameter, you cannot set the 'averageInitialParticlesPerCell' parameter as well). |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Sphere
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| radius | Double | 0.0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Stg_Shape
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| CentreX | Double | 0.0 | x coord the shape is centred on |
| CentreY | Double | 0.0 | y coord the shape is centred on |
| CentreZ | Double | 0.0 | z coord the shape is centred on |
| alpha | Double | 0.0 | Sets the rotatio |
| beta | Double | 0.0 | ... |
| gamma | Double | 0.0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Superellipsoid
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| radiusX | Double | 1.0 | ... |
| radiusY | Double | 1.0 | ... |
| radiusZ | Double | 1.0 | ... |
| epsilon1 | Double | 1.0 | ... |
| epsilon2 | Double | 1.0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
SurfaceAdaptor
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Mesh/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
http://www.opensource.org/licenses/bsd-license.php
Parent:
Children:
Description:
SurfaceAdaptor is a type of MeshAdaptor. It allows you to selectively change the top surface of a mesh without altering the underlying layers.
Questions: Is SurfaceAdaptor useful when dealing with conditions with highly stratified materials?
Where forces acting on material being modelled only affect the surface and don't penetrate the bulk of the material?
Useful as a quick approximation because you're interested only in examining the surface?
TODO: Does it strictly deal with the top layer only, or can you set the depth to which the SurfaceAdaptor goes? This has implications for mesh deformation, level of detail, size of “cells” etc.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| surfaceType | String | "" | The type of surface to be used - can be "wedge", "sine" or "cosine" |
| offset | Double | 0.0 | The length of the flat section before the slope of a wedge begins |
| gradient | Double | 0.5 | The gradient of the slope of a wedge |
| amplitude | Double | 1.0 | The amplitude of a sine/cosine wave |
| frequency | Double | 1.0 | The frequency of a sine/cosine wave |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Swarm
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
The main class representing a swarm of particles. This class is intended
as a means of consolidating all the other components used to manage swarms,
as well as providing convienient interfaces to manipulate them.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | Integer | 0 | The number of spatial dimensions the swarm will exist in. |
| cellParticleTblDelta | Integer | DEFAULT_CELL_PARTICLE_TBL_DELTA | As particles are added to a cell in a swarm there will usually be a need to increase the size, this parameter determines by how much the table will be extended each time. |
| extraParticlesFactor | Double | DEFAULT_EXTRA_PARTICLES_FACTOR | Similar to cellParticleTblDelta but for the particles array. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| CellLayout | True | The CellLayout class to use to determine how the cells that contain particles are defined. | CellLayout | |
| ParticleLayout | True | An instance of the ParticleLayout class that will be used to determine how to initially place particles in each cell. | ParticleLayout |
SwarmDump
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
Dumps all the information from the Swarm into a binary file. Occurs on the 'Dump' Entry Point specified by the 'dumpEvery' parameter in your imput file. This component will used HDF5 if it is installed.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| newFileEachTime | Bool | True | The flag set whether you want the file to re-written over each output step or if you want a new file time. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| AbstractContext | True | The current context we are working in. | context | |
| Swarm | True | A list of swarms that out want to output. | Swarm |
SwarmShapeVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Stg_Shape | True | ... | self->shapeName |
SwarmVariable
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dofCount | UnsignedInt | 0 | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Swarm | True | ... | Swarm | |
| Variable | No | ... | Variable |
TimeIntegratee
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Description:
A general class which integrates each element in a Variable through time. It does this through a TimeDerivative method which it calls for each element in the Variable. This happens every time the TimeIntegrator that this object is attached to executes (This should happen on the AbstractContext_EP_Step EntryPoint.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| allowFallbackToFirstOrder | Bool | False |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Variable | No | This is a variable containing all the elements that the TimeIntegrator is integrating through time. | Variable | |
| TimeIntegrator | True | This is the TimeIntegrator that this object will attach itself to. When this TimeIntegrator gets run, it will integrate this object through time. | TimeIntegrator | |
| Stg_Component | True | This is a list of Components that this class stores pointers to. This is so that you can get extra information in the TimeDerivative function if the user wants to. | dataName |
TimeIntegrator
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Stg_Component
Children:
Description:
This is a general class designed to integrate several TimeIntegratee objects through time. When one of these is created, it puts a Hook on the AbstractContext_EP_StepClass EntryPoint so that the Execute function for this class runs at the end of every timestep. This execute function then integrates every TimeIntegratee that has been registered to it through time.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| order | UnsignedInt | 1 | The order of the integration. Possible values here are 1, 2 or 4. If 1 is given then it integrates using an Euler method. If 2 or 4 are given then the schemes are Runge Kutta 2 (RK2) or Runge Kutta 4 (RK4) respectively. |
| simultaneous | Bool | False | ... |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| AbstractContext | True | This is the context which will run the Step entry point, on which the TimeIntegrator will add itself. | context |
TriGaussParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | Int | 3 | Number of spatial dimensions for the simulation. This value is taken from the root dictionary and should never be specified otherwise. |
| particlesPerCell | Int | 1 | Number of particles to use in the cell. This value is taken from the root dictionary and should never be specified otherwise. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
TriSingleCellLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
Single particle cell denoted by a (right angled) triangular arrangment of nodes.
Example:
Params
| Name | Type | Default | Description |
|---|---|---|---|
| dim | Integer | 0 | Dimensionality of the cell. |
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
Union
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Shape/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Stg_Shape | True | ... | nameShape[1] | |
| Stg_Shape | True | ... | nameShape |
UnionParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Swarm/src
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
https://csd.vpac.org/twiki/bin/view/Stgermain/SoftwareLicense
Parent:
Children:
Description:
This is a particle layout that simply combines many particle layouts together into one. When one particle layout finishes initialises all its particles, then the next one begins.
Example:
-
ParticleLayout1
ParticleLayout2
ParticleLayout3
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| GlobalParticleLayout | True | This is a list of all the particle layouts that you want to combine into one. | ParticleLayoutList |
WallVC
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Utils/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
...
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|
WithinShapeParticleLayout
Organisation:
VPAC
Project:
StgDomain
Location:
./StgDomain/Discretisation/Swarm/src/
Project Web:
http://www.stgermainproject.org/StgDomain.html
Copyright:
StGermain Framework. Copyright (C) 2003-2005 VPAC.
License:
The Gnu Lesser General Public License http://www.gnu.org/licenses/lgpl.html
Parent:
Children:
Description:
This uses the SpaceFillerParticleLayout class to choose quasi-random particle positions, but it only places a particle there if it is within a particular shape.
Example:
Params
| Name | Type | Default | Description |
|---|
Dependencies
| Type | Essential | Description | Name | FallbackKey |
|---|---|---|---|---|
| Stg_Shape | True | This is the shape within which all the particles will be laid out. | shape |
in the equation
in the equation
in the equation