IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor > Class Template Reference

Generic 3D structured mesh with collections of named scalar, vector, tensor and index fields. More...

+ Inheritance diagram for IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >:
+ Collaboration diagram for IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >:

Public Member Functions

 StructuredMesh3d ()
 Constructs a new empty 3D field (no elements contained) with no name and no description. More...
 
 StructuredMesh3d (int dim1, int dim2, int dim3)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredMesh3d (int dim1, int dim2, int dim3, string fieldName)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredMesh3d (int dim1, int dim2, int dim3, string fieldName, string fieldDescription)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
TIndexField GetIndexField (string name)
 Returns index field with the specified name. More...
 
TIndexField GetIndexField (int index)
 Returns the index field with the specified index. More...
 
virtual TIndexField CreateIndexField (string fieldName, string fieldDescription)
 Creates and returns a new index field of dimensions that match dimensions of the current structured mesh, and with specified name and description. More...
 
TIndexField AddIndexField (string fieldName, string fieldDescription)
 Creates a new index field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection. More...
 
void AddIndexField (TIndexField field, string name)
 Adds the specified index field to the collection of index fields under the specified name. More...
 
void AddIndexField (TIndexField field)
 Adds the specified index field to the collection of index fields. More...
 
void RemoveIndexField (string fieldName)
 Removed the field with the specified name from the current field collection. More...
 
TScalarField GetScalarField (string name)
 Returns scalar field with the specified name. More...
 
TScalarField GetScalarField (int index)
 Returns the scalar field with the specified index. More...
 
virtual TScalarField CreateScalarField (string fieldName, string fieldDescription)
 Creates and returns a new scalar field of dimensions that match dimensions of the current structured mesh, and with specified name and description. More...
 
TScalarField AddScalarField (string fieldName, string fieldDescription)
 Creates a new scalar field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection. More...
 
void AddScalarField (TScalarField field, string name)
 Adds the specified scalar field to the collection of scalar fields under the specified name. More...
 
void AddScalarField (TScalarField field)
 Adds the specified scalar field to the collection of scalar fields. More...
 
void RemoveScalarField (string fieldName)
 Removed the field with the specified name from the current field collection. More...
 
TVectorField GetVectorField (string name)
 Returns vector field with the specified name. More...
 
TVectorField GetVectorField (int index)
 Returns the vector field with the specified index. More...
 
virtual TVectorField CreateVectorField (string fieldName, string fieldDescription)
 Creates and returns a new vector field of dimensions that match dimensions of the current structured mesh, and with specified name and description. More...
 
TVectorField AddVectorField (string fieldName, string fieldDescription)
 Creates a new vector field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection. More...
 
void AddVectorField (TVectorField field, string name)
 Adds the specified vector field to the collection of vector fields under the specified name. More...
 
void AddVectorField (TVectorField field)
 Adds the specified vector field to the collection of vector fields. More...
 
void RemoveVectorField (string fieldName)
 Removed the field with the specified name from the current field collection. More...
 
TTensorField GetTensorField (string name)
 Returns tensor field with the specified name. More...
 
TTensorField GetTensorField (int index)
 Returns the tensor field with the specified index. More...
 
virtual TTensorField CreateTensorField (string fieldName, string fieldDescription)
 Creates and returns a new tensor field of dimensions that match dimensions of the current structured mesh, and with specified name and description. More...
 
TTensorField AddTensorField (string fieldName, string fieldDescription)
 Creates a new tensor field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection. More...
 
void AddTensorField (TTensorField field, string name)
 Adds the specified tensor field to the collection of tensor fields under the specified name. More...
 
void AddTensorField (TTensorField field)
 Adds the specified tensor field to the collection of tensor fields. More...
 
void RemoveTensorField (string fieldName)
 Removed the field with the specified name from the current field collection. More...
 
- Public Member Functions inherited from IG.Num.StructuredMeshGeometry3d< TCoord >
 StructuredMeshGeometry3d ()
 Constructs a new empty 3D field (no elements contained) with no name and no description. More...
 
 StructuredMeshGeometry3d (int dim1, int dim2, int dim3)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredMeshGeometry3d (int dim1, int dim2, int dim3, string fieldName)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredMeshGeometry3d (int dim1, int dim2, int dim3, string fieldName, string fieldDescription)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
