escript
Revision_
|
RipleyDomain extends the AbstractContinuousDomain interface for the Ripley library and is the base class for Rectangle and Brick. More...
#include <RipleyDomain.h>
Public Member Functions | |
RipleyDomain (dim_t dim) | |
Constructor with number of dimensions. Allocates MPI info structure. | |
~RipleyDomain () | |
Destructor. | |
virtual int | getMPISize () const |
returns the number of processors used for this domain | |
virtual int | getMPIRank () const |
returns the MPI rank of this processor | |
virtual void | MPIBarrier () const |
if compiled for MPI then executes an MPI_Barrier, else does nothing | |
virtual bool | onMasterProcessor () const |
returns true if on MPI processor 0, else false | |
unsigned int | getMPIComm () const |
returns the MPI communicator | |
virtual bool | isValidFunctionSpaceType (int fsType) const |
returns true if the argument is a valid function space type for this domain | |
virtual std::string | functionSpaceTypeAsString (int fsType) const |
returns a description for the given function space type code | |
virtual int | getDim () const |
returns the number of spatial dimensions of the domain | |
virtual bool | operator== (const escript::AbstractDomain &other) const |
equality operator | |
virtual bool | operator!= (const escript::AbstractDomain &other) const |
inequality operator | |
virtual std::pair< int, int > | getDataShape (int fsType) const |
returns the number of data points per sample, and the number of samples as a pair. | |
int | getTagFromSampleNo (int fsType, int sampleNo) const |
returns the tag key for the given sample number | |
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 |
returns the tag key for tag name | |
virtual bool | isValidTagName (const std::string &name) const |
returns true if name is a defined tag name | |
virtual std::string | showTagNames () const |
returns all tag names in a single string separated 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 fsType_source, int fsType_target) const |
returns true if data on fsType_source can be interpolated onto fsType_target, false otherwise | |
virtual signed char | preferredInterpolationOnDomain (int fsType_source, int fsType_target) const |
Preferred direction of interpolation. | |
bool | commonFunctionSpace (const std::vector< int > &fs, int &resultcode) const |
given a vector of FunctionSpace type codes, passes back a code which all can 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 | |
virtual bool | probeInterpolationACross (int, const escript::AbstractDomain &, int) const |
determines whether interpolation from source to target is possible | |
virtual escript::Data | getX () const |
returns locations in the FEM nodes | |
virtual escript::Data | getNormal () const |
returns boundary normals at the quadrature point on the face elements | |
virtual escript::Data | getSize () const |
returns the element size | |
virtual void | setToX (escript::Data &arg) const |
copies the location of data points into arg. The domain of arg has to match this domain. | |
virtual void | setToGradient (escript::Data &out, const escript::Data &in) const |
copies the gradient of 'in' into 'out'. The actual function space to be considered for the gradient is defined by 'in'. Both arguments have to be defined on this domain. | |
virtual void | setTags (const int fsType, const int newTag, const escript::Data &mask) const |
assigns new tag newTag to all samples of given function space with a positive value of mask for any of its sample points | |
virtual bool | isCellOriented (int fsType) const |
returns true if data on this domain and given function space type has to be considered as cell centered data | |
virtual StatusType | getStatus () const |
returns a status indicator of the domain. The status identifier should be unique over the lifetime of the object but may be updated if changes to the domain happen, e.g. modifications to its geometry. | |
virtual int | getNumberOfTagsInUse (int fsType) const |
returns the number of tags in use for a function space type | |
virtual const int * | borrowListOfTagsInUse (int fsType) const |
returns a pointer to the list of tags in use for a function space type | |
virtual bool | canTag (int fsType) const |
checks if this domain allows tags for the specified function space type | |
virtual int | getApproximationOrder (const int fsType) const |
returns the approximation order used for a function space | |
virtual bool | supportsContactElements () const |
returns true if this domain supports contact elements, false otherwise | |
virtual int | getContinuousFunctionCode () const |
returns a continuous FunctionSpace code | |
virtual int | getReducedContinuousFunctionCode () const |
returns a continuous on reduced order nodes FunctionSpace code | |
virtual int | getFunctionCode () const |
returns a function FunctionSpace code | |
virtual int | getReducedFunctionCode () const |
returns a function with reduced integration order FunctionSpace code | |
virtual int | getFunctionOnBoundaryCode () const |
returns a function on boundary FunctionSpace code | |
virtual int | getReducedFunctionOnBoundaryCode () const |
returns a function on boundary with reduced integration order FunctionSpace code | |
virtual int | getFunctionOnContactZeroCode () const |
return a FunctionOnContactZero code | |
virtual int | getReducedFunctionOnContactZeroCode () const |
returns a FunctionOnContactZero code with reduced integration order | |
virtual int | getFunctionOnContactOneCode () const |
returns a FunctionOnContactOne code | |
virtual int | getReducedFunctionOnContactOneCode () const |
returns a FunctionOnContactOne code with reduced integration order | |
virtual int | getSolutionCode () const |
returns a Solution FunctionSpace code | |
virtual int | getReducedSolutionCode () const |
returns a ReducedSolution FunctionSpace code | |
virtual int | getDiracDeltaFunctionsCode () const |
returns a DiracDeltaFunctions FunctionSpace code | |
virtual int | getSystemMatrixTypeId (const int solver, const int preconditioner, const int package, const bool symmetry) const |
returns the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, preconditioner, and symmetric matrix is used | |
virtual int | getTransportTypeId (const int solver, const int preconditioner, const int package, const bool symmetry) const |
returns the identifier of the transport problem type to be used when a particular solver, preconditioner, package and symmetric matrix is used | |
virtual void | setToIntegrals (DoubleVector &integrals, const escript::Data &arg) const |
copies the integrals of the function defined by arg into integrals. arg has to be defined on this domain. | |
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 rhs | |
virtual void | addToSystem (escript::AbstractSystemMatrix &mat, escript::Data &rhs, std::map< std::string, escript::Data > data) const |
adds a PDE onto the stiffness matrix mat and rhs, used for custom solvers with varying arguments counts and so on | |
virtual void | addToSystemFromPython (escript::AbstractSystemMatrix &mat, escript::Data &rhs, boost::python::list data) const |
a wrapper for addToSystem that allows calling from Python | |
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 rhs | |
virtual void | addToRHS (escript::Data &rhs, std::map< std::string, escript::Data > data) const |
adds a PDE onto rhs, used for custom solvers with varying arguments counts and so on | |
virtual void | addToRHSFromPython (escript::Data &rhs, boost::python::list data) const |
a wrapper for addToRHS that allows calling from Python | |
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 | |
virtual 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 stiffness matrix and initializes it with zeros | |
virtual escript::ATP_ptr | newTransportProblem (const int blocksize, const escript::FunctionSpace &functionspace, const int type) const |
creates a transport problem | |
virtual void | Print_Mesh_Info (const bool full=false) const |
writes information about the mesh to standard output | |
virtual std::string | getDescription () const =0 |
writes the current mesh to a file with the given name | |
void | dump (const std::string &filename) const =0 |
dumps the mesh to a file with the given name | |
const int * | borrowSampleReferenceIDs (int fsType) const =0 |
returns the array of reference numbers for a function space type | |
virtual void | setToNormal (escript::Data &out) const =0 |
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 domain. | |
virtual void | setToSize (escript::Data &out) const =0 |
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 domain. | |
virtual void | readNcGrid (escript::Data &out, std::string filename, std::string varname, const ReaderParameters ¶ms) const =0 |
virtual void | readBinaryGrid (escript::Data &out, std::string filename, const ReaderParameters ¶ms) const =0 |
virtual void | writeBinaryGrid (const escript::Data &in, std::string filename, int byteOrder, int dataType) const =0 |
virtual bool | ownSample (int fsType, index_t id) const =0 |
returns true if this rank owns the sample id on given function space | |
virtual int | getNumDataPointsGlobal () const =0 |
returns the number of data points summed across all MPI processes | |
virtual const int * | getNumNodesPerDim () const =0 |
returns the number of nodes per MPI rank in each dimension | |
virtual const int * | getNumElementsPerDim () const =0 |
returns the number of elements per MPI rank in each dimension | |
virtual const int * | getNumFacesPerBoundary () const =0 |
returns the number of face elements in the order (left,right,bottom,top,[front,back]) on current MPI rank | |
virtual IndexVector | getNodeDistribution () const =0 |
returns the node distribution vector | |
virtual const int * | getNumSubdivisionsPerDim () const =0 |
returns the number of spatial subdivisions in each dimension | |
virtual double | getLocalCoordinate (int index, int dim) const =0 |
returns the index'th coordinate value in given dimension for this rank | |
virtual boost::python::tuple | getGridParameters () const =0 |
returns the tuple (origin, spacing, number_of_elements) | |
virtual bool | supportsFilter (const boost::python::tuple &t) const |
true if this domain can handle the specified tuple of filter options. | |
virtual void | setAssembler (std::string type, std::map< std::string, escript::Data > options) |
void | setAssemblerFromPython (std::string type, boost::python::list options) |
Protected Member Functions | |
void | copyData (escript::Data &out, const escript::Data &in) const |
copies data in 'in' to 'out' (both must be on same function space) | |
void | averageData (escript::Data &out, const escript::Data &in) const |
averages data in 'in' to 'out' (from non-reduced to reduced fs) | |
void | multiplyData (escript::Data &out, const escript::Data &in) const |
copies data in 'in' to 'out' (from reduced to non-reduced fs) | |
void | updateTagsInUse (int fsType) const |
paso::Pattern_ptr | createPasoPattern (const IndexVector &ptr, const IndexVector &index, const dim_t M, const dim_t N) const |
allocates and returns a Paso pattern structure | |
paso::Pattern_ptr | createMainPattern () const |
creates the pattern for the main block of the system matrix | |
void | createCouplePatterns (const std::vector< IndexVector > &colIndices, const std::vector< IndexVector > &rowIndices, const dim_t N, paso::Pattern_ptr &colPattern, paso::Pattern_ptr &rowPattern) const |
void | addToSystemMatrix (paso::SystemMatrix_ptr in, const IndexVector &nodes_Eq, dim_t num_Eq, const IndexVector &nodes_Sol, dim_t num_Sol, const DoubleVector &array) const |
void | addPoints (int numPoints, const double *points_ptr, const int *tags_ptr) |
virtual dim_t | getNumNodes () const =0 |
returns the number of nodes per MPI rank | |
virtual dim_t | getNumElements () const =0 |
returns the number of elements per MPI rank | |
virtual dim_t | getNumDOF () const =0 |
returns the number of degrees of freedom per MPI rank | |
virtual dim_t | getNumFaceElements () const =0 |
returns the number of face elements on current MPI rank | |
virtual dim_t | insertNeighbourNodes (IndexVector &index, index_t node) const =0 |
virtual void | assembleCoordinates (escript::Data &arg) const =0 |
populates the data object 'arg' with the node coordinates | |
virtual void | assembleGradient (escript::Data &out, const escript::Data &in) const =0 |
computes the gradient of 'in' and puts the result in 'out' | |
virtual void | assembleIntegrate (DoubleVector &integrals, const escript::Data &arg) const =0 |
copies the integrals of the function defined by 'arg' into 'integrals' | |
virtual paso::SystemMatrixPattern_ptr | getPattern (bool reducedRowOrder, bool reducedColOrder) const =0 |
returns the Paso system matrix pattern | |
virtual void | interpolateNodesOnElements (escript::Data &out, const escript::Data &in, bool reduced) const =0 |
interpolates data on nodes in 'in' onto (reduced) elements in 'out' | |
virtual void | interpolateNodesOnFaces (escript::Data &out, const escript::Data &in, bool reduced) const =0 |
interpolates data on nodes in 'in' onto (reduced) face elements in 'out' | |
virtual void | nodesToDOF (escript::Data &out, const escript::Data &in) const =0 |
converts data on nodes in 'in' to degrees of freedom in 'out' | |
virtual void | dofToNodes (escript::Data &out, const escript::Data &in) const =0 |
converts data on degrees of freedom in 'in' to nodes in 'out' | |
virtual int | getDofOfNode (int node) const =0 |
Protected Attributes | |
dim_t | m_numDim |
StatusType | m_status |
Esys_MPIInfo * | m_mpiInfo |
TagMap | m_tagMap |
IndexVector | m_nodeTags |
IndexVector | m_nodeTagsInUse |
IndexVector | m_elementTags |
IndexVector | m_elementTagsInUse |
IndexVector | m_faceTags |
IndexVector | m_faceTagsInUse |
AbstractAssembler * | assembler |
std::vector< struct DiracPoint > | m_diracPoints |
IndexVector | m_diracPointNodeIDs |
assembler_t | assembler_type |
Private Member Functions | |
void | assemblePDE (paso::SystemMatrix_ptr mat, escript::Data &rhs, std::map< std::string, escript::Data > coefs) const |
calls the right PDE assembly routines after performing input checks | |
void | assemblePDEBoundary (paso::SystemMatrix_ptr mat, escript::Data &rhs, std::map< std::string, escript::Data > coefs) const |
void | assemblePDEDirac (paso::SystemMatrix_ptr mat, escript::Data &rhs, std::map< std::string, escript::Data > coefs) const |
virtual int | findNode (const double *coords) const =0 |
RipleyDomain extends the AbstractContinuousDomain interface for the Ripley library and is the base class for Rectangle and Brick.
Constructor with number of dimensions. Allocates MPI info structure.
References assembler_type, ripley::DEFAULT_ASSEMBLER, Esys_MPIInfo_alloc(), m_mpiInfo, and MPI_COMM_WORLD.
Destructor.
References Esys_MPIInfo_free(), and m_mpiInfo.
void ripley::RipleyDomain::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 [virtual] |
adds a PDE onto rhs
Reimplemented from escript::AbstractContinuousDomain.
References assemblePDE(), assemblePDEBoundary(), assemblePDEDirac(), and escript::Data::isEmpty().
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::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 [virtual] |
adds a PDE onto the stiffness matrix mat and rhs
Reimplemented from escript::AbstractContinuousDomain.
References assemblePDE(), assemblePDEBoundary(), assemblePDEDirac(), paso::SystemMatrixAdapter::getPaso_SystemMatrix(), escript::Data::isEmpty(), and S.
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::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 [virtual] |
adds a PDE onto a transport problem
Reimplemented from escript::AbstractContinuousDomain.
References assemblePDE(), assemblePDEBoundary(), assemblePDEDirac(), paso::TransportProblemAdapter::getPaso_TransportProblem(), escript::Data::isEmpty(), and paso::M.
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::addPoints | ( | int | numPoints, |
const double * | points_ptr, | ||
const int * | tags_ptr | ||
) | [protected] |
References borrowSampleReferenceIDs(), findNode(), m_diracPointNodeIDs, m_diracPoints, m_numDim, ripley::DiracPoint::node, ripley::Nodes, and ripley::DiracPoint::tag.
Referenced by ripley::Brick::Brick(), and ripley::Rectangle::Rectangle().
void ripley::RipleyDomain::addToRHS | ( | escript::Data & | rhs, |
std::map< std::string, escript::Data > | data | ||
) | const [virtual] |
adds a PDE onto rhs, used for custom solvers with varying arguments counts and so on
References assemblePDE(), assemblePDEBoundary(), assemblePDEDirac(), escript::Data::isEmpty(), and isNotEmpty().
Referenced by addToRHSFromPython().
void ripley::RipleyDomain::addToRHSFromPython | ( | escript::Data & | rhs, |
boost::python::list | data | ||
) | const [virtual] |
a wrapper for addToRHS that allows calling from Python
References addToRHS(), and ripley::tupleListToMap().
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::addToSystem | ( | escript::AbstractSystemMatrix & | mat, |
escript::Data & | rhs, | ||
std::map< std::string, escript::Data > | data | ||
) | const [virtual] |
adds a PDE onto the stiffness matrix mat and rhs, used for custom solvers with varying arguments counts and so on
References assemblePDE(), assemblePDEBoundary(), assemblePDEDirac(), paso::SystemMatrixAdapter::getPaso_SystemMatrix(), isNotEmpty(), and S.
Referenced by addToSystemFromPython().
void ripley::RipleyDomain::addToSystemFromPython | ( | escript::AbstractSystemMatrix & | mat, |
escript::Data & | rhs, | ||
boost::python::list | data | ||
) | const [virtual] |
a wrapper for addToSystem that allows calling from Python
References addToSystem(), and ripley::tupleListToMap().
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::addToSystemMatrix | ( | paso::SystemMatrix_ptr | in, |
const IndexVector & | nodes_Eq, | ||
dim_t | num_Eq, | ||
const IndexVector & | nodes_Sol, | ||
dim_t | num_Sol, | ||
const DoubleVector & | array | ||
) | const [protected] |
References MATRIX_FORMAT_CSC, MATRIX_FORMAT_OFFSET1, and UPDATE_BLOCK.
Referenced by ripley::Brick::addToMatrixAndRHS(), ripley::Rectangle::addToMatrixAndRHS(), and assemblePDEDirac().
virtual void ripley::RipleyDomain::assembleCoordinates | ( | escript::Data & | arg | ) | const [protected, pure virtual] |
populates the data object 'arg' with the node coordinates
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by setToX().
virtual void ripley::RipleyDomain::assembleGradient | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected, pure virtual] |
computes the gradient of 'in' and puts the result in 'out'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by setToGradient().
virtual void ripley::RipleyDomain::assembleIntegrate | ( | DoubleVector & | integrals, |
const escript::Data & | arg | ||
) | const [protected, pure virtual] |
copies the integrals of the function defined by 'arg' into 'integrals'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by setToIntegrals().
void ripley::RipleyDomain::assemblePDE | ( | paso::SystemMatrix_ptr | mat, |
escript::Data & | rhs, | ||
std::map< std::string, escript::Data > | coefs | ||
) | const [private] |
calls the right PDE assembly routines after performing input checks
References ripley::AbstractAssembler::assemblePDESingle(), ripley::AbstractAssembler::assemblePDESingleReduced(), ripley::AbstractAssembler::assemblePDESystem(), ripley::AbstractAssembler::assemblePDESystemReduced(), assembler, ripley::AbstractAssembler::collateFunctionSpaceTypes(), ripley::Elements, escript::Data::getDataPointSize(), escript::Data::isEmpty(), isNotEmpty(), and ripley::ReducedElements.
Referenced by addPDEToRHS(), addPDEToSystem(), addPDEToTransportProblem(), addToRHS(), and addToSystem().
void ripley::RipleyDomain::assemblePDEBoundary | ( | paso::SystemMatrix_ptr | mat, |
escript::Data & | rhs, | ||
std::map< std::string, escript::Data > | coefs | ||
) | const [private] |
calls the right PDE boundary assembly routines after performing input checks
References ripley::AbstractAssembler::assemblePDEBoundarySingle(), ripley::AbstractAssembler::assemblePDEBoundarySingleReduced(), ripley::AbstractAssembler::assemblePDEBoundarySystem(), ripley::AbstractAssembler::assemblePDEBoundarySystemReduced(), assembler, ripley::FaceElements, escript::Data::getDataPointSize(), escript::Data::isEmpty(), isNotEmpty(), and ripley::ReducedFaceElements.
Referenced by addPDEToRHS(), addPDEToSystem(), addPDEToTransportProblem(), addToRHS(), and addToSystem().
void ripley::RipleyDomain::assemblePDEDirac | ( | paso::SystemMatrix_ptr | mat, |
escript::Data & | rhs, | ||
std::map< std::string, escript::Data > | coefs | ||
) | const [private] |
References addToSystemMatrix(), escript::Data::getDataPointSize(), getDofOfNode(), getNumDOF(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), INDEX2, escript::Data::isEmpty(), isNotEmpty(), and m_diracPoints.
Referenced by addPDEToRHS(), addPDEToSystem(), addPDEToTransportProblem(), addToRHS(), and addToSystem().
void ripley::RipleyDomain::averageData | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected] |
averages data in 'in' to 'out' (from non-reduced to reduced fs)
References escript::Data::getDataPointSize(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), and escript::Data::requireWrite().
Referenced by interpolateOnDomain().
const int * ripley::RipleyDomain::borrowListOfTagsInUse | ( | int | fsType | ) | const [virtual] |
returns a pointer to the list of tags in use for a function space type
Reimplemented from escript::AbstractDomain.
References ripley::Elements, ripley::FaceElements, m_elementTagsInUse, m_faceTagsInUse, m_nodeTagsInUse, ripley::Nodes, ripley::ReducedElements, and ripley::ReducedFaceElements.
const int* ripley::RipleyDomain::borrowSampleReferenceIDs | ( | int | fsType | ) | const [pure virtual] |
returns the array of reference numbers for a function space type
fsType | The function space type |
Reimplemented from escript::AbstractDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by addPoints(), weipa::RipleyNodes::initFromRipley(), and weipa::RipleyElements::initFromRipley().
bool ripley::RipleyDomain::canTag | ( | int | fsType | ) | const [virtual] |
checks if this domain allows tags for the specified function space type
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
bool ripley::RipleyDomain::commonFunctionSpace | ( | const std::vector< int > & | fs, |
int & | resultcode | ||
) | const [virtual] |
given a vector of FunctionSpace type codes, passes back a code which all can be interpolated to
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
void ripley::RipleyDomain::copyData | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected] |
copies data in 'in' to 'out' (both must be on same function space)
References paso::util::copy(), escript::Data::getDataPointSize(), escript::Data::getNumSamples(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), and escript::Data::requireWrite().
Referenced by interpolateOnDomain().
void ripley::RipleyDomain::createCouplePatterns | ( | const std::vector< IndexVector > & | colIndices, |
const std::vector< IndexVector > & | rowIndices, | ||
const dim_t | N, | ||
paso::Pattern_ptr & | colPattern, | ||
paso::Pattern_ptr & | rowPattern | ||
) | const [protected] |
creates the pattern for the column and row couple blocks of the system matrix. colIndices[i] contains all IDs of DOFs that are connected with DOF i but remote and 'N' is the total number of remote components
References createPasoPattern(), getNumDOF(), and paso::M.
Referenced by ripley::Brick::createPattern(), and ripley::Rectangle::createPattern().
paso::Pattern_ptr ripley::RipleyDomain::createMainPattern | ( | ) | const [protected] |
creates the pattern for the main block of the system matrix
References createPasoPattern(), getNumDOF(), and insertNeighbourNodes().
Referenced by ripley::Brick::createPattern(), and ripley::Rectangle::createPattern().
paso::Pattern_ptr ripley::RipleyDomain::createPasoPattern | ( | const IndexVector & | ptr, |
const IndexVector & | index, | ||
const dim_t | M, | ||
const dim_t | N | ||
) | const [protected] |
allocates and returns a Paso pattern structure
References paso::util::copy(), and MATRIX_FORMAT_DEFAULT.
Referenced by createCouplePatterns(), and createMainPattern().
virtual void ripley::RipleyDomain::dofToNodes | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected, pure virtual] |
converts data on degrees of freedom in 'in' to nodes in 'out'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by interpolateOnDomain().
void ripley::RipleyDomain::dump | ( | const std::string & | filename | ) | const [pure virtual] |
dumps the mesh to a file with the given name
filename | The name of the output file |
Reimplemented from escript::AbstractDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by BOOST_PYTHON_MODULE().
virtual int ripley::RipleyDomain::findNode | ( | const double * | coords | ) | const [private, pure virtual] |
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by addPoints().
string ripley::RipleyDomain::functionSpaceTypeAsString | ( | int | fsType | ) | const [virtual] |
returns a description for the given function space type code
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
Referenced by interpolateOnDomain(), setToGradient(), and setToIntegrals().
virtual int ripley::RipleyDomain::getApproximationOrder | ( | const int | fsType | ) | const [inline, virtual] |
returns the approximation order used for a function space
Reimplemented from escript::AbstractDomain.
virtual int ripley::RipleyDomain::getContinuousFunctionCode | ( | ) | const [inline, virtual] |
returns a continuous FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::Nodes.
Referenced by ripley::Brick::randomFillWorker(), and ripley::Rectangle::randomFillWorker().
pair< int, int > ripley::RipleyDomain::getDataShape | ( | int | fsType | ) | const [virtual] |
returns the number of data points per sample, and the number of samples as a pair.
fsType | The function space type |
Reimplemented from escript::AbstractContinuousDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), getNumDOF(), getNumElements(), getNumFaceElements(), getNumNodes(), m_diracPoints, m_numDim, ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
Referenced by BOOST_PYTHON_MODULE(), weipa::RipleyNodes::initFromRipley(), and weipa::RipleyElements::initFromRipley().
virtual std::string ripley::RipleyDomain::getDescription | ( | ) | const [pure virtual] |
writes the current mesh to a file with the given name
filename | The name of the file to write to |
returns a description for this domain
Reimplemented from escript::AbstractContinuousDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by BOOST_PYTHON_MODULE(), canTag(), getDataShape(), isCellOriented(), preferredInterpolationOnDomain(), Print_Mesh_Info(), and probeInterpolationOnDomain().
virtual int ripley::RipleyDomain::getDim | ( | ) | const [inline, virtual] |
returns the number of spatial dimensions of the domain
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE(), weipa::RipleyNodes::initFromRipley(), and weipa::RipleyElements::initFromRipley().
virtual int ripley::RipleyDomain::getDiracDeltaFunctionsCode | ( | ) | const [inline, virtual] |
returns a DiracDeltaFunctions FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::Points.
virtual int ripley::RipleyDomain::getDofOfNode | ( | int | node | ) | const [protected, pure virtual] |
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by assemblePDEDirac().
virtual int ripley::RipleyDomain::getFunctionCode | ( | ) | const [inline, virtual] |
returns a function FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::Elements.
virtual int ripley::RipleyDomain::getFunctionOnBoundaryCode | ( | ) | const [inline, virtual] |
returns a function on boundary FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::FaceElements.
virtual int ripley::RipleyDomain::getFunctionOnContactOneCode | ( | ) | const [inline, virtual] |
returns a FunctionOnContactOne code
Reimplemented from escript::AbstractContinuousDomain.
virtual int ripley::RipleyDomain::getFunctionOnContactZeroCode | ( | ) | const [inline, virtual] |
return a FunctionOnContactZero code
Reimplemented from escript::AbstractContinuousDomain.
virtual boost::python::tuple ripley::RipleyDomain::getGridParameters | ( | ) | const [pure virtual] |
returns the tuple (origin, spacing, number_of_elements)
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by BOOST_PYTHON_MODULE().
virtual double ripley::RipleyDomain::getLocalCoordinate | ( | int | index, |
int | dim | ||
) | const [pure virtual] |
returns the index'th coordinate value in given dimension for this rank
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyNodes::initFromRipley().
unsigned int ripley::RipleyDomain::getMPIComm | ( | ) | const [inline, virtual] |
returns the MPI communicator
Reimplemented from escript::AbstractDomain.
virtual int ripley::RipleyDomain::getMPIRank | ( | ) | const [inline, virtual] |
returns the MPI rank of this processor
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE(), and weipa::RipleyElements::initFromRipley().
virtual int ripley::RipleyDomain::getMPISize | ( | ) | const [inline, virtual] |
returns the number of processors used for this domain
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE(), interpolateOnDomain(), ripley::Rectangle::ownSample(), ripley::Brick::ownSample(), and setToGradient().
virtual IndexVector ripley::RipleyDomain::getNodeDistribution | ( | ) | const [pure virtual] |
returns the node distribution vector
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyNodes::initFromRipley().
escript::Data ripley::RipleyDomain::getNormal | ( | ) | const [virtual] |
returns boundary normals at the quadrature point on the face elements
Reimplemented from escript::AbstractDomain.
References escript::functionOnBoundary(), and escript::FunctionSpace::getNormal().
Referenced by BOOST_PYTHON_MODULE().
int ripley::RipleyDomain::getNumberOfTagsInUse | ( | int | fsType | ) | const [virtual] |
returns the number of tags in use for a function space type
Reimplemented from escript::AbstractDomain.
References ripley::Elements, ripley::FaceElements, m_elementTagsInUse, m_faceTagsInUse, m_nodeTagsInUse, ripley::Nodes, ripley::ReducedElements, and ripley::ReducedFaceElements.
virtual int ripley::RipleyDomain::getNumDataPointsGlobal | ( | ) | const [pure virtual] |
returns the number of data points summed across all MPI processes
Reimplemented from escript::AbstractContinuousDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by BOOST_PYTHON_MODULE(), and weipa::RipleyNodes::initFromRipley().
virtual dim_t ripley::RipleyDomain::getNumDOF | ( | ) | const [protected, pure virtual] |
returns the number of degrees of freedom per MPI rank
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by assemblePDEDirac(), createCouplePatterns(), createMainPattern(), and getDataShape().
virtual dim_t ripley::RipleyDomain::getNumElements | ( | ) | const [protected, pure virtual] |
returns the number of elements per MPI rank
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by getDataShape(), Print_Mesh_Info(), and setTags().
virtual const int* ripley::RipleyDomain::getNumElementsPerDim | ( | ) | const [pure virtual] |
returns the number of elements per MPI rank in each dimension
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyElements::initFromRipley().
virtual dim_t ripley::RipleyDomain::getNumFaceElements | ( | ) | const [protected, pure virtual] |
returns the number of face elements on current MPI rank
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by getDataShape(), and setTags().
virtual const int* ripley::RipleyDomain::getNumFacesPerBoundary | ( | ) | const [pure virtual] |
returns the number of face elements in the order (left,right,bottom,top,[front,back]) on current MPI rank
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyElements::initFromRipley().
virtual dim_t ripley::RipleyDomain::getNumNodes | ( | ) | const [protected, pure virtual] |
returns the number of nodes per MPI rank
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by getDataShape(), and setTags().
virtual const int* ripley::RipleyDomain::getNumNodesPerDim | ( | ) | const [pure virtual] |
returns the number of nodes per MPI rank in each dimension
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyNodes::initFromRipley(), and weipa::RipleyElements::initFromRipley().
virtual const int* ripley::RipleyDomain::getNumSubdivisionsPerDim | ( | ) | const [pure virtual] |
returns the number of spatial subdivisions in each dimension
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by weipa::RipleyElements::initFromRipley().
virtual paso::SystemMatrixPattern_ptr ripley::RipleyDomain::getPattern | ( | bool | reducedRowOrder, |
bool | reducedColOrder | ||
) | const [protected, pure virtual] |
returns the Paso system matrix pattern
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by newSystemMatrix(), and newTransportProblem().
virtual int ripley::RipleyDomain::getReducedContinuousFunctionCode | ( | ) | const [inline, virtual] |
returns a continuous on reduced order nodes FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::ReducedNodes.
virtual int ripley::RipleyDomain::getReducedFunctionCode | ( | ) | const [inline, virtual] |
returns a function with reduced integration order FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::ReducedElements.
virtual int ripley::RipleyDomain::getReducedFunctionOnBoundaryCode | ( | ) | const [inline, virtual] |
returns a function on boundary with reduced integration order FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::ReducedFaceElements.
virtual int ripley::RipleyDomain::getReducedFunctionOnContactOneCode | ( | ) | const [inline, virtual] |
returns a FunctionOnContactOne code with reduced integration order
Reimplemented from escript::AbstractContinuousDomain.
virtual int ripley::RipleyDomain::getReducedFunctionOnContactZeroCode | ( | ) | const [inline, virtual] |
returns a FunctionOnContactZero code with reduced integration order
Reimplemented from escript::AbstractContinuousDomain.
virtual int ripley::RipleyDomain::getReducedSolutionCode | ( | ) | const [inline, virtual] |
returns a ReducedSolution FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::ReducedDegreesOfFreedom.
escript::Data ripley::RipleyDomain::getSize | ( | ) | const [virtual] |
returns the element size
Reimplemented from escript::AbstractDomain.
References escript::function(), and escript::FunctionSpace::getSize().
Referenced by BOOST_PYTHON_MODULE().
virtual int ripley::RipleyDomain::getSolutionCode | ( | ) | const [inline, virtual] |
returns a Solution FunctionSpace code
Reimplemented from escript::AbstractContinuousDomain.
References ripley::DegreesOfFreedom.
virtual StatusType ripley::RipleyDomain::getStatus | ( | ) | const [inline, virtual] |
returns a status indicator of the domain. The status identifier should be unique over the lifetime of the object but may be updated if changes to the domain happen, e.g. modifications to its geometry.
Reimplemented from escript::AbstractDomain.
int ripley::RipleyDomain::getSystemMatrixTypeId | ( | const int | solver, |
const int | preconditioner, | ||
const int | package, | ||
const bool | symmetry | ||
) | const [virtual] |
returns the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, preconditioner, and symmetric matrix is used
solver | |
preconditioner | |
package | |
symmetry |
Reimplemented from escript::AbstractContinuousDomain.
References m_mpiInfo.
Referenced by BOOST_PYTHON_MODULE().
virtual int ripley::RipleyDomain::getTag | ( | const std::string & | name | ) | const [inline, virtual] |
returns the tag key for tag name
name | tag name |
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE().
int ripley::RipleyDomain::getTagFromSampleNo | ( | int | fsType, |
int | sampleNo | ||
) | const [virtual] |
returns the tag key for the given sample number
fsType | The function space type |
sampleNo | The sample number |
Reimplemented from escript::AbstractDomain.
References ripley::Elements, ripley::FaceElements, m_diracPoints, m_elementTags, m_faceTags, m_nodeTags, ripley::Nodes, ripley::Points, ripley::ReducedElements, and ripley::ReducedFaceElements.
int ripley::RipleyDomain::getTransportTypeId | ( | const int | solver, |
const int | preconditioner, | ||
const int | package, | ||
const bool | symmetry | ||
) | const [virtual] |
returns the identifier of the transport problem type to be used when a particular solver, preconditioner, package and symmetric matrix is used
solver | |
preconditioner | |
package | |
symmetry |
Reimplemented from escript::AbstractContinuousDomain.
References m_mpiInfo.
Referenced by BOOST_PYTHON_MODULE().
escript::Data ripley::RipleyDomain::getX | ( | ) | const [virtual] |
returns locations in the FEM nodes
Reimplemented from escript::AbstractDomain.
References escript::continuousFunction(), and escript::FunctionSpace::getX().
Referenced by BOOST_PYTHON_MODULE().
virtual dim_t ripley::RipleyDomain::insertNeighbourNodes | ( | IndexVector & | index, |
index_t | node | ||
) | const [protected, pure virtual] |
inserts the nodes that share an element with 'node' into 'index' and returns the number of these neighbours
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by createMainPattern().
void ripley::RipleyDomain::interpolateACross | ( | escript::Data & | target, |
const escript::Data & | source | ||
) | const [virtual] |
interpolates data given on source onto target where source and target are given on different domains
Reimplemented from escript::AbstractDomain.
virtual void ripley::RipleyDomain::interpolateNodesOnElements | ( | escript::Data & | out, |
const escript::Data & | in, | ||
bool | reduced | ||
) | const [protected, pure virtual] |
interpolates data on nodes in 'in' onto (reduced) elements in 'out'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by interpolateOnDomain().
virtual void ripley::RipleyDomain::interpolateNodesOnFaces | ( | escript::Data & | out, |
const escript::Data & | in, | ||
bool | reduced | ||
) | const [protected, pure virtual] |
interpolates data on nodes in 'in' onto (reduced) face elements in 'out'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by interpolateOnDomain().
void ripley::RipleyDomain::interpolateOnDomain | ( | escript::Data & | target, |
const escript::Data & | source | ||
) | const [virtual] |
interpolates data given on source onto target where source and target have to be given on the same domain
Reimplemented from escript::AbstractDomain.
References escript::Data::actsExpanded(), averageData(), escript::continuousFunction(), paso::util::copy(), copyData(), ripley::DegreesOfFreedom, dofToNodes(), ripley::Elements, ripley::FaceElements, functionSpaceTypeAsString(), escript::Data::getDataPointSize(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), getMPISize(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), escript::FunctionSpace::getTypeCode(), interpolateNodesOnElements(), interpolateNodesOnFaces(), m_diracPoints, multiplyData(), ripley::Nodes, nodesToDOF(), ripley::Points, escript::reducedContinuousFunction(), ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, ripley::ReducedNodes, and escript::Data::requireWrite().
Referenced by setToX().
bool ripley::RipleyDomain::isCellOriented | ( | int | fsType | ) | const [virtual] |
returns true if data on this domain and given function space type has to be considered as cell centered data
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
bool ripley::RipleyDomain::isValidFunctionSpaceType | ( | int | fsType | ) | const [virtual] |
returns true if the argument is a valid function space type for this domain
Reimplemented from escript::AbstractContinuousDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
Referenced by preferredInterpolationOnDomain(), and probeInterpolationOnDomain().
virtual bool ripley::RipleyDomain::isValidTagName | ( | const std::string & | name | ) | const [inline, virtual] |
returns true if name is a defined tag name
name | tag name to be checked |
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE().
virtual void ripley::RipleyDomain::MPIBarrier | ( | ) | const [inline, virtual] |
if compiled for MPI then executes an MPI_Barrier, else does nothing
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE(), ripley::Brick::writeBinaryGridImpl(), and ripley::Rectangle::writeBinaryGridImpl().
void ripley::RipleyDomain::multiplyData | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected] |
copies data in 'in' to 'out' (from reduced to non-reduced fs)
References escript::Data::getDataPointSize(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::Data::getSampleDataRO(), escript::Data::getSampleDataRW(), and escript::Data::requireWrite().
Referenced by interpolateOnDomain().
escript::ASM_ptr ripley::RipleyDomain::newSystemMatrix | ( | const int | row_blocksize, |
const escript::FunctionSpace & | row_functionspace, | ||
const int | column_blocksize, | ||
const escript::FunctionSpace & | column_functionspace, | ||
const int | type | ||
) | const [virtual] |
creates a stiffness matrix and initializes it with zeros
Reimplemented from escript::AbstractContinuousDomain.
References dudley::checkPasoError(), ripley::DegreesOfFreedom, escript::FunctionSpace::getDomain(), getPattern(), escript::FunctionSpace::getTypeCode(), MATRIX_FORMAT_TRILINOS_CRS, and ripley::ReducedDegreesOfFreedom.
Referenced by BOOST_PYTHON_MODULE().
escript::ATP_ptr ripley::RipleyDomain::newTransportProblem | ( | const int | blocksize, |
const escript::FunctionSpace & | functionspace, | ||
const int | type | ||
) | const [virtual] |
creates a transport problem
Reimplemented from escript::AbstractContinuousDomain.
References dudley::checkPasoError(), ripley::DegreesOfFreedom, escript::FunctionSpace::getDomain(), getPattern(), escript::FunctionSpace::getTypeCode(), and ripley::ReducedDegreesOfFreedom.
Referenced by BOOST_PYTHON_MODULE().
virtual void ripley::RipleyDomain::nodesToDOF | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [protected, pure virtual] |
converts data on nodes in 'in' to degrees of freedom in 'out'
Implemented in ripley::Rectangle, and ripley::Brick.
Referenced by interpolateOnDomain().
virtual bool ripley::RipleyDomain::onMasterProcessor | ( | ) | const [inline, virtual] |
returns true if on MPI processor 0, else false
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE().
virtual bool ripley::RipleyDomain::operator!= | ( | const escript::AbstractDomain & | other | ) | const [inline, virtual] |
inequality operator
Reimplemented from escript::AbstractDomain.
bool ripley::RipleyDomain::operator== | ( | const escript::AbstractDomain & | other | ) | const [virtual] |
equality operator
Reimplemented from escript::AbstractDomain.
Reimplemented in ripley::Brick, and ripley::Rectangle.
References m_elementTags, m_faceTags, m_nodeTags, and m_tagMap.
virtual bool ripley::RipleyDomain::ownSample | ( | int | fsType, |
index_t | id | ||
) | const [pure virtual] |
returns true if this rank owns the sample id on given function space
Reimplemented from escript::AbstractDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
signed char ripley::RipleyDomain::preferredInterpolationOnDomain | ( | int | fsType_source, |
int | fsType_target | ||
) | const [virtual] |
Preferred direction of interpolation.
If you really need to test for a particular direction, then use probeInterpolation.
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), isValidFunctionSpaceType(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
void ripley::RipleyDomain::Print_Mesh_Info | ( | const bool | full = false | ) | const [virtual] |
writes information about the mesh to standard output
full | whether to print additional data |
Reimplemented from escript::AbstractContinuousDomain.
Reimplemented in ripley::Brick, and ripley::Rectangle.
References getDescription(), getNumElements(), m_mpiInfo, m_numDim, m_tagMap, Esys_MPIInfo::rank, and Esys_MPIInfo::size.
Referenced by BOOST_PYTHON_MODULE().
bool ripley::RipleyDomain::probeInterpolationACross | ( | int | fsType_source, |
const escript::AbstractDomain & | , | ||
int | fsType_target | ||
) | const [virtual] |
determines whether interpolation from source to target is possible
Reimplemented from escript::AbstractDomain.
bool ripley::RipleyDomain::probeInterpolationOnDomain | ( | int | fsType_source, |
int | fsType_target | ||
) | const [virtual] |
returns true if data on fsType_source can be interpolated onto fsType_target, false otherwise
Reimplemented from escript::AbstractDomain.
References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), isValidFunctionSpaceType(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
virtual void ripley::RipleyDomain::readBinaryGrid | ( | escript::Data & | out, |
std::string | filename, | ||
const ReaderParameters & | params | ||
) | const [pure virtual] |
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by ripley::readBinaryGrid().
virtual void ripley::RipleyDomain::readNcGrid | ( | escript::Data & | out, |
std::string | filename, | ||
std::string | varname, | ||
const ReaderParameters & | params | ||
) | const [pure virtual] |
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by ripley::readNcGrid().
virtual void ripley::RipleyDomain::setAssembler | ( | std::string | type, |
std::map< std::string, escript::Data > | options | ||
) | [inline, virtual] |
Reimplemented in ripley::Brick, and ripley::Rectangle.
Referenced by setAssemblerFromPython().
void ripley::RipleyDomain::setAssemblerFromPython | ( | std::string | type, |
boost::python::list | options | ||
) |
References setAssembler(), and ripley::tupleListToMap().
Referenced by BOOST_PYTHON_MODULE().
void ripley::RipleyDomain::setNewX | ( | const escript::Data & | arg | ) | [virtual] |
assigns new location to the domain.
Reimplemented from escript::AbstractContinuousDomain.
virtual void ripley::RipleyDomain::setTagMap | ( | const std::string & | name, |
int | tag | ||
) | [inline, virtual] |
sets a map from a clear tag name to a tag key
name | tag name |
tag | tag key |
Reimplemented from escript::AbstractDomain.
Referenced by BOOST_PYTHON_MODULE(), ripley::Brick::Brick(), ripley::Brick::populateSampleIds(), ripley::Rectangle::populateSampleIds(), and ripley::Rectangle::Rectangle().
void ripley::RipleyDomain::setTags | ( | const int | fsType, |
const int | newTag, | ||
const escript::Data & | mask | ||
) | const [virtual] |
assigns new tag newTag to all samples of given function space with a positive value of mask for any of its sample points
Reimplemented from escript::AbstractDomain.
References ripley::Elements, ripley::FaceElements, getNumElements(), getNumFaceElements(), getNumNodes(), escript::Data::getSampleDataRO(), m_elementTags, m_faceTags, m_nodeTags, ripley::Nodes, ripley::ReducedElements, ripley::ReducedFaceElements, and updateTagsInUse().
void ripley::RipleyDomain::setToGradient | ( | escript::Data & | out, |
const escript::Data & | in | ||
) | const [virtual] |
copies the gradient of 'in' into 'out'. The actual function space to be considered for the gradient is defined by 'in'. Both arguments have to be defined on this domain.
Reimplemented from escript::AbstractDomain.
References assembleGradient(), escript::continuousFunction(), ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, functionSpaceTypeAsString(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), getMPISize(), escript::FunctionSpace::getTypeCode(), ripley::Nodes, escript::reducedContinuousFunction(), ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
void ripley::RipleyDomain::setToIntegrals | ( | DoubleVector & | integrals, |
const escript::Data & | arg | ||
) | const [virtual] |
copies the integrals of the function defined by arg into integrals. arg has to be defined on this domain.
Reimplemented from escript::AbstractContinuousDomain.
References assembleIntegrate(), ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, escript::function(), functionSpaceTypeAsString(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), escript::FunctionSpace::getTypeCode(), ripley::Nodes, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.
virtual void ripley::RipleyDomain::setToNormal | ( | escript::Data & | out | ) | const [pure 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 domain.
Reimplemented from escript::AbstractDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
virtual void ripley::RipleyDomain::setToSize | ( | escript::Data & | out | ) | const [pure 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 domain.
Reimplemented from escript::AbstractDomain.
Implemented in ripley::Brick, and ripley::Rectangle.
void ripley::RipleyDomain::setToX | ( | escript::Data & | arg | ) | const [virtual] |
copies the location of data points into arg. The domain of arg has to match this domain.
Reimplemented from escript::AbstractDomain.
References assembleCoordinates(), escript::continuousFunction(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), escript::FunctionSpace::getTypeCode(), interpolateOnDomain(), escript::Data::isExpanded(), ripley::Nodes, and escript::Vector().
string ripley::RipleyDomain::showTagNames | ( | ) | const [virtual] |
returns all tag names in a single string separated by commas
Reimplemented from escript::AbstractDomain.
References m_tagMap.
Referenced by BOOST_PYTHON_MODULE().
virtual bool ripley::RipleyDomain::supportsContactElements | ( | ) | const [inline, virtual] |
returns true if this domain supports contact elements, false otherwise
Reimplemented from escript::AbstractDomain.
bool ripley::RipleyDomain::supportsFilter | ( | const boost::python::tuple & | t | ) | const [virtual] |
true if this domain can handle the specified tuple of filter options.
Reimplemented from escript::AbstractDomain.
void ripley::RipleyDomain::updateTagsInUse | ( | int | fsType | ) | const [protected] |
References Esys_MPIInfo::comm, ripley::Elements, ripley::FaceElements, INDEX_T_MAX, INDEX_T_MIN, m_elementTags, m_elementTagsInUse, m_faceTags, m_faceTagsInUse, m_mpiInfo, m_nodeTags, m_nodeTagsInUse, MPI_INT, ripley::Nodes, ripley::Points, ripley::ReducedElements, and ripley::ReducedFaceElements.
Referenced by ripley::Brick::populateSampleIds(), ripley::Rectangle::populateSampleIds(), and setTags().
virtual void ripley::RipleyDomain::writeBinaryGrid | ( | const escript::Data & | in, |
std::string | filename, | ||
int | byteOrder, | ||
int | dataType | ||
) | const [pure virtual] |
Implemented in ripley::Brick, and ripley::Rectangle.
Referenced by BOOST_PYTHON_MODULE().
AbstractAssembler* ripley::RipleyDomain::assembler [protected] |
assembler_t ripley::RipleyDomain::assembler_type [protected] |
Referenced by RipleyDomain(), ripley::Rectangle::setAssembler(), and ripley::Brick::setAssembler().
IndexVector ripley::RipleyDomain::m_diracPointNodeIDs [protected] |
std::vector<struct DiracPoint> ripley::RipleyDomain::m_diracPoints [protected] |
Referenced by addPoints(), assemblePDEDirac(), getDataShape(), getTagFromSampleNo(), and interpolateOnDomain().
IndexVector ripley::RipleyDomain::m_elementTags [mutable, protected] |
IndexVector ripley::RipleyDomain::m_elementTagsInUse [mutable, protected] |
Referenced by borrowListOfTagsInUse(), getNumberOfTagsInUse(), and updateTagsInUse().
IndexVector ripley::RipleyDomain::m_faceTags [mutable, protected] |
IndexVector ripley::RipleyDomain::m_faceTagsInUse [mutable, protected] |
Referenced by borrowListOfTagsInUse(), getNumberOfTagsInUse(), and updateTagsInUse().
Esys_MPIInfo* ripley::RipleyDomain::m_mpiInfo [protected] |
Referenced by ripley::Brick::Brick(), ripley::Brick::createPattern(), ripley::Rectangle::createPattern(), ripley::Rectangle::dump(), ripley::Brick::dump(), getSystemMatrixTypeId(), getTransportTypeId(), ripley::Brick::populateSampleIds(), ripley::Rectangle::populateSampleIds(), Print_Mesh_Info(), ripley::Brick::randomFillWorker(), ripley::Rectangle::randomFillWorker(), ripley::Rectangle::Rectangle(), RipleyDomain(), updateTagsInUse(), and ~RipleyDomain().
IndexVector ripley::RipleyDomain::m_nodeTags [mutable, protected] |
IndexVector ripley::RipleyDomain::m_nodeTagsInUse [mutable, protected] |
Referenced by borrowListOfTagsInUse(), getNumberOfTagsInUse(), and updateTagsInUse().
dim_t ripley::RipleyDomain::m_numDim [protected] |
StatusType ripley::RipleyDomain::m_status [protected] |
TagMap ripley::RipleyDomain::m_tagMap [protected] |
Referenced by operator==(), Print_Mesh_Info(), and showTagNames().