escript Revision_
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | List of all members
ripley::RipleyDomain Class Referenceabstract

RipleyDomain extends the AbstractContinuousDomain interface for the Ripley library and is the base class for Rectangle and Brick. More...

#include <RipleyDomain.h>

Inheritance diagram for ripley::RipleyDomain:
escript::AbstractContinuousDomain escript::AbstractDomain ripley::Brick ripley::Rectangle ripley::MultiBrick ripley::MultiRectangle

Public Member Functions

 RipleyDomain (dim_t dim, escript::SubWorld_ptr p=escript::SubWorld_ptr())
 Constructor with number of dimensions. Allocates MPI info structure.
 
 ~RipleyDomain ()
 Destructor.
 
virtual escript::JMPI getMPI () const
 returns a reference to the MPI information wrapper for this domain
 
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
 
MPI_Comm 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, dim_t > getDataShape (int fsType) const
 returns the number of data points per sample, and the number of samples as a pair.
 
int getTagFromSampleNo (int fsType, dim_t 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. If you really need to test for a particular direction, then use probeInterpolation.
 
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 (int fsType, 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 (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 boost::python::object &options) 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 (int solver, int preconditioner, int package, 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 (std::vector< real_t > &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 setToIntegrals (std::vector< cplx_t > &integrals, const escript::Data &arg) const
 
virtual void addToSystem (escript::AbstractSystemMatrix &mat, escript::Data &rhs, const DataMap &data, Assembler_ptr assembler) 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, const boost::python::list &data, Assembler_ptr assembler) const
 a wrapper for addToSystem that allows calling from Python
 
virtual void addToRHS (escript::Data &rhs, const DataMap &data, Assembler_ptr assembler) const
 adds a PDE onto rhs, used for custom solvers with varying arguments counts and so on
 
virtual void addToRHSFromPython (escript::Data &rhs, const boost::python::list &data, Assembler_ptr assembler) const
 a wrapper for addToRHS that allows calling from Python
 
virtual void addPDEToTransportProblem (escript::AbstractTransportProblem &tp, escript::Data &source, const DataMap &data, Assembler_ptr assembler) const
 adds a PDE onto a transport problem
 
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
 Do not use. Throws exception.
 
void addPDEToTransportProblemFromPython (escript::AbstractTransportProblem &tp, escript::Data &source, const boost::python::list &data, Assembler_ptr assembler) const
 adds a PDE onto a transport problem
 
virtual escript::ASM_ptr newSystemMatrix (int row_blocksize, const escript::FunctionSpace &row_functionspace, int column_blocksize, const escript::FunctionSpace &column_functionspace, int type) const
 creates a stiffness matrix and initializes it with zeros
 
virtual escript::ATP_ptr newTransportProblem (int blocksize, const escript::FunctionSpace &functionspace, int type) const
 creates a transport problem
 
virtual void Print_Mesh_Info (bool full=false) const
 writes information about the mesh to standard output
 
virtual void write (const std::string &filename) const =0
 writes the current mesh to a file with the given name
 
virtual std::string getDescription () const =0
 returns a description for this domain
 
void dump (const std::string &filename) const =0
 dumps the mesh to a file with the given name
 
const dim_t * 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 &params) const =0
 reads grid data from a netCDF file into a Data object
 
virtual void readBinaryGrid (escript::Data &out, std::string filename, const ReaderParameters &params) const =0
 reads grid data from a raw binary file into a Data object
 
virtual void readBinaryGridFromZipped (escript::Data &out, std::string filename, const ReaderParameters &params) const =0
 reads grid data from a compressed raw binary file into a Data object
 
virtual void writeBinaryGrid (const escript::Data &in, std::string filename, int byteOrder, int dataType) const =0
 writes a Data object to a file in raw binary format
 
virtual bool ownSample (int fsType, index_t id) const =0
 returns true if this rank owns the sample id on given function space
 
virtual dim_t getNumDataPointsGlobal () const =0
 returns the number of data points summed across all MPI processes
 
virtual const dim_t * getNumNodesPerDim () const =0
 returns the number of nodes per MPI rank in each dimension
 
virtual const dim_t * getNumElementsPerDim () const =0
 returns the number of elements per MPI rank in each dimension
 
virtual const dim_t * 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 (index_t 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 const double * getLength () const =0
 returns the lengths of the domain
 
virtual const double * getElementLength () const =0
 returns the lengths of an element
 
virtual RankVector getOwnerVector (int fsType) const =0
 returns a vector of rank numbers where vec[i]=n means that rank n 'owns' element/face element i.
 
virtual bool supportsFilter (const boost::python::tuple &t) const
 returns true if this domain can handle the specified tuple of filter options.
 
virtual Assembler_ptr createAssembler (std::string type, const DataMap &options) const
 
Assembler_ptr createAssemblerFromPython (std::string type, const boost::python::list &options) const
 
- Public Member Functions inherited from escript::AbstractContinuousDomain
 AbstractContinuousDomain ()
 Default constructor for AbstractContinuousDomain.
 
virtual ~AbstractContinuousDomain ()
 Destructor for AbstractContinuousDomain.
 
virtual void setToIntegrals (std::vector< DataTypes::real_t > &integrals, const escript::Data &arg) const
 copies the integrals of the function defined by arg into integrals. arg has to be defined on this. has to be implemented by the Domain Adapter.
 
virtual void setToIntegrals (std::vector< DataTypes::cplx_t > &integrals, const escript::Data &arg) const
 
virtual void addPDEToSystem (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 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
 
- Public Member Functions inherited from escript::AbstractDomain
Domain_ptr getPtr ()
 Returns smart pointer which is managing this object. If one does not exist yet it creates one.
 
const_Domain_ptr getPtr () const
 
virtual ~AbstractDomain ()
 Destructor for AbstractDomain.
 
virtual int getTagFromSampleNo (int functionSpaceType, DataTypes::index_t sampleNo) const =0
 Return the tag key for the given sample number.
 
virtual bool ownSample (int fs_code, DataTypes::index_t id) const =0
 True if this rank owns the sample(id) Must be implemented by the Domain adapter.
 
void throwStandardException (const std::string &functionName) const
 Throw a standard exception. This function is called if any attempt is made to use a base class function.
 
virtual escript::Data randomFill (const DataTypes::ShapeType &shape, const FunctionSpace &what, long seed, const boost::python::tuple &filter) const =0
 Fills the data object with filtered random values.
 

Static Public Member Functions

static void setDecompositionPolicy (DecompositionPolicy value)
 
static DecompositionPolicy getDecompositionPolicy ()
 

Protected Member Functions

template<typename Scalar >
void copyData (escript::Data &out, const escript::Data &in) const
 copies data in 'in' to 'out' (both must be on same function space)
 
template<typename Scalar >
void averageData (escript::Data &out, const escript::Data &in) const
 averages data in 'in' to 'out' (from non-reduced to reduced fs)
 
template<typename Scalar >
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
 
template<typename Scalar >
void addToSystemMatrix (escript::AbstractSystemMatrix *mat, const IndexVector &nodes, dim_t numEq, const std::vector< Scalar > &array) const
 
void addPoints (const std::vector< double > &coords, const std::vector< int > &tags)
 
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 IndexVector getDiagonalIndices (bool upperOnly) const =0
 returns the indices of the occupied matrix diagonals
 
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 (std::vector< real_t > &integrals, const escript::Data &arg) const =0
 copies the integrals of the function defined by 'arg' into 'integrals'
 
virtual void assembleIntegrate (std::vector< cplx_t > &integrals, const escript::Data &arg) const =0
 
virtual std::vector< IndexVectorgetConnections (bool includeShared) const =0
 returns occupied matrix column indices for all matrix rows
 
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'
 
template<typename Scalar >
void dofToNodes (escript::Data &out, const escript::Data &in) const
 converts data on degrees of freedom in 'in' to nodes in 'out'
 
virtual dim_t getDofOfNode (dim_t node) const =0
 
template<>
void addToSystemMatrix (escript::AbstractSystemMatrix *mat, const IndexVector &nodes, dim_t numEq, const DoubleVector &array) const
 
template<>
void addToSystemMatrix (escript::AbstractSystemMatrix *mat, const IndexVector &nodes, dim_t numEq, const vector< cplx_t > &array) const
 

Protected Attributes

int m_numDim
 
StatusType m_status
 
escript::JMPI m_mpiInfo
 
TagMap m_tagMap
 
std::vector< int > m_nodeTags
 
std::vector< int > m_nodeTagsInUse
 
std::vector< int > m_elementTags
 
std::vector< int > m_elementTagsInUse
 
std::vector< int > m_faceTags
 
std::vector< int > m_faceTagsInUse
 
std::vector< DiracPointm_diracPoints
 
IndexVector m_diracPointNodeIDs
 
assembler_t assembler_type
 

Private Member Functions

void assemblePDE (escript::AbstractSystemMatrix *mat, escript::Data &rhs, const DataMap &coefs, Assembler_ptr assembler) const
 calls the right PDE assembly routines after performing input checks
 
void assemblePDEBoundary (escript::AbstractSystemMatrix *mat, escript::Data &rhs, const DataMap &coefs, Assembler_ptr assembler) const
 
void assemblePDEDirac (escript::AbstractSystemMatrix *mat, escript::Data &rhs, const DataMap &coefs, Assembler_ptr assembler) const
 
template<typename Scalar >
void setToIntegralsWorker (std::vector< Scalar > &integrals, const escript::Data &arg) const
 
virtual dim_t findNode (const double *coords) const =0
 finds the node that the given point coordinates belong to
 

Static Private Attributes

static DecompositionPolicy m_decompPolicy = DECOMP_ADD_ELEMENTS
 

Additional Inherited Members

- Public Types inherited from escript::AbstractDomain
typedef int StatusType
 

Detailed Description

RipleyDomain extends the AbstractContinuousDomain interface for the Ripley library and is the base class for Rectangle and Brick.

Constructor & Destructor Documentation

◆ RipleyDomain()

ripley::RipleyDomain::RipleyDomain ( dim_t  dim,
escript::SubWorld_ptr  p = escript::SubWorld_ptr() 
)

Constructor with number of dimensions. Allocates MPI info structure.

References assembler_type, ripley::DEFAULT_ASSEMBLER, m_mpiInfo, escript::makeInfo(), and MPI_COMM_WORLD.

◆ ~RipleyDomain()

ripley::RipleyDomain::~RipleyDomain ( )

Destructor.

Member Function Documentation

◆ addPDEToTransportProblem() [1/2]

void ripley::RipleyDomain::addPDEToTransportProblem ( escript::AbstractTransportProblem tp,
escript::Data source,
const DataMap data,
Assembler_ptr  assembler 
) const
virtual

◆ addPDEToTransportProblem() [2/2]

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

Do not use. Throws exception.

Reimplemented from escript::AbstractContinuousDomain.

◆ addPDEToTransportProblemFromPython()

void ripley::RipleyDomain::addPDEToTransportProblemFromPython ( escript::AbstractTransportProblem tp,
escript::Data source,
const boost::python::list &  data,
Assembler_ptr  assembler 
) const

adds a PDE onto a transport problem

References ripley::tupleListToMap().

Referenced by BOOST_PYTHON_MODULE().

◆ addPoints()

void ripley::RipleyDomain::addPoints ( const std::vector< double > &  coords,
const std::vector< int > &  tags 
)
protected

◆ addToRHS()

void ripley::RipleyDomain::addToRHS ( escript::Data rhs,
const DataMap data,
Assembler_ptr  assembler 
) const
virtual

adds a PDE onto rhs, used for custom solvers with varying arguments counts and so on

References escript::Data::isEmpty(), and ripley::isNotEmpty().

◆ addToRHSFromPython()

void ripley::RipleyDomain::addToRHSFromPython ( escript::Data rhs,
const boost::python::list &  data,
Assembler_ptr  assembler 
) const
virtual

a wrapper for addToRHS that allows calling from Python

References ripley::tupleListToMap().

Referenced by BOOST_PYTHON_MODULE().

◆ addToSystem()

void ripley::RipleyDomain::addToSystem ( escript::AbstractSystemMatrix mat,
escript::Data rhs,
const DataMap data,
Assembler_ptr  assembler 
) const
virtual

adds a PDE onto the stiffness matrix mat and rhs, used for custom solvers with varying arguments counts and so on

References ripley::isNotEmpty().

◆ addToSystemFromPython()

void ripley::RipleyDomain::addToSystemFromPython ( escript::AbstractSystemMatrix mat,
escript::Data rhs,
const boost::python::list &  data,
Assembler_ptr  assembler 
) const
virtual

a wrapper for addToSystem that allows calling from Python

References ripley::tupleListToMap().

Referenced by BOOST_PYTHON_MODULE().

◆ addToSystemMatrix() [1/3]

template<>
void ripley::RipleyDomain::addToSystemMatrix ( escript::AbstractSystemMatrix mat,
const IndexVector nodes,
dim_t  numEq,
const DoubleVector array 
) const
protected

◆ addToSystemMatrix() [2/3]

template<typename Scalar >
void ripley::RipleyDomain::addToSystemMatrix ( escript::AbstractSystemMatrix mat,
const IndexVector nodes,
dim_t  numEq,
const std::vector< Scalar > &  array 
) const
protected

◆ addToSystemMatrix() [3/3]

template<>
void ripley::RipleyDomain::addToSystemMatrix ( escript::AbstractSystemMatrix mat,
const IndexVector nodes,
dim_t  numEq,
const vector< cplx_t > &  array 
) const
protected

◆ assembleCoordinates()

virtual void ripley::RipleyDomain::assembleCoordinates ( escript::Data arg) const
protectedpure virtual

populates the data object 'arg' with the node coordinates

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by setToX().

◆ assembleGradient()

virtual void ripley::RipleyDomain::assembleGradient ( escript::Data out,
const escript::Data in 
) const
protectedpure virtual

computes the gradient of 'in' and puts the result in 'out'

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by setToGradient().

◆ assembleIntegrate() [1/2]

virtual void ripley::RipleyDomain::assembleIntegrate ( std::vector< cplx_t > &  integrals,
const escript::Data arg 
) const
protectedpure virtual

Implemented in ripley::Brick, and ripley::Rectangle.

◆ assembleIntegrate() [2/2]

virtual void ripley::RipleyDomain::assembleIntegrate ( std::vector< real_t > &  integrals,
const escript::Data arg 
) const
protectedpure virtual

copies the integrals of the function defined by 'arg' into 'integrals'

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by setToIntegralsWorker().

◆ assemblePDE()

void ripley::RipleyDomain::assemblePDE ( escript::AbstractSystemMatrix mat,
escript::Data rhs,
const DataMap coefs,
Assembler_ptr  assembler 
) const
private

◆ assemblePDEBoundary()

void ripley::RipleyDomain::assemblePDEBoundary ( escript::AbstractSystemMatrix mat,
escript::Data rhs,
const DataMap coefs,
Assembler_ptr  assembler 
) const
private

◆ assemblePDEDirac()

void ripley::RipleyDomain::assemblePDEDirac ( escript::AbstractSystemMatrix mat,
escript::Data rhs,
const DataMap coefs,
Assembler_ptr  assembler 
) const
private

◆ averageData()

template<typename Scalar >
void ripley::RipleyDomain::averageData ( escript::Data out,
const escript::Data in 
) const
protected

◆ borrowListOfTagsInUse()

const int * ripley::RipleyDomain::borrowListOfTagsInUse ( int  fsType) const
virtual

returns a pointer to the list of tags in use for a function space type

Implements escript::AbstractDomain.

References ripley::Elements, ripley::FaceElements, m_elementTagsInUse, m_faceTagsInUse, m_nodeTagsInUse, ripley::Nodes, ripley::ReducedElements, and ripley::ReducedFaceElements.

◆ borrowSampleReferenceIDs()

const dim_t * ripley::RipleyDomain::borrowSampleReferenceIDs ( int  fsType) const
pure virtual

returns the array of reference numbers for a function space type

Parameters
fsTypeThe function space type

Implements escript::AbstractDomain.

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

Referenced by weipa::RipleyNodes::initFromRipley(), and weipa::RipleyElements::initFromRipley().

◆ canTag()

bool ripley::RipleyDomain::canTag ( int  fsType) const
virtual

◆ commonFunctionSpace()

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

Returns
true if result is valid, false if not

Implements escript::AbstractDomain.

References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.

◆ copyData()

template<typename Scalar >
void ripley::RipleyDomain::copyData ( escript::Data out,
const escript::Data in 
) const
protected

◆ createAssembler()

virtual Assembler_ptr ripley::RipleyDomain::createAssembler ( std::string  type,
const DataMap options 
) const
inlinevirtual

Reimplemented in ripley::Brick, and ripley::Rectangle.

◆ createAssemblerFromPython()

Assembler_ptr ripley::RipleyDomain::createAssemblerFromPython ( std::string  type,
const boost::python::list &  options 
) const

References ripley::tupleListToMap().

Referenced by BOOST_PYTHON_MODULE().

◆ dofToNodes()

template<typename Scalar >
void ripley::RipleyDomain::dofToNodes ( escript::Data out,
const escript::Data in 
) const
protected

◆ dump()

void ripley::RipleyDomain::dump ( const std::string &  filename) const
pure virtual

dumps the mesh to a file with the given name

Parameters
filenameThe name of the output file

Implements escript::AbstractDomain.

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by BOOST_PYTHON_MODULE().

◆ findNode()

virtual dim_t ripley::RipleyDomain::findNode ( const double *  coords) const
privatepure virtual

finds the node that the given point coordinates belong to

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

◆ functionSpaceTypeAsString()

string ripley::RipleyDomain::functionSpaceTypeAsString ( int  fsType) const
virtual

◆ getApproximationOrder()

virtual int ripley::RipleyDomain::getApproximationOrder ( int  fsType) const
inlinevirtual

returns the approximation order used for a function space

Implements escript::AbstractDomain.

◆ getConnections()

virtual std::vector< IndexVector > ripley::RipleyDomain::getConnections ( bool  includeShared) const
protectedpure virtual

returns occupied matrix column indices for all matrix rows

Implemented in ripley::MultiBrick, ripley::Brick, and ripley::Rectangle.

◆ getContinuousFunctionCode()

virtual int ripley::RipleyDomain::getContinuousFunctionCode ( ) const
inlinevirtual

returns a continuous FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

Referenced by ripley::Rectangle::randomFillWorker().

◆ getDataShape()

pair< int, dim_t > ripley::RipleyDomain::getDataShape ( int  fsType) const
virtual

◆ getDecompositionPolicy()

DecompositionPolicy ripley::RipleyDomain::getDecompositionPolicy ( )
static

◆ getDescription()

virtual std::string ripley::RipleyDomain::getDescription ( ) const
pure virtual

◆ getDiagonalIndices()

virtual IndexVector ripley::RipleyDomain::getDiagonalIndices ( bool  upperOnly) const
protectedpure virtual

returns the indices of the occupied matrix diagonals

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

◆ getDim()

virtual int ripley::RipleyDomain::getDim ( ) const
inlinevirtual

◆ getDiracDeltaFunctionsCode()

virtual int ripley::RipleyDomain::getDiracDeltaFunctionsCode ( ) const
inlinevirtual

returns a DiracDeltaFunctions FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getDofOfNode()

virtual dim_t ripley::RipleyDomain::getDofOfNode ( dim_t  node) const
protectedpure virtual

Implemented in ripley::Brick, and ripley::Rectangle.

◆ getElementLength()

virtual const double * ripley::RipleyDomain::getElementLength ( ) const
pure virtual

returns the lengths of an element

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by speckley::RipleyCoupler::interpolate().

◆ getFunctionCode()

virtual int ripley::RipleyDomain::getFunctionCode ( ) const
inlinevirtual

returns a function FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getFunctionOnBoundaryCode()

virtual int ripley::RipleyDomain::getFunctionOnBoundaryCode ( ) const
inlinevirtual

returns a function on boundary FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getFunctionOnContactOneCode()

virtual int ripley::RipleyDomain::getFunctionOnContactOneCode ( ) const
inlinevirtual

returns a FunctionOnContactOne code

Reimplemented from escript::AbstractContinuousDomain.

◆ getFunctionOnContactZeroCode()

virtual int ripley::RipleyDomain::getFunctionOnContactZeroCode ( ) const
inlinevirtual

return a FunctionOnContactZero code

Reimplemented from escript::AbstractContinuousDomain.

◆ getGridParameters()

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().

◆ getLength()

virtual const double * ripley::RipleyDomain::getLength ( ) const
pure virtual

returns the lengths of the domain

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by speckley::RipleyCoupler::validInterpolation().

◆ getLocalCoordinate()

virtual double ripley::RipleyDomain::getLocalCoordinate ( index_t  index,
int  dim 
) const
pure virtual

◆ getMPI()

virtual escript::JMPI ripley::RipleyDomain::getMPI ( ) const
inlinevirtual

returns a reference to the MPI information wrapper for this domain

Implements escript::AbstractDomain.

◆ getMPIComm()

MPI_Comm ripley::RipleyDomain::getMPIComm ( ) const
inlinevirtual

◆ getMPIRank()

virtual int ripley::RipleyDomain::getMPIRank ( ) const
inlinevirtual

returns the MPI rank of this processor

Implements escript::AbstractDomain.

Referenced by BOOST_PYTHON_MODULE().

◆ getMPISize()

virtual int ripley::RipleyDomain::getMPISize ( ) const
inlinevirtual

◆ getNodeDistribution()

virtual IndexVector ripley::RipleyDomain::getNodeDistribution ( ) const
pure virtual

returns the node distribution vector

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

Referenced by weipa::RipleyNodes::initFromRipley().

◆ getNormal()

escript::Data ripley::RipleyDomain::getNormal ( ) const
virtual

returns boundary normals at the quadrature point on the face elements

Implements escript::AbstractDomain.

References escript::functionOnBoundary(), and escript::FunctionSpace::getNormal().

Referenced by BOOST_PYTHON_MODULE().

◆ getNumberOfTagsInUse()

int ripley::RipleyDomain::getNumberOfTagsInUse ( int  fsType) const
virtual

◆ getNumDataPointsGlobal()

virtual dim_t 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().

◆ getNumDOF()

virtual dim_t ripley::RipleyDomain::getNumDOF ( ) const
protectedpure virtual

returns the number of degrees of freedom per MPI rank

Implemented in ripley::Brick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by getDataShape().

◆ getNumElements()

virtual dim_t ripley::RipleyDomain::getNumElements ( ) const
protectedpure virtual

returns the number of elements per MPI rank

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by getDataShape(), Print_Mesh_Info(), and setTags().

◆ getNumElementsPerDim()

virtual const dim_t * 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(), and speckley::RipleyCoupler::interpolate().

◆ getNumFaceElements()

virtual dim_t ripley::RipleyDomain::getNumFaceElements ( ) const
protectedpure virtual

returns the number of face elements on current MPI rank

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by getDataShape(), and setTags().

◆ getNumFacesPerBoundary()

virtual const dim_t * 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, ripley::MultiBrick, and ripley::Rectangle.

Referenced by weipa::RipleyElements::initFromRipley(), and speckley::RipleyCoupler::interpolate().

◆ getNumNodes()

virtual dim_t ripley::RipleyDomain::getNumNodes ( ) const
protectedpure virtual

returns the number of nodes per MPI rank

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by getDataShape(), and setTags().

◆ getNumNodesPerDim()

virtual const dim_t * 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().

◆ getNumSubdivisionsPerDim()

virtual const int * ripley::RipleyDomain::getNumSubdivisionsPerDim ( ) const
pure virtual

returns the number of spatial subdivisions in each dimension

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

Referenced by speckley::RipleyCoupler::validInterpolation().

◆ getOwnerVector()

virtual RankVector ripley::RipleyDomain::getOwnerVector ( int  fsType) const
pure virtual

returns a vector of rank numbers where vec[i]=n means that rank n 'owns' element/face element i.

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by weipa::RipleyElements::initFromRipley().

◆ getReducedContinuousFunctionCode()

virtual int ripley::RipleyDomain::getReducedContinuousFunctionCode ( ) const
inlinevirtual

returns a continuous on reduced order nodes FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getReducedFunctionCode()

virtual int ripley::RipleyDomain::getReducedFunctionCode ( ) const
inlinevirtual

returns a function with reduced integration order FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getReducedFunctionOnBoundaryCode()

virtual int ripley::RipleyDomain::getReducedFunctionOnBoundaryCode ( ) const
inlinevirtual

returns a function on boundary with reduced integration order FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getReducedFunctionOnContactOneCode()

virtual int ripley::RipleyDomain::getReducedFunctionOnContactOneCode ( ) const
inlinevirtual

returns a FunctionOnContactOne code with reduced integration order

Reimplemented from escript::AbstractContinuousDomain.

◆ getReducedFunctionOnContactZeroCode()

virtual int ripley::RipleyDomain::getReducedFunctionOnContactZeroCode ( ) const
inlinevirtual

returns a FunctionOnContactZero code with reduced integration order

Reimplemented from escript::AbstractContinuousDomain.

◆ getReducedSolutionCode()

virtual int ripley::RipleyDomain::getReducedSolutionCode ( ) const
inlinevirtual

returns a ReducedSolution FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getSize()

escript::Data ripley::RipleyDomain::getSize ( ) const
virtual

returns the element size

Implements escript::AbstractDomain.

References escript::function(), and escript::FunctionSpace::getSize().

Referenced by BOOST_PYTHON_MODULE().

◆ getSolutionCode()

virtual int ripley::RipleyDomain::getSolutionCode ( ) const
inlinevirtual

returns a Solution FunctionSpace code

Reimplemented from escript::AbstractContinuousDomain.

◆ getStatus()

virtual StatusType ripley::RipleyDomain::getStatus ( ) const
inlinevirtual

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.

◆ getSystemMatrixTypeId()

int ripley::RipleyDomain::getSystemMatrixTypeId ( const boost::python::object &  options) 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

Parameters
optionsa python object containing the solver, package, preconditioner and symmetry

Reimplemented from escript::AbstractContinuousDomain.

References escript::SolverBuddy::getPackage(), escript::SolverBuddy::getPreconditioner(), escript::SolverBuddy::getSolverMethod(), paso::SystemMatrix< T >::getSystemMatrixTypeId(), escript::SolverBuddy::isComplex(), escript::isDirectSolver(), escript::SolverBuddy::isSymmetric(), escript::SO_DEFAULT, escript::SO_METHOD_DIRECT, escript::SO_PACKAGE_TRILINOS, escript::SO_PRECONDITIONER_AMG, and escript::SO_PRECONDITIONER_ILUT.

Referenced by BOOST_PYTHON_MODULE().

◆ getTag()

virtual int ripley::RipleyDomain::getTag ( const std::string &  name) const
inlinevirtual

returns the tag key for tag name

Parameters
nametag name

Implements escript::AbstractDomain.

Referenced by BOOST_PYTHON_MODULE().

◆ getTagFromSampleNo()

int ripley::RipleyDomain::getTagFromSampleNo ( int  fsType,
dim_t  sampleNo 
) const

returns the tag key for the given sample number

Parameters
fsTypeThe function space type
sampleNoThe sample number

References ripley::Elements, ripley::FaceElements, m_diracPoints, m_elementTags, m_faceTags, m_nodeTags, ripley::Nodes, ripley::Points, ripley::ReducedElements, and ripley::ReducedFaceElements.

◆ getTransportTypeId()

int ripley::RipleyDomain::getTransportTypeId ( int  solver,
int  preconditioner,
int  package,
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

Parameters
solver
preconditioner
package
symmetry

Reimplemented from escript::AbstractContinuousDomain.

References paso::TransportProblem::getTypeId().

Referenced by BOOST_PYTHON_MODULE().

◆ getX()

escript::Data ripley::RipleyDomain::getX ( ) const
virtual

returns locations in the FEM nodes

Implements escript::AbstractDomain.

References escript::continuousFunction(), and escript::FunctionSpace::getX().

Referenced by BOOST_PYTHON_MODULE().

◆ interpolateAcross()

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

Implements escript::AbstractDomain.

Reimplemented in ripley::MultiBrick, and ripley::MultiRectangle.

◆ interpolateNodesOnElements()

virtual void ripley::RipleyDomain::interpolateNodesOnElements ( escript::Data out,
const escript::Data in,
bool  reduced 
) const
protectedpure virtual

interpolates data on nodes in 'in' onto (reduced) elements in 'out'

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by interpolateOnDomain().

◆ interpolateNodesOnFaces()

virtual void ripley::RipleyDomain::interpolateNodesOnFaces ( escript::Data out,
const escript::Data in,
bool  reduced 
) const
protectedpure virtual

interpolates data on nodes in 'in' onto (reduced) face elements in 'out'

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by interpolateOnDomain().

◆ interpolateOnDomain()

void ripley::RipleyDomain::interpolateOnDomain ( escript::Data target,
const escript::Data source 
) const
virtual

◆ isCellOriented()

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

Implements escript::AbstractDomain.

References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.

◆ isValidFunctionSpaceType()

bool ripley::RipleyDomain::isValidFunctionSpaceType ( int  fsType) const
virtual

◆ isValidTagName()

virtual bool ripley::RipleyDomain::isValidTagName ( const std::string &  name) const
inlinevirtual

returns true if name is a defined tag name

Parameters
nametag name to be checked

Reimplemented from escript::AbstractDomain.

Referenced by BOOST_PYTHON_MODULE().

◆ MPIBarrier()

virtual void ripley::RipleyDomain::MPIBarrier ( ) const
inlinevirtual

if compiled for MPI then executes an MPI_Barrier, else does nothing

Implements escript::AbstractDomain.

Referenced by BOOST_PYTHON_MODULE(), ripley::Brick::writeBinaryGridImpl(), and ripley::Rectangle::writeBinaryGridImpl().

◆ multiplyData()

template<typename Scalar >
void ripley::RipleyDomain::multiplyData ( escript::Data out,
const escript::Data in 
) const
protected

◆ newSystemMatrix()

escript::ASM_ptr ripley::RipleyDomain::newSystemMatrix ( int  row_blocksize,
const escript::FunctionSpace row_functionspace,
int  column_blocksize,
const escript::FunctionSpace column_functionspace,
int  type 
) const
virtual

creates a stiffness matrix and initializes it with zeros

Reimplemented from escript::AbstractContinuousDomain.

References escript::FunctionSpace::getDomain(), escript::FunctionSpace::getTypeCode(), MATRIX_FORMAT_COMPLEX, and ripley::SMT_CUSP.

Referenced by BOOST_PYTHON_MODULE().

◆ newTransportProblem()

escript::ATP_ptr ripley::RipleyDomain::newTransportProblem ( int  blocksize,
const escript::FunctionSpace functionspace,
int  type 
) const
virtual

creates a transport problem

Reimplemented from escript::AbstractContinuousDomain.

References escript::FunctionSpace::getDomain(), and escript::FunctionSpace::getTypeCode().

Referenced by BOOST_PYTHON_MODULE().

◆ nodesToDOF()

virtual void ripley::RipleyDomain::nodesToDOF ( escript::Data out,
const escript::Data in 
) const
protectedpure virtual

converts data on nodes in 'in' to degrees of freedom in 'out'

Implemented in ripley::Brick, and ripley::Rectangle.

Referenced by interpolateOnDomain().

◆ onMasterProcessor()

virtual bool ripley::RipleyDomain::onMasterProcessor ( ) const
inlinevirtual

returns true if on MPI processor 0, else false

Implements escript::AbstractDomain.

Referenced by BOOST_PYTHON_MODULE().

◆ operator!=()

virtual bool ripley::RipleyDomain::operator!= ( const escript::AbstractDomain other) const
inlinevirtual

inequality operator

Implements escript::AbstractDomain.

◆ operator==()

bool ripley::RipleyDomain::operator== ( const escript::AbstractDomain other) const
virtual

◆ ownSample()

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

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

◆ preferredInterpolationOnDomain()

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.

Returns
0 for not possible, 1 for possible and preferred, -1 other direction preferred (does not mean this direction is possible)

Implements escript::AbstractDomain.

References ripley::DegreesOfFreedom, ripley::Elements, ripley::FaceElements, getDescription(), isValidFunctionSpaceType(), ripley::Nodes, ripley::Points, ripley::ReducedDegreesOfFreedom, ripley::ReducedElements, ripley::ReducedFaceElements, and ripley::ReducedNodes.

◆ Print_Mesh_Info()

void ripley::RipleyDomain::Print_Mesh_Info ( bool  full = false) const
virtual

writes information about the mesh to standard output

Parameters
fullwhether to print additional data

Reimplemented from escript::AbstractContinuousDomain.

Reimplemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

References getDescription(), getNumElements(), m_mpiInfo, m_numDim, and m_tagMap.

Referenced by BOOST_PYTHON_MODULE(), ripley::Brick::Print_Mesh_Info(), ripley::MultiBrick::Print_Mesh_Info(), and ripley::Rectangle::Print_Mesh_Info().

◆ probeInterpolationAcross()

bool ripley::RipleyDomain::probeInterpolationAcross ( int  fsType_source,
const escript::AbstractDomain ,
int  fsType_target 
) const
virtual

determines whether interpolation from source to target is possible

Implements escript::AbstractDomain.

◆ probeInterpolationOnDomain()

bool ripley::RipleyDomain::probeInterpolationOnDomain ( int  fsType_source,
int  fsType_target 
) const
virtual

◆ readBinaryGrid()

virtual void ripley::RipleyDomain::readBinaryGrid ( escript::Data out,
std::string  filename,
const ReaderParameters params 
) const
pure virtual

reads grid data from a raw binary file into a Data object

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by ripley::readBinaryGrid().

◆ readBinaryGridFromZipped()

virtual void ripley::RipleyDomain::readBinaryGridFromZipped ( escript::Data out,
std::string  filename,
const ReaderParameters params 
) const
pure virtual

reads grid data from a compressed raw binary file into a Data object

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by ripley::readBinaryGridFromZipped().

◆ readNcGrid()

virtual void ripley::RipleyDomain::readNcGrid ( escript::Data out,
std::string  filename,
std::string  varname,
const ReaderParameters params 
) const
pure virtual

reads grid data from a netCDF file into a Data object

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by ripley::readNcGrid().

◆ setDecompositionPolicy()

void ripley::RipleyDomain::setDecompositionPolicy ( DecompositionPolicy  value)
static

◆ setNewX()

void ripley::RipleyDomain::setNewX ( const escript::Data arg)
virtual

assigns new location to the domain.

Note
This is not supported in Ripley

Reimplemented from escript::AbstractContinuousDomain.

◆ setTagMap()

virtual void ripley::RipleyDomain::setTagMap ( const std::string &  name,
int  tag 
)
inlinevirtual

◆ setTags()

void ripley::RipleyDomain::setTags ( int  fsType,
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

Implements 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().

◆ setToGradient()

void ripley::RipleyDomain::setToGradient ( escript::Data out,
const escript::Data in 
) const
virtual

◆ setToIntegrals() [1/2]

void ripley::RipleyDomain::setToIntegrals ( std::vector< cplx_t > &  integrals,
const escript::Data arg 
) const
virtual

◆ setToIntegrals() [2/2]

void ripley::RipleyDomain::setToIntegrals ( std::vector< real_t > &  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.

◆ setToIntegralsWorker()

template<typename Scalar >
void ripley::RipleyDomain::setToIntegralsWorker ( std::vector< Scalar > &  integrals,
const escript::Data arg 
) const
private

◆ setToNormal()

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.

Implements escript::AbstractDomain.

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

◆ setToSize()

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.

Implements escript::AbstractDomain.

Implemented in ripley::Brick, ripley::MultiBrick, and ripley::Rectangle.

◆ setToX()

void ripley::RipleyDomain::setToX ( escript::Data arg) const
virtual

◆ showTagNames()

string ripley::RipleyDomain::showTagNames ( ) const
virtual

returns all tag names in a single string separated by commas

Implements escript::AbstractDomain.

References m_tagMap.

Referenced by BOOST_PYTHON_MODULE().

◆ supportsContactElements()

virtual bool ripley::RipleyDomain::supportsContactElements ( ) const
inlinevirtual

returns true if this domain supports contact elements, false otherwise

Implements escript::AbstractDomain.

◆ supportsFilter()

bool ripley::RipleyDomain::supportsFilter ( const boost::python::tuple &  t) const
virtual

returns true if this domain can handle the specified tuple of filter options.

Reimplemented from escript::AbstractDomain.

◆ updateTagsInUse()

void ripley::RipleyDomain::updateTagsInUse ( int  fsType) const
protected

◆ write()

virtual void ripley::RipleyDomain::write ( const std::string &  filename) const
pure virtual

writes the current mesh to a file with the given name

Parameters
filenameThe name of the file to write to

Implements escript::AbstractDomain.

Implemented in ripley::Brick, and ripley::Rectangle.

◆ writeBinaryGrid()

virtual void ripley::RipleyDomain::writeBinaryGrid ( const escript::Data in,
std::string  filename,
int  byteOrder,
int  dataType 
) const
pure virtual

writes a Data object to a file in raw binary format

Implemented in ripley::Brick, ripley::MultiBrick, ripley::MultiRectangle, and ripley::Rectangle.

Referenced by BOOST_PYTHON_MODULE().

Member Data Documentation

◆ assembler_type

assembler_t ripley::RipleyDomain::assembler_type
protected

Referenced by RipleyDomain().

◆ m_decompPolicy

DecompositionPolicy ripley::RipleyDomain::m_decompPolicy = DECOMP_ADD_ELEMENTS
staticprivate

◆ m_diracPointNodeIDs

IndexVector ripley::RipleyDomain::m_diracPointNodeIDs
protected

◆ m_diracPoints

std::vector<DiracPoint> ripley::RipleyDomain::m_diracPoints
protected

◆ m_elementTags

std::vector<int> ripley::RipleyDomain::m_elementTags
mutableprotected

◆ m_elementTagsInUse

std::vector<int> ripley::RipleyDomain::m_elementTagsInUse
protected

◆ m_faceTags

std::vector<int> ripley::RipleyDomain::m_faceTags
mutableprotected

◆ m_faceTagsInUse

std::vector<int> ripley::RipleyDomain::m_faceTagsInUse
protected

◆ m_mpiInfo

escript::JMPI ripley::RipleyDomain::m_mpiInfo
protected

◆ m_nodeTags

std::vector<int> ripley::RipleyDomain::m_nodeTags
mutableprotected

◆ m_nodeTagsInUse

std::vector<int> ripley::RipleyDomain::m_nodeTagsInUse
protected

◆ m_numDim

int ripley::RipleyDomain::m_numDim
protected

◆ m_status

StatusType ripley::RipleyDomain::m_status
protected

◆ m_tagMap

TagMap ripley::RipleyDomain::m_tagMap
protected

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