ESScript
Revision_
|
MeshAdapter implements the AbstractContinuousDomain interface for the Dudley library. More...
#include <MeshAdapter.h>
Public Types | |
typedef std::map< int, std::string > | FunctionSpaceNamesMapType |
Public Member Functions | |
MeshAdapter (Dudley_Mesh *dudleyMesh=0) | |
Constructor for MeshAdapter. | |
MeshAdapter (const MeshAdapter &in) | |
Copy constructor. | |
~MeshAdapter () | |
Destructor for MeshAdapter. As specified in the constructor this calls Dudley_Mesh_free for the pointer given to the constructor. | |
virtual int | getMPISize () const |
return the number of processors used for this domain | |
virtual int | getMPIRank () const |
return the number MPI rank of this processor | |
virtual void | MPIBarrier () const |
If compiled for MPI then execute an MPI_Barrier, else do nothing. | |
virtual bool | onMasterProcessor () const |
Return true if on MPI processor 0, else false. | |
unsigned int | getMPIComm () const |
void | write (const std::string &fileName) const |
Write the current mesh to a file with the given name. | |
void | Print_Mesh_Info (const bool full=false) const |
void | dump (const std::string &fileName) const |
dumps the mesh to a file with the given name. | |
Dudley_Mesh * | getDudley_Mesh () const |
return the pointer to the underlying dudley mesh structure | |
int | getTagFromSampleNo (int functionSpaceType, int sampleNo) const |
Return the tag key for the given sample number. | |
const int * | borrowSampleReferenceIDs (int functionSpaceType) const |
Return the reference number of the given sample number. | |
virtual bool | isValidFunctionSpaceType (int functionSpaceType) const |
Returns true if the given integer is a valid function space type for this domain. | |
virtual std::string | getDescription () const |
Return a description for this domain. | |
virtual std::string | functionSpaceTypeAsString (int functionSpaceType) const |
Return a description for the given function space type code. | |
void | setFunctionSpaceTypeNames () |
Build the table of function space type names. | |
virtual int | getContinuousFunctionCode () const |
Return a continuous FunctionSpace code. | |
virtual int | getReducedContinuousFunctionCode () const |
Return a continuous on reduced order nodes FunctionSpace code. | |
virtual int | getFunctionCode () const |
Return a function FunctionSpace code. | |
virtual int | getReducedFunctionCode () const |
Return a function with reduced integration order FunctionSpace code. | |
virtual int | getFunctionOnBoundaryCode () const |
Return a function on boundary FunctionSpace code. | |
virtual int | getReducedFunctionOnBoundaryCode () const |
Return a function on boundary with reduced integration order FunctionSpace code. | |
virtual int | getFunctionOnContactZeroCode () const |
Return a FunctionOnContactZero code. | |
virtual int | getReducedFunctionOnContactZeroCode () const |
Return a FunctionOnContactZero code with reduced integration order. | |
virtual int | getFunctionOnContactOneCode () const |
Return a FunctionOnContactOne code. | |
virtual int | getReducedFunctionOnContactOneCode () const |
Return a FunctionOnContactOne code with reduced integration order. | |
virtual int | getSolutionCode () const |
Return a Solution code. | |
virtual int | getReducedSolutionCode () const |
Return a ReducedSolution code. | |
virtual int | getDiracDeltaFunctionsCode () const |
Return a DiracDeltaFunctions code. | |
virtual int | getDim () const |
virtual StatusType | getStatus () const |
Returns a status indicator of the domain. The status identifier should be unique over the live time if the object but may be updated if changes to the domain happen, e.g. modifications to its geometry. | |
virtual int | getNumDataPointsGlobal () const |
Return the number of data points summed across all MPI processes. | |
virtual std::pair< int, int > | getDataShape (int functionSpaceCode) const |
Return the number of data points per sample, and the number of samples as a pair. | |
virtual void | setToX (escript::Data &arg) const |
copies the location of data points into arg. The domain of arg has to match this. has to be implemented by the actual Domain adapter. | |
virtual void | setTagMap (const std::string &name, int tag) |
sets a map from a clear tag name to a tag key | |
virtual int | getTag (const std::string &name) const |
Return the tag key for tag name. | |
virtual bool | isValidTagName (const std::string &name) const |
Returns true if name is a defined tage name. | |
virtual std::string | showTagNames () const |
Returns all tag names in a single string sperated by commas. | |
virtual void | setNewX (const escript::Data &arg) |
assigns new location to the domain | |
virtual void | interpolateOnDomain (escript::Data &target, const escript::Data &source) const |
interpolates data given on source onto target where source and target have to be given on the same domain. | |
virtual bool | probeInterpolationOnDomain (int functionSpaceType_source, int functionSpaceType_target) const |
virtual signed char | preferredInterpolationOnDomain (int functionSpaceType_source, int functionSpaceType_target) const |
bool | commonFunctionSpace (const std::vector< int > &fs, int &resultcode) const |
given a vector of FunctionSpace typecodes, pass back a code which then can all be interpolated to. | |
virtual void | interpolateACross (escript::Data &target, const escript::Data &source) const |
interpolates data given on source onto target where source and target are given on different domains. has to be implemented by the actual Domain adapter. | |
virtual bool | probeInterpolationACross (int functionSpaceType_source, const escript::AbstractDomain &targetDomain, int functionSpaceType_target) const |
determines whether interpolation from source to target is possible. Must be implemented by the actual Domain adapter | |
virtual void | setToNormal (escript::Data &out) const |
copies the surface normals at data points into out. The actual function space to be considered is defined by out. out has to be defined on this. | |
virtual void | setToSize (escript::Data &out) const |
copies the size of samples into out. The actual function space to be considered is defined by out. out has to be defined on this. | |
virtual void | setToGradient (escript::Data &grad, const escript::Data &arg) const |
copies the gradient of arg into grad. The actual function space to be considered for the gradient is defined by grad. arg and grad have to be defined on this. | |
virtual void | setToIntegrals (std::vector< double > &integrals, const escript::Data &arg) const |
copies the integrals of the function defined by arg into integrals. arg has to be defined on this. | |
virtual int | getSystemMatrixTypeId (const int solver, const int preconditioner, const int package, const bool symmetry) const |
return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, perconditioner, and symmetric matrix is used. | |
virtual int | getTransportTypeId (const int solver, const int preconditioner, const int package, const bool symmetry) const |
return the identifier of the transport problem type to be used when a particular solver, perconditioner, package and symmetric matrix is used. | |
virtual bool | isCellOriented (int functionSpaceCode) const |
returns true if data on this domain and a function space of type functionSpaceCode has to considered as cell centered data. | |
virtual bool | ownSample (int fs_code, index_t id) const |
virtual void | addPDEToSystem (escript::AbstractSystemMatrix &mat, escript::Data &rhs, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y, const escript::Data &d, const escript::Data &y, const escript::Data &d_contact, const escript::Data &y_contact, const escript::Data &d_dirac, const escript::Data &y_dirac) const |
adds a PDE onto the stiffness matrix mat and a rhs | |
virtual void | addPDEToLumpedSystem (escript::Data &mat, const escript::Data &D, const escript::Data &d, const escript::Data &d_dirac, const bool useHRZ) const |
adds a PDE onto the lumped stiffness matrix matrix | |
virtual void | addPDEToRHS (escript::Data &rhs, const escript::Data &X, const escript::Data &Y, const escript::Data &y, const escript::Data &y_contact, const escript::Data &y_dirac) const |
adds a PDE onto the stiffness matrix mat and a rhs | |
virtual void | addPDEToTransportProblem (escript::AbstractTransportProblem &tp, escript::Data &source, const escript::Data &M, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y, const escript::Data &d, const escript::Data &y, const escript::Data &d_contact, const escript::Data &y_contact, const escript::Data &d_dirac, const escript::Data &y_dirac) const |
adds a PDE onto a transport problem | |
escript::ASM_ptr | newSystemMatrix (const int row_blocksize, const escript::FunctionSpace &row_functionspace, const int column_blocksize, const escript::FunctionSpace &column_functionspace, const int type) const |
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros: | |
escript::ATP_ptr | newTransportProblem (const int blocksize, const escript::FunctionSpace &functionspace, const int type) const |
creates a TransportProblemAdapter | |
virtual escript::Data | getX () const |
returns locations in the FEM nodes | |
virtual escript::Data | getNormal () const |
return boundary normals at the quadrature point on the face elements | |
virtual escript::Data | getSize () const |
returns the element size | |
virtual bool | operator== (const escript::AbstractDomain &other) const |
comparison operators | |
virtual bool | operator!= (const escript::AbstractDomain &other) const |
virtual void | setTags (const int functionSpaceType, const int newTag, const escript::Data &mask) const |
assigns new tag newTag to all samples of functionspace with a positive value of mask for any its sample point. | |
virtual int | getNumberOfTagsInUse (int functionSpaceCode) const |
return the number of tags in use and a pointer to an array with the number of tags in use | |
virtual const int * | borrowListOfTagsInUse (int functionSpaceCode) const |
virtual bool | canTag (int functionSpaceCode) const |
Checks if this domain allows tags for the specified functionSpaceCode. | |
virtual int | getApproximationOrder (const int functionSpaceCode) const |
returns the approximation order used for a function space functionSpaceCode | |
bool | supportsContactElements () const |
Static Public Attributes | |
static const int | DegreesOfFreedom = DUDLEY_DEGREES_OF_FREEDOM |
static const int | ReducedDegreesOfFreedom = DUDLEY_REDUCED_DEGREES_OF_FREEDOM |
static const int | Nodes = DUDLEY_NODES |
static const int | ReducedNodes = DUDLEY_REDUCED_NODES |
static const int | Elements = DUDLEY_ELEMENTS |
static const int | ReducedElements = DUDLEY_REDUCED_ELEMENTS |
static const int | FaceElements = DUDLEY_FACE_ELEMENTS |
static const int | ReducedFaceElements = DUDLEY_REDUCED_FACE_ELEMENTS |
static const int | Points = DUDLEY_POINTS |
static const int | ContactElementsZero |
static const int | ReducedContactElementsZero |
static const int | ContactElementsOne |
static const int | ReducedContactElementsOne |
Private Member Functions | |
void | extractArgsFromDict (const boost::python::dict &arg, int &numData, char **&names, escriptDataC *&data, escriptDataC **&dataPtr) const |
Private Attributes | |
boost::shared_ptr< Dudley_Mesh > | m_dudleyMesh |
Static Private Attributes | |
static FunctionSpaceNamesMapType | m_functionSpaceTypeNames |
MeshAdapter implements the AbstractContinuousDomain interface for the Dudley library.
Description: MeshAdapter implements the AbstractContinuousDomain interface for the Dudley library.
typedef std::map<int, std::string> dudley::MeshAdapter::FunctionSpaceNamesMapType |
5B
dudley::MeshAdapter::MeshAdapter | ( | Dudley_Mesh * | dudleyMesh = 0 | ) |
Constructor for MeshAdapter.
Description: Constructor for MeshAdapter. The pointer passed to MeshAdapter is deleted using a call to Dudley_Mesh_free in the MeshAdapter destructor.
Throws: May throw an exception derived from EsysException
dudleyMesh | Input - A pointer to the externally constructed dudley mesh.The pointer passed to MeshAdapter is deleted using a call to Dudley_Mesh_free in the MeshAdapter destructor. |
dudley::MeshAdapter::MeshAdapter | ( | const MeshAdapter & | in | ) |
Copy constructor.
References setFunctionSpaceTypeNames().
dudley::MeshAdapter::~MeshAdapter | ( | ) |
Destructor for MeshAdapter. As specified in the constructor this calls Dudley_Mesh_free for the pointer given to the constructor.
References Dudley_Mesh_free(), and m_dudleyMesh.
|
virtual |
adds a PDE onto the lumped stiffness matrix matrix
References dudley::checkDudleyError(), Dudley_Assemble_LumpedSystem(), Dudley_Mesh::Elements, Dudley_Mesh::FaceElements, m_dudleyMesh, and Dudley_Mesh::Nodes.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
adds a PDE onto the stiffness matrix mat and a rhs
References dudley::checkDudleyError(), Dudley_Assemble_PDE(), Dudley_Mesh::Elements, Dudley_Mesh::FaceElements, m_dudleyMesh, Dudley_Mesh::Nodes, and Dudley_Mesh::Points.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
adds a PDE onto the stiffness matrix mat and a rhs
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
adds a PDE onto a transport problem
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
References DegreesOfFreedom, Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, ReducedNodes, Dudley_NodeFile::tagsInUse, and Dudley_ElementFile::tagsInUse.
const int * dudley::MeshAdapter::borrowSampleReferenceIDs | ( | int | functionSpaceType | ) | const |
Return the reference number of the given sample number.
functionSpaceType | Input - The function space type. |
References DegreesOfFreedom, Dudley_NodeFile::degreesOfFreedomId, Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, getDescription(), Dudley_NodeFile::Id, Dudley_ElementFile::Id, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, Dudley_NodeFile::reducedDegreesOfFreedomId, ReducedElements, ReducedFaceElements, ReducedNodes, and Dudley_NodeFile::reducedNodesId.
|
virtual |
Checks if this domain allows tags for the specified functionSpaceCode.
References DegreesOfFreedom, Elements, FaceElements, Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
bool dudley::MeshAdapter::commonFunctionSpace | ( | const std::vector< int > & | fs, |
int & | resultcode | ||
) | const |
given a vector of FunctionSpace typecodes, pass back a code which then can all be interpolated to.
References DegreesOfFreedom, Elements, FaceElements, Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
void dudley::MeshAdapter::dump | ( | const std::string & | fileName | ) | const |
dumps the mesh to a file with the given name.
fileName | Input - The name of the file |
References esysUtils::appendRankToFileName(), dudley::checkDudleyError(), Dudley_ElementFile::Color, Esys_MPIInfo::comm, Dudley_NodeFile::Coordinates, Dudley_NodeFile::degreesOfFreedomDistribution, Dudley_setError(), Dudley_Mesh::Elements, Dudley_ElementFile::etype, Dudley_Mesh::FaceElements, Paso_Distribution::first_component, Dudley_NodeFile::globalDegreesOfFreedom, Dudley_NodeFile::globalNodesIndex, Dudley_NodeFile::globalReducedDOFIndex, Dudley_NodeFile::globalReducedNodesIndex, Dudley_NodeFile::Id, Dudley_ElementFile::Id, INDEX2, Dudley_Mesh::integrationOrder, IO_ERROR, m_dudleyMesh, MPI_INT, Dudley_Mesh::MPIInfo, Dudley_TagMap::name, Dudley_Mesh::Name, Dudley_TagMap::next, Dudley_ElementFile::Nodes, Dudley_Mesh::Nodes, Dudley_NodeFile::nodesDistribution, Dudley_NodeFile::numDim, Dudley_ElementFile::numElements, Dudley_NodeFile::numNodes, Dudley_ElementFile::numNodes, Dudley_ElementFile::Owner, Dudley_Mesh::Points, Esys_MPIInfo::rank, Dudley_Mesh::reducedIntegrationOrder, Esys_MPIInfo::size, Dudley_NodeFile::Tag, Dudley_ElementFile::Tag, Dudley_TagMap::tag_key, Dudley_Mesh::TagMap, TMPMEMALLOC, and TMPMEMFREE.
Referenced by BOOST_PYTHON_MODULE().
|
private |
|
virtual |
Return a description for the given function space type code.
References m_functionSpaceTypeNames.
|
virtual |
returns the approximation order used for a function space functionSpaceCode
References Dudley_Mesh::approximationOrder, DegreesOfFreedom, Elements, FaceElements, Dudley_Mesh::integrationOrder, m_dudleyMesh, Nodes, Points, Dudley_Mesh::reducedApproximationOrder, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, Dudley_Mesh::reducedIntegrationOrder, and ReducedNodes.
|
virtual |
Return a continuous FunctionSpace code.
References Nodes.
|
virtual |
Return the number of data points per sample, and the number of samples as a pair.
functionSpaceCode | Input - |
References DegreesOfFreedom, Dudley_NodeFile_getNumDegreesOfFreedom(), Dudley_NodeFile_getNumNodes(), Dudley_NodeFile_getNumReducedDegreesOfFreedom(), Dudley_NodeFile_getNumReducedNodes(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, getDescription(), m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Dudley_ElementFile::numElements, Dudley_ElementFile::numLocalDim, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a description for this domain.
Referenced by BOOST_PYTHON_MODULE(), borrowSampleReferenceIDs(), getDataShape(), and getTagFromSampleNo().
|
virtual |
References dudley::checkDudleyError(), Dudley_Mesh_getDim(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a DiracDeltaFunctions code.
References Points.
Dudley_Mesh * dudley::MeshAdapter::getDudley_Mesh | ( | ) | const |
return the pointer to the underlying dudley mesh structure
References m_dudleyMesh.
Referenced by newSystemMatrix(), and newTransportProblem().
|
virtual |
Return a function FunctionSpace code.
References Elements.
|
virtual |
Return a function on boundary FunctionSpace code.
References FaceElements.
|
virtual |
Return a FunctionOnContactOne code.
|
virtual |
Return a FunctionOnContactZero code.
unsigned int dudley::MeshAdapter::getMPIComm | ( | ) | const |
References m_dudleyMesh.
|
virtual |
return the number MPI rank of this processor
References m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
return the number of processors used for this domain
References m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE(), interpolateOnDomain(), ownSample(), and setToGradient().
|
virtual |
return boundary normals at the quadrature point on the face elements
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
return the number of tags in use and a pointer to an array with the number of tags in use
References DegreesOfFreedom, Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Dudley_NodeFile::numTagsInUse, Dudley_ElementFile::numTagsInUse, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
Return the number of data points summed across all MPI processes.
References Dudley_NodeFile_getGlobalNumNodes(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a continuous on reduced order nodes FunctionSpace code.
References ReducedNodes.
|
virtual |
Return a function with reduced integration order FunctionSpace code.
References ReducedElements.
|
virtual |
Return a function on boundary with reduced integration order FunctionSpace code.
References ReducedFaceElements.
|
virtual |
Return a FunctionOnContactOne code with reduced integration order.
|
virtual |
Return a FunctionOnContactZero code with reduced integration order.
|
virtual |
Return a ReducedSolution code.
References ReducedDegreesOfFreedom.
|
virtual |
returns the element size
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a Solution code.
References DegreesOfFreedom.
|
virtual |
Returns a status indicator of the domain. The status identifier should be unique over the live time if the object but may be updated if changes to the domain happen, e.g. modifications to its geometry.
This has to be implemented by the actual Domain adapter.
References Dudley_Mesh_getStatus(), and m_dudleyMesh.
|
virtual |
return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, perconditioner, and symmetric matrix is used.
solver | |
preconditioner | |
package | |
symmetry |
References m_dudleyMesh, and Dudley_Mesh::MPIInfo.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return the tag key for tag name.
name | Input - tag name |
References dudley::checkDudleyError(), Dudley_Mesh_getTag(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
int dudley::MeshAdapter::getTagFromSampleNo | ( | int | functionSpaceType, |
int | sampleNo | ||
) | const |
Return the tag key for the given sample number.
functionSpaceType | Input - The function space type. |
sampleNo | Input - The sample number. |
References DegreesOfFreedom, Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, getDescription(), m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, ReducedNodes, Dudley_NodeFile::Tag, and Dudley_ElementFile::Tag.
|
virtual |
return the identifier of the transport problem type to be used when a particular solver, perconditioner, package and symmetric matrix is used.
solver | |
preconditioner | |
package | |
symmetry |
References m_dudleyMesh, and Dudley_Mesh::MPIInfo.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
returns locations in the FEM nodes
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
interpolates data given on source onto target where source and target are given on different domains. has to be implemented by the actual Domain adapter.
|
virtual |
interpolates data given on source onto target where source and target have to be given on the same domain.
References dudley::checkDudleyError(), DegreesOfFreedom, Dudley_Assemble_AverageElementData(), Dudley_Assemble_CopyElementData(), Dudley_Assemble_CopyNodalData(), Dudley_Assemble_interpolate(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, getMPISize(), m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
Referenced by setToX().
|
virtual |
returns true if data on this domain and a function space of type functionSpaceCode has to considered as cell centered data.
References dudley::checkDudleyError(), DegreesOfFreedom, Elements, FaceElements, Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, and ReducedFaceElements.
|
virtual |
Returns true if the given integer is a valid function space type for this domain.
References m_functionSpaceTypeNames.
|
virtual |
Returns true if name is a defined tage name.
name | Input - tag name to be checked. |
References Dudley_Mesh_isValidTagName(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
If compiled for MPI then execute an MPI_Barrier, else do nothing.
References m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
ASM_ptr dudley::MeshAdapter::newSystemMatrix | ( | const int | row_blocksize, |
const escript::FunctionSpace & | row_functionspace, | ||
const int | column_blocksize, | ||
const escript::FunctionSpace & | column_functionspace, | ||
const int | type | ||
) | const |
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
References dudley::checkDudleyError(), dudley::checkPasoError(), DegreesOfFreedom, Dudley_getPattern(), FALSE, getDudley_Mesh(), Paso_SystemMatrix_alloc(), Paso_SystemMatrixPattern_free(), and ReducedDegreesOfFreedom.
Referenced by BOOST_PYTHON_MODULE().
ATP_ptr dudley::MeshAdapter::newTransportProblem | ( | const int | blocksize, |
const escript::FunctionSpace & | functionspace, | ||
const int | type | ||
) | const |
creates a TransportProblemAdapter
References dudley::checkDudleyError(), dudley::checkPasoError(), DegreesOfFreedom, Dudley_getPattern(), getDudley_Mesh(), Paso_SystemMatrixPattern_free(), Paso_TransportProblem_alloc(), and ReducedDegreesOfFreedom.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return true if on MPI processor 0, else false.
References m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
|
virtual |
comparison operators
|
virtual |
References Dudley_NodeFile_borrowGlobalNodesIndex(), Dudley_NodeFile_borrowGlobalReducedNodesIndex(), Dudley_NodeFile_getFirstNode(), Dudley_NodeFile_getFirstReducedNode(), Dudley_NodeFile_getLastNode(), Dudley_NodeFile_getLastReducedNode(), DUDLEY_NODES, DUDLEY_REDUCED_NODES, getMPISize(), m_dudleyMesh, and Dudley_Mesh::Nodes.
|
virtual |
References probeInterpolationOnDomain().
void dudley::MeshAdapter::Print_Mesh_Info | ( | const bool | full = false | ) | const |
full |
References Dudley_PrintMesh_Info(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
determines whether interpolation from source to target is possible. Must be implemented by the actual Domain adapter
|
virtual |
References dudley::checkDudleyError(), DegreesOfFreedom, Elements, FaceElements, Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
Referenced by preferredInterpolationOnDomain().
void dudley::MeshAdapter::setFunctionSpaceTypeNames | ( | ) |
Build the table of function space type names.
References DegreesOfFreedom, Elements, FaceElements, m_functionSpaceTypeNames, Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
Referenced by MeshAdapter().
|
virtual |
assigns new location to the domain
References dudley::checkDudleyError(), Dudley_Mesh_setCoordinates(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
sets a map from a clear tag name to a tag key
name | Input - tag name. |
tag | Input - tag key. |
References dudley::checkDudleyError(), Dudley_Mesh_addTagMap(), and m_dudleyMesh.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
assigns new tag newTag to all samples of functionspace with a positive value of mask for any its sample point.
References dudley::checkDudleyError(), DegreesOfFreedom, Dudley_ElementFile_setTags(), Dudley_NodeFile_setTags(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, Dudley_Mesh::Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
copies the gradient of arg into grad. The actual function space to be considered for the gradient is defined by grad. arg and grad have to be defined on this.
References dudley::checkDudleyError(), DegreesOfFreedom, Dudley_Assemble_gradient(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, getMPISize(), m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
copies the integrals of the function defined by arg into integrals. arg has to be defined on this.
References blocktimer_increment(), blocktimer_time(), dudley::checkDudleyError(), DegreesOfFreedom, Dudley_Assemble_integrate(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
copies the surface normals at data points into out. The actual function space to be considered is defined by out. out has to be defined on this.
References dudley::checkDudleyError(), DegreesOfFreedom, Dudley_Assemble_setNormal(), Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
copies the size of samples into out. The actual function space to be considered is defined by out. out has to be defined on this.
References dudley::checkDudleyError(), DegreesOfFreedom, Dudley_Assemble_getSize(), Elements, Dudley_Mesh::Elements, FaceElements, Dudley_Mesh::FaceElements, m_dudleyMesh, Nodes, Dudley_Mesh::Nodes, Points, ReducedDegreesOfFreedom, ReducedElements, ReducedFaceElements, and ReducedNodes.
|
virtual |
copies the location of data points into arg. The domain of arg has to match this. has to be implemented by the actual Domain adapter.
References dudley::checkDudleyError(), Dudley_Assemble_NodeCoordinates(), interpolateOnDomain(), m_dudleyMesh, Nodes, and Dudley_Mesh::Nodes.
|
virtual |
Returns all tag names in a single string sperated by commas.
References m_dudleyMesh, Dudley_TagMap::name, Dudley_TagMap::next, and Dudley_Mesh::TagMap.
Referenced by BOOST_PYTHON_MODULE().
bool dudley::MeshAdapter::supportsContactElements | ( | ) | const |
void dudley::MeshAdapter::write | ( | const std::string & | fileName | ) | const |
Write the current mesh to a file with the given name.
fileName | Input - The name of the file to write to. |
References dudley::checkDudleyError(), Dudley_Mesh_write(), m_dudleyMesh, TMPMEMALLOC, and TMPMEMFREE.
Referenced by BOOST_PYTHON_MODULE().
|
static |
|
static |
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getNumberOfTagsInUse(), getSolutionCode(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), newSystemMatrix(), newTransportProblem(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getFunctionCode(), getNumberOfTagsInUse(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getFunctionOnBoundaryCode(), getNumberOfTagsInUse(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
private |
Referenced by addPDEToLumpedSystem(), addPDEToRHS(), borrowListOfTagsInUse(), borrowSampleReferenceIDs(), dump(), getApproximationOrder(), getDataShape(), getDim(), getDudley_Mesh(), getMPIComm(), getMPIRank(), getMPISize(), getNumberOfTagsInUse(), getNumDataPointsGlobal(), getStatus(), getSystemMatrixTypeId(), getTag(), getTagFromSampleNo(), getTransportTypeId(), interpolateOnDomain(), isValidTagName(), MPIBarrier(), onMasterProcessor(), ownSample(), Print_Mesh_Info(), setNewX(), setTagMap(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), setToSize(), setToX(), showTagNames(), write(), and ~MeshAdapter().
|
staticprivate |
Referenced by functionSpaceTypeAsString(), isValidFunctionSpaceType(), and setFunctionSpaceTypeNames().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getContinuousFunctionCode(), getDataShape(), getNumberOfTagsInUse(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), setToSize(), and setToX().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getDiracDeltaFunctionsCode(), getNumberOfTagsInUse(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
|
static |
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getNumberOfTagsInUse(), getReducedSolutionCode(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), newSystemMatrix(), newTransportProblem(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getNumberOfTagsInUse(), getReducedFunctionCode(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getNumberOfTagsInUse(), getReducedFunctionOnBoundaryCode(), getTagFromSampleNo(), interpolateOnDomain(), isCellOriented(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().
|
static |
Referenced by borrowListOfTagsInUse(), borrowSampleReferenceIDs(), canTag(), commonFunctionSpace(), getApproximationOrder(), getDataShape(), getNumberOfTagsInUse(), getReducedContinuousFunctionCode(), getTagFromSampleNo(), interpolateOnDomain(), probeInterpolationOnDomain(), setFunctionSpaceTypeNames(), setTags(), setToGradient(), setToIntegrals(), setToNormal(), and setToSize().