escript
Revision_
|
AbstractContinuousDomain, base class for continuous domains. More...
#include <AbstractContinuousDomain.h>
Public Member Functions | |
AbstractContinuousDomain () | |
Default constructor for AbstractContinuousDomain. More... | |
virtual | ~AbstractContinuousDomain () |
Destructor for AbstractContinuousDomain. More... | |
virtual bool | isValidFunctionSpaceType (int functionSpaceType) const |
Returns true if the given integer is a valid function space type for this domain. More... | |
virtual std::string | getDescription () const |
Return a description for this domain. More... | |
virtual int | getContinuousFunctionCode () const |
Return a continuous FunctionSpace code. More... | |
virtual int | getReducedContinuousFunctionCode () const |
Return a continuous on reduced order FunctionSpace code. More... | |
virtual int | getFunctionCode () const |
Return a function FunctionSpace code. More... | |
virtual int | getReducedFunctionCode () const |
Return a function FunctionSpace code with reduced integration order. More... | |
virtual int | getFunctionOnBoundaryCode () const |
Return a function on boundary FunctionSpace code. More... | |
virtual int | getReducedFunctionOnBoundaryCode () const |
Return a code for a function on boundary FunctionSpace with reduced integration order. More... | |
virtual int | getFunctionOnContactZeroCode () const |
Return a FunctionOnContactZero code. More... | |
virtual int | getReducedFunctionOnContactZeroCode () const |
Return a FunctionOnContactZero for reduced integration order code. More... | |
virtual int | getFunctionOnContactOneCode () const |
Return a FunctionOnContactOne code. More... | |
virtual int | getReducedFunctionOnContactOneCode () const |
Return a FunctionOnContactOne for reduced integration order code. More... | |
virtual int | getSolutionCode () const |
Return a Solution code. More... | |
virtual int | getReducedSolutionCode () const |
Return a ReducedSolution code. More... | |
virtual int | getDiracDeltaFunctionsCode () const |
Return a DiracDeltaFunctions code. More... | |
virtual int | getSystemMatrixTypeId (const boost::python::object &options) const |
return the identifier of the matrix type to be used for the global stiffness matrix when particular solver options are used. More... | |
virtual int | getTransportTypeId (int solver, int preconditioner, int package, bool symmetry) const |
return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver package and symmetric matrix is used. More... | |
virtual void | setToIntegrals (std::vector< double > &integrals, const escript::Data &arg) const |
copies the integrals of the function defined by arg into integrals. arg has to be defined on this. has to be implemented by the Domain Adapter. More... | |
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 |
Return the domain as const AbstractContinuousDomain&. More... | |
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 lumped stiffness matrix matrix More... | |
virtual void | addPDEToTransportProblem (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 More... | |
virtual ASM_ptr | newSystemMatrix (const int row_blocksize, const escript::FunctionSpace &row_functionspace, const int column_blocksize, const escript::FunctionSpace &column_functionspace, const int type) const |
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros: More... | |
virtual ATP_ptr | newTransportProblem (const int blocksize, const escript::FunctionSpace &functionspace, const int type) const |
creates a TransportProblemAdapter More... | |
virtual DataTypes::dim_t | getNumDataPointsGlobal () const |
Return the number of data points summed across all MPI processes. More... | |
virtual std::pair< int, DataTypes::dim_t > | getDataShape (int functionSpaceCode) const |
Return the number of data points per sample, and the number of samples as a pair. More... | |
virtual void | setNewX (const escript::Data &arg) |
assigns new location to the domain More... | |
virtual void | Print_Mesh_Info (const bool full=false) const |
![]() | |
Domain_ptr | getPtr () |
Returns smart pointer which is managing this object. If one does not exist yet it creates one. More... | |
const_Domain_ptr | getPtr () const |
virtual | ~AbstractDomain () |
Destructor for AbstractDomain. More... | |
virtual JMPI | getMPI () const =0 |
returns a shared pointer to the MPI information wrapper for this domain More... | |
virtual int | getMPISize () const =0 |
return the number of processors used for this domain More... | |
virtual int | getMPIRank () const =0 |
return the number MPI rank of this processor More... | |
virtual void | MPIBarrier () const =0 |
If compiled for MPI then execute an MPI_Barrier, else do nothing. More... | |
virtual bool | onMasterProcessor () const =0 |
Return true if on MPI master, else false. More... | |
virtual MPI_Comm | getMPIComm () const =0 |
get the communicator for this domain. Returns an integer on non-MPI builds Routine must be implemented by the DomainAdapter. More... | |
virtual std::string | functionSpaceTypeAsString (int functionSpaceType) const =0 |
Return a description for the given function space type code. More... | |
virtual int | getDim () const =0 |
Returns the spatial dimension of the domain. More... | |
virtual bool | operator== (const AbstractDomain &other) const =0 |
Return true if given domains are equal. More... | |
virtual bool | operator!= (const AbstractDomain &other) const =0 |
Return true if given domains are not equal. More... | |
virtual void | write (const std::string &filename) const =0 |
Writes the domain to an external file filename. More... | |
virtual void | dump (const std::string &filename) const =0 |
dumps the domain to an external file filename. More... | |
virtual int | getTagFromSampleNo (int functionSpaceType, DataTypes::index_t sampleNo) const =0 |
Return the tag key for the given sample number. More... | |
virtual void | setTagMap (const std::string &name, int tag)=0 |
sets a map from a clear tag name to a tag key More... | |
virtual int | getTag (const std::string &name) const =0 |
Return the tag key for tag name. More... | |
virtual bool | isValidTagName (const std::string &name) const |
Returns True if name is a defined tag name. More... | |
virtual std::string | showTagNames () const =0 |
Returns all tag names in a single string sperated by commas. More... | |
virtual const DataTypes::dim_t * | borrowSampleReferenceIDs (int functionSpaceType) const =0 |
Returns a borrowed pointer to the sample reference number id list. More... | |
virtual void | interpolateOnDomain (escript::Data &target, const escript::Data &source) const =0 |
Interpolates data given on source onto target where source and target have to be given on the same domain. More... | |
virtual bool | probeInterpolationOnDomain (int functionSpaceType_source, int functionSpaceType_target) const =0 |
True if interpolation is possible from source to target. More... | |
virtual signed char | preferredInterpolationOnDomain (int functionSpaceType_source, int functionSpaceType_target) const =0 |
Preferred direction of interpolation. If you really need to test for a particular direction, then use probeInterpolation. More... | |
virtual bool | commonFunctionSpace (const std::vector< int > &fs, int &resultcode) const =0 |
given a vector of FunctionSpace type codes, pass back a code which then can all be interpolated to. More... | |
virtual void | interpolateAcross (escript::Data &target, const escript::Data &source) const =0 |
Interpolates data given on source onto target where source and target are given on different domains. More... | |
virtual bool | probeInterpolationAcross (int functionSpaceType_source, const AbstractDomain &targetDomain, int functionSpaceType_target) const =0 |
virtual escript::Data | getX () const =0 |
Returns locations in the domain. The function space is chosen appropriately. More... | |
virtual escript::Data | getNormal () const =0 |
Return boundary normals. The function space is chosen appropriately. More... | |
virtual escript::Data | getSize () const =0 |
Returns the local size of samples. The function space is chosen appropriately. More... | |
virtual void | setToX (escript::Data &out) const =0 |
Copies the location of data points on the domain into out. The actual function space to be considered is defined by out. out has to be defined on this. More... | |
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. More... | |
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. More... | |
virtual void | setToGradient (escript::Data &grad, const escript::Data &arg) const =0 |
Copies the gradient of arg into grad. The actual function space to be considered for the gradient is defined by grad. arg and grad have to be defined on this. More... | |
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. More... | |
virtual void | setTags (int functionSpaceType, int newTag, const escript::Data &mask) const =0 |
assigns new tag newTag to all samples of functionspace with a positive value of mask for any its sample point. More... | |
virtual bool | isCellOriented (int functionSpaceCode) const =0 |
returns true if data on this domain and a function space of type functionSpaceCode has to considered as cell centered data. More... | |
virtual StatusType | getStatus () const |
Returns a status indicator of the domain. The status identifier should be unique over the live time if the object but may be updated if changes to the domain happen, e.g. modifications to its geometry. More... | |
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. More... | |
virtual int | getNumberOfTagsInUse (int functionSpaceCode) const =0 |
returns the number of tags in use and a pointer to an array with the number of tags in use More... | |
virtual const int * | borrowListOfTagsInUse (int functionSpaceCode) const =0 |
virtual bool | canTag (int functionspacecode) const =0 |
Checks if this domain allows tags for the specified functionSpaceCode. More... | |
virtual int | getApproximationOrder (const int functionSpaceCode) const =0 |
returns the approximation order used for a function space functionSpaceCode More... | |
virtual bool | supportsContactElements () const =0 |
virtual bool | supportsFilter (const boost::python::tuple &t) const |
true if this domain can handle to specified tuple of filter options. More... | |
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. More... | |
Additional Inherited Members | |
![]() | |
typedef int | StatusType |
AbstractContinuousDomain, base class for continuous domains.
Description: AbstractContinuousDomain, base class for continuous domains.
NOTE: Most of the virtual functions would be pure virtual except boost.python requires a non abstract base class.
escript::AbstractContinuousDomain::AbstractContinuousDomain | ( | ) |
Default constructor for AbstractContinuousDomain.
Description: Default constructor for AbstractContinuousDomain
Preconditions: Describe any preconditions
Throws: Describe any exceptions thrown
|
virtual |
Destructor for AbstractContinuousDomain.
Description: Destructor for AbstractContinuousDomain
Preconditions: Describe any preconditions
Throws: Describe any exceptions thrown
|
virtual |
adds a PDE onto the lumped stiffness matrix matrix
adds a PDE onto the stiffness matrix mat and a rhs
Reimplemented in finley::FinleyDomain, and dudley::DudleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return the domain as const AbstractContinuousDomain&.
adds a PDE onto the stiffness matrix mat and a rhs
Reimplemented in finley::FinleyDomain, and dudley::DudleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
adds a PDE onto a transport problem
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, and ripley::RipleyDomain.
Referenced by BOOST_PYTHON_MODULE(), and speckley::SpeckleyDomain::getDiracDeltaFunctionsCode().
|
virtual |
Return a continuous FunctionSpace code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return the number of data points per sample, and the number of samples as a pair.
functionSpaceCode | Input - |
Implements escript::AbstractDomain.
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a description for this domain.
Implements escript::AbstractDomain.
Reimplemented in ripley::RipleyDomain, speckley::SpeckleyDomain, finley::FinleyDomain, dudley::DudleyDomain, ripley::MultiBrick, ripley::MultiRectangle, speckley::Brick, speckley::Rectangle, ripley::Rectangle, and ripley::Brick.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a DiracDeltaFunctions code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a function FunctionSpace code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a function on boundary FunctionSpace code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a FunctionOnContactOne code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a FunctionOnContactZero code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return the number of data points summed across all MPI processes.
Reimplemented in ripley::RipleyDomain, speckley::SpeckleyDomain, finley::FinleyDomain, dudley::DudleyDomain, speckley::Rectangle, ripley::Rectangle, speckley::Brick, and ripley::Brick.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Return a continuous on reduced order FunctionSpace code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a function FunctionSpace code with reduced integration order.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a code for a function on boundary FunctionSpace with reduced integration order.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a FunctionOnContactOne for reduced integration order code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a FunctionOnContactZero for reduced integration order code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a ReducedSolution code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
Return a Solution code.
Reimplemented in finley::FinleyDomain, ripley::RipleyDomain, speckley::SpeckleyDomain, and dudley::DudleyDomain.
|
virtual |
return the identifier of the matrix type to be used for the global stiffness matrix when particular solver options are used.
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver package and symmetric matrix is used.
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
Returns true if the given integer is a valid function space type for this domain.
Implements escript::AbstractDomain.
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
|
virtual |
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
creates a TransportProblemAdapter
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
full |
Reimplemented in ripley::RipleyDomain, speckley::SpeckleyDomain, finley::FinleyDomain, dudley::DudleyDomain, ripley::MultiBrick, speckley::Rectangle, ripley::Rectangle, speckley::Brick, and ripley::Brick.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
assigns new location to the domain
Implements escript::AbstractDomain.
Reimplemented in finley::FinleyDomain, dudley::DudleyDomain, ripley::RipleyDomain, and speckley::SpeckleyDomain.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
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.
Reimplemented in finley::FinleyDomain, and dudley::DudleyDomain.
Referenced by escript::Data::integrateWorker().