- Public Member Functions inherited from IG.Num.StructuredField3d< TElement >
 StructuredField3d ()
 Constructs a new empty 3D field (no elements contained) with no name and no description. More...
 
 StructuredField3d (int dim1, int dim2, int dim3)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredField3d (int dim1, int dim2, int dim3, string fieldName)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredField3d (int dim1, int dim2, int dim3, string fieldName, string fieldDescription)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
int GetIndex (int i1, int i2, int i3)
 Returns the linear index of the component that is identified by 3 separate indices. More...
 
void getIndices (int index, out int i1, out int i2, out int i3)
 Converts linear (contiguous) index to 3 separate indices for 3 dimensions. More...
 
virtual void SetDimensions (int d1, int d2, int d3)
 Sets all three dimensions of the current 3D structured field. More...
 
- Public Member Functions inherited from IG.Num.Field< TElement >
 Field ()
 Constructs a new empty field (no elements contained) with no name and no description. More...
 
 Field (int numElements)
 Creates a new field with the specified number of elements. More...
 
 Field (int numElements, string fieldName)
 Constructs a new field with the specified number of elements and name. More...
 
 Field (int numElements, string fieldName, string fieldDescription)
 Constructs a new field with the specified number of elements, name and description. Table of elements is allocated. More...
 
virtual void SetLength (int newLength)
 Sets the length of the current field to the specified value. More...
 
TElement GetValue (int index)
 Returns element of the field at the specified index. More...
 
void SetValue (int index, TElement value)
 Sets the element at the specified index to the specified value. More...
 

Properties

FieldCollection3d< TIndexField,
TIndex > 
IndexFields [get]
 Gets the collection of index fields of the current mesh. More...
 
TIndexField ActiveIndexField [get, protected set]
 Gets active index field. Has protected setter. More...
 
string ActiveIndexFieldName [get, set]
 Gets or sets name of the currently active index field. This determines the currently active index field. More...
 
int NumIndexFields [get]
 Gets the number of index fields. More...
 
FieldCollection3d
< TScalarField, TScalar > 
ScalarFields [get]
 Gets the collection of scalar fields of the current mesh. More...
 
TScalarField ActiveScalarField [get, protected set]
 Gets active scalar field. Has protected setter. More...
 
string ActiveScalarFieldName [get, set]
 Gets or sets name of the currently active scalar field. This determines the currently active scalar field. More...
 
int NumScalarFields [get]
 Gets the number of scalar fields. More...
 
FieldCollection3d
< TVectorField, TVector > 
VectorFields [get]
 Gets the collection of vector fields of the current mesh. More...
 
TVectorField ActiveVectorField [get, protected set]
 Gets active vector field. Has protected setter. More...
 
string ActiveVectorFieldName [get, set]
 Gets or sets name of the currently active vector field. This determines the currently active vector field. More...
 
int NumVectorFields [get]
 Gets the number of vector fields. More...
 
FieldCollection3d
< TTensorField, TTensor > 
TensorFields [get]
 Gets the collection of tensor fields of the current mesh. More...
 
TTensorField ActiveTensorField [get, protected set]
 Gets active tensor field. Has protected setter. More...
 
string ActiveTensorFieldName [get, set]
 Gets or sets name of the currently active tensor field. This determines the currently active tensor field. More...
 
int NumTensorFields [get]
 Gets the number of tensor fields. More...
 
- Properties inherited from IG.Num.StructuredMeshGeometry3d< TCoord >
virtual TCoord[] Coordinates [get, set]
 Array of coordinates. More...
 
- Properties inherited from IG.Num.StructuredField3d< TElement >
TElement this[int i1, int i2, int i3] [get, set]
 Returns element of the field at specified indices. More...
 
int Dim1 [get, set]
 Returns the first dimenson of the structured mesh (number of mesh points in the first direction). More...
 
