OpenCMISS-Zinc C++ API Documentation
|
A field calculating the integral over a mesh. More...
#include <fieldmeshoperators.hpp>
Additional Inherited Members | |
Public Types inherited from OpenCMISS::Zinc::Field | |
enum | ChangeFlag { CHANGE_FLAG_NONE = CMZN_FIELD_CHANGE_FLAG_NONE, CHANGE_FLAG_ADD = CMZN_FIELD_CHANGE_FLAG_ADD, CHANGE_FLAG_REMOVE = CMZN_FIELD_CHANGE_FLAG_REMOVE, CHANGE_FLAG_IDENTIFIER = CMZN_FIELD_CHANGE_FLAG_IDENTIFIER, CHANGE_FLAG_DEFINITION = CMZN_FIELD_CHANGE_FLAG_DEFINITION, CHANGE_FLAG_FULL_RESULT = CMZN_FIELD_CHANGE_FLAG_FULL_RESULT, CHANGE_FLAG_PARTIAL_RESULT = CMZN_FIELD_CHANGE_FLAG_PARTIAL_RESULT, CHANGE_FLAG_RESULT = CMZN_FIELD_CHANGE_FLAG_RESULT, CHANGE_FLAG_FINAL = CMZN_FIELD_CHANGE_FLAG_FINAL } |
enum | CoordinateSystemType { COORDINATE_SYSTEM_TYPE_INVALID = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_INVALID, COORDINATE_SYSTEM_TYPE_RECTANGULAR_CARTESIAN = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_RECTANGULAR_CARTESIAN, COORDINATE_SYSTEM_TYPE_CYLINDRICAL_POLAR = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_CYLINDRICAL_POLAR, COORDINATE_SYSTEM_TYPE_SPHERICAL_POLAR = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_SPHERICAL_POLAR, COORDINATE_SYSTEM_TYPE_PROLATE_SPHEROIDAL = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_PROLATE_SPHEROIDAL, COORDINATE_SYSTEM_TYPE_OBLATE_SPHEROIDAL = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_OBLATE_SPHEROIDAL, COORDINATE_SYSTEM_TYPE_FIBRE = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_FIBRE } |
enum | DomainType { DOMAIN_TYPE_INVALID = CMZN_FIELD_DOMAIN_TYPE_INVALID, DOMAIN_TYPE_POINT = CMZN_FIELD_DOMAIN_TYPE_POINT, DOMAIN_TYPE_NODES = CMZN_FIELD_DOMAIN_TYPE_NODES, DOMAIN_TYPE_DATAPOINTS = CMZN_FIELD_DOMAIN_TYPE_DATAPOINTS, DOMAIN_TYPE_MESH1D = CMZN_FIELD_DOMAIN_TYPE_MESH1D, DOMAIN_TYPE_MESH2D = CMZN_FIELD_DOMAIN_TYPE_MESH2D, DOMAIN_TYPE_MESH3D = CMZN_FIELD_DOMAIN_TYPE_MESH3D, DOMAIN_TYPE_MESH_HIGHEST_DIMENSION = CMZN_FIELD_DOMAIN_TYPE_MESH_HIGHEST_DIMENSION } |
enum | ValueType { VALUE_TYPE_INVALID = CMZN_FIELD_VALUE_TYPE_INVALID, VALUE_TYPE_REAL = CMZN_FIELD_VALUE_TYPE_REAL, VALUE_TYPE_STRING = CMZN_FIELD_VALUE_TYPE_STRING, VALUE_TYPE_MESH_LOCATION = CMZN_FIELD_VALUE_TYPE_MESH_LOCATION } |
typedef int | ChangeFlags |
typedef int | DomainTypes |
Protected Attributes inherited from OpenCMISS::Zinc::Field | |
cmzn_field_id | id |
A field calculating the integral over a mesh.
A field calculating the integral over a mesh of integrand.dV for volume in 3-D, alternatively dA for area in 2-D, or dL for length in 1-D. An integrand of constant 1.0 combined with the RC coordinate field gives the volume, area or length, depending on the mesh dimension. Note: uses absolute value of dV/dA/dL so works with right- or left- handed element local coordinate systems. However, cannot handle elements that are partly or completely inverted from expected handedness.
|
inline |
Get element quadrature rule for numerical integration.
|
inline |
Get the numbers of quadrature points in each element axis.
valuesOutCount | Size of the values array i.e. the requested count. Pass 0 to request the number of values set. |
valuesOut | Array to receive numbers of quadrature points. Values for dimensions beyond the size set use the last value set. |
|
inline |
Set element quadrature rule for numerical integration. The current numbers of quadrature points remains unchanged, and can be set by a separate API method.
quadratureRule | The quadrature rule to use. |
|
inline |
Set the numbers of quadrature points in each element axis. The numbers are applied on the top-level-element with the appropriate values inherited on faces and lines; this is only important if different numbers are used in each element axis. Simplex elements use the maximum number set on any linked dimension. For 1-D Gaussian quadrature, N points exactly integrates a polynomial of degree 2N - 1, however 1 more point than the degree is often needed to avoid spurious modes in many numerical solutions. Simplex elements use specialised point arrangements that are sufficient for integrating a polynomial with the same degree as the number of points. The maximum number of Gauss points on each element axis is currently 4; if a higher number is supplied, only 4 are used. There is no upper limit on the numbers of points with midpoint quadrature.
valuesInCount | Size of the values array, at least 1. |
valuesIn | Array containing numbers of quadrature points >=1, applied on the corresponding element axis, with the last value in the arrray applying on all subsequent element axes. For example [1, 2, 3] gives 1 point on xi1, 2 points on xi2 and 3 points on xi3; [2] gives 2 points on all axes. Use of different numbers is generally only applicable to meshes with particular functions or geometries aligned with the same element local xi direction in all elements; for example a tubular mesh with bicubic elements around the exterior (xi1 and xi2) and linear through the thickness (x3) would benefit from using [4, 4, 2] points for full integration. |