int Dim2 [get, set]
 Returns the second dimenson of the structured mesh (number of mesh points in the second direction). More...
 
int Dim3 [get, set]
 Gets or sets the second dimenson of the structured mesh (number of mesh points in the second direction). More...
 
- Properties inherited from IG.Num.Field< TElement >
string Name [get, set]
 Name of the field. More...
 
string Description [get, set]
 Description of the field. More...
 
virtual TElement[] Values [get, protected set]
 Array of field values. More...
 
int Length [get, protected set]
 Number of elements. More...
 
TElement this[int index] [get, set]
 Access to elements through element index. More...
 

Private Attributes

FieldCollection3d< TIndexField,
TIndex > 
_indexFields
 
TIndexField _activeIndexField
 
FieldCollection3d
< TScalarField, TScalar > 
_scalarFields
 
TScalarField _activeScalarField
 
FieldCollection3d
< TVectorField, TVector > 
_vectorFields
 
TVectorField _activeVectorField
 
FieldCollection3d
< TTensorField, TTensor > 
_tensorFields
 
TTensorField _activeTensorField
 

Additional Inherited Members

- Static Public Member Functions inherited from IG.Num.StructuredField3d< TElement >
static void MapCoordinatesPlain (StructuredField3d< vec3 > referenceField, StructuredField3d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid. More...
 
static void MapCoordinates (StructuredField3d< vec3 > referenceField, StructuredField3d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid. More...
 
static void MapCoordinatesToScalarsPlain (StructuredField3d< vec3 > referenceField, StructuredField3d< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (StructuredField3d< vec3 > referenceField, StructuredField3d< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates (unconnected) unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of unstructured grid based on a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
- Static Public Member Functions inherited from IG.Num.Field< TElement >
static void UpdateBounds (Field< double > field, IBoundingBox bounds, int componentIndex)
 Updates the specified component of the specified bounds (object of type IBoundingBox) in such a way that all elements of the specified field will fit within the bounds. More...
 
static void UpdateBounds< TEl > (Field< TEl > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all non-null vectors on the specified field will fit within the bounds. More...
 
static void UpdateBounds (Field< vec3 > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all 3D vector elements of type vec3 of the specified field will fit within the bounds. More...
 
static void MapCoordinatesPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 scalar functions of 3 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 3 scalar functions of 3 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates2dPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. Mapping functions act only on the first two coordinates of each point. More...
 
static void MapCoordinates2d (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 3 scalar functions of 2 variables that map the first two coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates1dPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 functions of 1 variable that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinates1d (Field< vec3 > referenceField, Field< vec3 > targetField, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 functions of 1 variable that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinatesToScalarsPlain (Field< vec3 > referenceField, Field< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (Field< vec3 > referenceField, Field< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void UpdateBounds (Field< vec2 > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all 2D vector elements of type vec2 of the specified field will fit within the bounds. More...
 
static void MapCoordinatesPlain (Field< vec2 > referenceField, Field< vec2 > targetField, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 2 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates (Field< vec2 > referenceField, Field< vec2 > targetField, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 2 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates1dPlain (Field< vec2 > referenceField, Field< vec2 > targetField, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a set of unstructured 2D points (point cloud) from a reference set according to 2 functions of 1 variables that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinates1d (Field< vec2 > referenceField, Field< vec2 > targetField, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a set of unstructured 2D points (point cloud) from a reference set according to 2 functions of 1 variables that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinatesToScalarsPlain (Field< vec2 > referenceField, Field< double > targetScalarField, IFunc2d scalarMap)
 Generates scalar values for a 2D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (Field< vec2 > referenceField, Field< double > targetScalarField, IFunc2d scalarMap)
 Generates scalar values for a 2D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates2dPlain (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 2D unstructured grid embedded in 3D from a regular grid with grid directions parallel to the first two coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates2d (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 2D unstructured grid embedded in 3D from a regular grid with grid directions parallel to the first two coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates2dPlain (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates2d (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates1dPlain (Field< vec3 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid from a regular grid with grid direction parallel to X coordinate axes and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1d (Field< vec3 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid from a regular grid with grid direction parallel to X coordinate axis and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1dPlain (Field< vec3 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a 1D unstructured grid of a parametric curve according to functions specifying the x, y, and z coordinates in terms of three functions of 1 variable. More...
 
static void GenerateCoordinates1d (Field< vec3 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a 1D unstructured grid of a parametric curve according to functions specifying the x, y, and z coordinates in terms of three functions of 1 variables. More...
 
static void GenerateCoordinates1dPlain (Field< vec2 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid embedded in 2D space from a regular grid with grid direction parallel to X coordinate axes and equidistantly arranged nodes. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid embedded in 2D space from a regular grid with grid direction parallel to X coordinate axis and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1dPlain (Field< vec2 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a 1D unstructured grid embedded in 2D space of a parametric curve according to functions specifying the x, and y coordinates in terms of 2 functions of 1 variable. More...
 
static void GenerateCoordinates1d (Field< vec2 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a 1D unstructured grid embedded in 2D space of a parametric curve according to functions specifying the x, and y coordinates in terms of 2 functions of 1 variable. More...
 
static void Example ()
 
- Protected Attributes inherited from IG.Num.Field< TElement >
TElement[] _values
 

Detailed Description

Generic 3D structured mesh with collections of named scalar, vector, tensor and index fields.

Fields are created on demand (lazy evaluation).

Template Parameters
TCoordType of coordinates for description of mesh geometry.
TIndexFieldType of contained index fields.
TIndexType of elements of contained index fields.
TScalarFieldType of contained scalar fields.
TScalarType of elements of contained scalar fields.
TVectorFieldType of contained vector fields.
TVectorType of elements of contained vector fields.
TTensorFieldType of contained tensor fields.
TTensorType of elements of contained tensor fields.

$A Igor Jan08 Mar09;

Type Constraints
TIndexField :StructuredField3d<TIndex> 
TIndexField :new() 
TScalarField :StructuredField3d<TScalar> 
TScalarField :new() 
TVectorField :StructuredField3d<TVector> 
TVectorField :new() 
TTensorField :StructuredField3d<TTensor> 
TTensorField :new() 

Constructor & Destructor Documentation

IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.StructuredMesh3d ( )
inline

Constructs a new empty 3D field (no elements contained) with no name and no description.

IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.StructuredMesh3d ( int  dim1,
int  dim2,
int  dim3 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
dim1First dimension of the field (number of grid nodes in the first direction).
dim2Second dimension of the field.
dim3Third dimension of the field.
IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.StructuredMesh3d ( int  dim1,
int  dim2,
int  dim3,
string  fieldName 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
dim1First dimension of the field (number of grid nodes in the first direction).
dim2Second dimension of the field.
dim3Third dimension of the field.
fieldNameName of the field.
IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.StructuredMesh3d ( int  dim1,
int  dim2,
int  dim3,
string  fieldName,
string  fieldDescription 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
dim1First dimension of the field (number of grid nodes in the first direction).
dim2Second dimension of the field.
dim3Third dimension of the field.
fieldNameName of the field.
fieldDescriptionField description.

Member Function Documentation

TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetIndexField ( string  name)
inline

Returns index field with the specified name.

Parameters
nameName of the index field to be returned.
TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetIndexField ( int  index)
inline

Returns the index field with the specified index.

Warning: numbering of index fields changes when fields are added or removed, therefore this method should only be called within the time (after the index of a particular field is known) when fields were not added or removed.

Parameters
indexConsecutive index of the index field to be returned.
virtual TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.CreateIndexField ( string  fieldName,
string  fieldDescription 
)
inlinevirtual

Creates and returns a new index field of dimensions that match dimensions of the current structured mesh, and with specified name and description.

Parameters
fieldNameName of the created field (can be null).
fieldDescriptionDescription of the created field (can be null).
TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddIndexField ( string  fieldName,
string  fieldDescription 
)
inline

Creates a new index field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection.

Parameters
fieldNameName of the created field (normally it shouldn't be null though this is legal).
fieldDescriptionDescription of the created field (can be null).
Returns
The created field that is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddIndexField ( TIndexField  field,
string  name 
)
inline

Adds the specified index field to the collection of index fields under the specified name.

If the field already has a name then its name is replaced by the specified name, unless the specified name is null.

Parameters
fieldField to be added to the collection.
nameName under which the field is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddIndexField ( TIndexField  field)
inline

Adds the specified index field to the collection of index fields.

Parameters
fieldField to be added.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.RemoveIndexField ( string  fieldName)
inline

Removed the field with the specified name from the current field collection.

Parameters
fieldNameName of the field to be removed.
TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetScalarField ( string  name)
inline

Returns scalar field with the specified name.

Parameters
nameName of the scalar field to be returned.
TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetScalarField ( int  index)
inline

Returns the scalar field with the specified index.

Warning: numbering of scalar fields changes when fields are added or removed, therefore this method should only be called within the time (after the index of a particular field is known) when fields were not added or removed.

Parameters
indexConsecutive index of the scalar field to be returned.
virtual TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.CreateScalarField ( string  fieldName,
string  fieldDescription 
)
inlinevirtual

Creates and returns a new scalar field of dimensions that match dimensions of the current structured mesh, and with specified name and description.

Parameters
fieldNameName of the created field (can be null).
fieldDescriptionDescription of the created field (can be null).
TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddScalarField ( string  fieldName,
string  fieldDescription 
)
inline

Creates a new scalar field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection.

Parameters
fieldNameName of the created field (normally it shouldn't be null though this is legal).
fieldDescriptionDescription of the created field (can be null).
Returns
The created field that is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddScalarField ( TScalarField  field,
string  name 
)
inline

Adds the specified scalar field to the collection of scalar fields under the specified name.

If the field already has a name then its name is replaced by the specified name, unless the specified name is null.

Parameters
fieldField to be added to the collection.
nameName under which the field is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddScalarField ( TScalarField  field)
inline

Adds the specified scalar field to the collection of scalar fields.

Parameters
fieldField to be added.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.RemoveScalarField ( string  fieldName)
inline

Removed the field with the specified name from the current field collection.

Parameters
fieldNameName of the field to be removed.
TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetVectorField ( string  name)
inline

Returns vector field with the specified name.

Parameters
nameName of the vector field to be returned.
TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetVectorField ( int  index)
inline

Returns the vector field with the specified index.

Warning: numbering of vector fields changes when fields are added or removed, therefore this method should only be called within the time (after the index of a particular field is known) when fields were not added or removed.

Parameters
indexConsecutive index of the vector field to be returned.
virtual TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.CreateVectorField ( string  fieldName,
string  fieldDescription 
)
inlinevirtual

Creates and returns a new vector field of dimensions that match dimensions of the current structured mesh, and with specified name and description.

Parameters
fieldNameName of the created field (can be null).
fieldDescriptionDescription of the created field (can be null).
TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddVectorField ( string  fieldName,
string  fieldDescription 
)
inline

Creates a new vector field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection.

Parameters
fieldNameName of the created field (normally it shouldn't be null though this is legal).
fieldDescriptionDescription of the created field (can be null).
Returns
The created field that is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddVectorField ( TVectorField  field,
string  name 
)
inline

Adds the specified vector field to the collection of vector fields under the specified name.

If the field already has a name then its name is replaced by the specified name, unless the specified name is null.

Parameters
fieldField to be added to the collection.
nameName under which the field is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddVectorField ( TVectorField  field)
inline

Adds the specified vector field to the collection of vector fields.

Parameters
fieldField to be added.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.RemoveVectorField ( string  fieldName)
inline

Removed the field with the specified name from the current field collection.

Parameters
fieldNameName of the field to be removed.
TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetTensorField ( string  name)
inline

Returns tensor field with the specified name.

Parameters
nameName of the tensor field to be returned.
TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.GetTensorField ( int  index)
inline

Returns the tensor field with the specified index.

Warning: numbering of tensor fields changes when fields are added or removed, therefore this method should only be called within the time (after the index of a particular field is known) when fields were not added or removed.

Parameters
indexConsecutive index of the tensor field to be returned.
virtual TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.CreateTensorField ( string  fieldName,
string  fieldDescription 
)
inlinevirtual

Creates and returns a new tensor field of dimensions that match dimensions of the current structured mesh, and with specified name and description.

Parameters
fieldNameName of the created field (can be null).
fieldDescriptionDescription of the created field (can be null).
TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddTensorField ( string  fieldName,
string  fieldDescription 
)
inline

Creates a new tensor field of dimensions that match dimensions of the current 3D structuredmesh, and specified with name and description, and adds it to the current collection.

Parameters
fieldNameName of the created field (normally it shouldn't be null though this is legal).
fieldDescriptionDescription of the created field (can be null).
Returns
The created field that is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddTensorField ( TTensorField  field,
string  name 
)
inline

Adds the specified tensor field to the collection of tensor fields under the specified name.

If the field already has a name then its name is replaced by the specified name, unless the specified name is null.

Parameters
fieldField to be added to the collection.
nameName under which the field is added to the collection.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.AddTensorField ( TTensorField  field)
inline

Adds the specified tensor field to the collection of tensor fields.

Parameters
fieldField to be added.
void IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.RemoveTensorField ( string  fieldName)
inline

Removed the field with the specified name from the current field collection.

Parameters
fieldNameName of the field to be removed.

Member Data Documentation

FieldCollection3d<TIndexField, TIndex> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._indexFields
private
TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._activeIndexField
private
FieldCollection3d<TScalarField, TScalar> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._scalarFields
private
TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._activeScalarField
private
FieldCollection3d<TVectorField, TVector> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._vectorFields
private
TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._activeVectorField
private
FieldCollection3d<TTensorField, TTensor> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._tensorFields
private
TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >._activeTensorField
private

Property Documentation

FieldCollection3d<TIndexField, TIndex> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.IndexFields
getprotected

Gets the collection of index fields of the current mesh.

Created on first access (lazy evaluation).

Property is protected since the collection should not be accessed directly.

TIndexField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveIndexField
getprotected set

Gets active index field. Has protected setter.

If there is currently no active field then one is created.

string IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveIndexFieldName
getset

Gets or sets name of the currently active index field. This determines the currently active index field.

int IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.NumIndexFields
get

Gets the number of index fields.

FieldCollection3d<TScalarField, TScalar> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ScalarFields
getprotected

Gets the collection of scalar fields of the current mesh.

Created on first access (lazy evaluation).

Property is protected since the collection should not be accessed directly.

TScalarField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveScalarField
getprotected set

Gets active scalar field. Has protected setter.

If there is currently no active field then one is created.

string IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveScalarFieldName
getset

Gets or sets name of the currently active scalar field. This determines the currently active scalar field.

int IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.NumScalarFields
get

Gets the number of scalar fields.

FieldCollection3d<TVectorField, TVector> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.VectorFields
getprotected

Gets the collection of vector fields of the current mesh.

Created on first access (lazy evaluation).

Property is protected since the collection should not be accessed directly.

TVectorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveVectorField
getprotected set

Gets active vector field. Has protected setter.

If there is currently no active field then one is created.

string IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveVectorFieldName
getset

Gets or sets name of the currently active vector field. This determines the currently active vector field.

int IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.NumVectorFields
get

Gets the number of vector fields.

FieldCollection3d<TTensorField, TTensor> IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.TensorFields
getprotected

Gets the collection of tensor fields of the current mesh.

Created on first access (lazy evaluation).

Property is protected since the collection should not be accessed directly.

TTensorField IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveTensorField
getprotected set

Gets active tensor field. Has protected setter.

If there is currently no active field then one is created.

string IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.ActiveTensorFieldName
getset

Gets or sets name of the currently active tensor field. This determines the currently active tensor field.

int IG.Num.StructuredMesh3d< TCoord, TIndexField, TIndex, TScalarField, TScalar, TVectorField, TVector, TTensorField, TTensor >.NumTensorFields
get

Gets the number of tensor fields.


The documentation for this class was generated from the following file: