escript Namespace Reference

## Namespaces

| DataTypes
| Contains the types to represent Shapes, Regions, RegionLoop ranges and vectors of data as well as the functions to manipulate them.
| reducerstatus

## Classes

struct | AbsMax
| Return the absolute maximum value of the two given values. More...
class | AbstractContinuousDomain
| AbstractContinuousDomain, base class for continuous domains. More...
class | AbstractDomain
| Base class for all escript domains. More...
class | AbstractReducer
class | AbstractSystemMatrix
| Base class for escript system matrices. More...
class | AbstractTransportProblem
| Give a short description of what AbstractTransportProblem does. More...
class | AssertException
| An exception class for assertions within escript. More...
class | Data
| Data represents a collection of datapoints. More...
class | DataAbstract
class | DataConstant
| DataConstant stores a single data point which represents the entire function space. More...
class | DataEmpty
| Implements the DataAbstract interface for an empty Data object. More...
class | DataException
class | DataExpanded
| Give a short description of what DataExpanded does. More...
class | DataLazy
| Wraps an expression tree of other DataObjects. The data will be evaluated when required. More...
class | DataReady
class | DataTagged
| Simulates a full dataset accessible via sampleNo and dataPointNo. More...
struct | Distribution
class | DomainException
class | EscriptParams
class | EsysException
| The base class for escript exceptions. More...
class | FileWriter
struct | FMax
| Return the maximum value of the two given values. More...
struct | FMin
| Return the minimum value of the two given values. More...
class | FunctionSpace
class | FunctionSpaceException
struct | IndexList
class | IOError
| An exception class for Input/Output errors. More...
class | JMPI_
class | LapackInverseHelper
class | MPIDataReducer
class | MPIScalarReducer
class | NoCOMM_WORLD
class | NonReducedVariable
class | NotImplementedError
| An exception class for features which are not (yet) implemented. More...
class | NullDomain
| NullDomain provides a null value for domain. Needed for the construction of a default FunctionSpace. More...
class | SolverBuddy
class | SplitWorld
class | SplitWorldException
class | SubWorld
class | SystemMatrixException
| SystemMatrixException exception class. More...
class | Taipan
| Taipan array manager, C++ version. Based on TaipanMemManager C module by Lutz Gross. More...
class | TestDomain
| (Testing use only) Provides a domain to wrap a collection of values. More...
class | TransportProblemException
class | ValueError
| An exception class that signals an invalid argument value. More...
class | WrappedArray

## Typedefs

typedef boost::shared_ptr< AbstractDomain > | Domain_ptr
typedef boost::shared_ptr< const AbstractDomain > | const_Domain_ptr
typedef boost::shared_ptr< AbstractReducer > | Reducer_ptr
typedef boost::shared_ptr< AbstractSystemMatrix > | ASM_ptr
typedef boost::shared_ptr< const AbstractSystemMatrix > | const_ASM_ptr
typedef boost::shared_ptr< AbstractTransportProblem > | ATP_ptr
typedef boost::shared_ptr< DataAbstract > | DataAbstract_ptr
typedef boost::shared_ptr< const DataAbstract > | const_DataAbstract_ptr
typedef boost::shared_ptr< DataReady > | DataReady_ptr
typedef boost::shared_ptr< const DataReady > | const_DataReady_ptr
typedef boost::shared_ptr< DataLazy > | DataLazy_ptr
typedef boost::shared_ptr< const DataLazy > | const_DataLazy_ptr
typedef boost::shared_ptr< Distribution > | Distribution_ptr
typedef boost::shared_ptr< const Distribution > | const_Distribution_ptr
typedef int(* | binOpFnPtr) (double *, const double *, const double *, int, int, int)
typedef boost::shared_ptr< JMPI_ > | JMPI
typedef boost::shared_ptr< SolverBuddy > | SB_ptr
typedef boost::shared_ptr< SubWorld > | SubWorld_ptr

## Enumerations

enum

ES_optype {
UNKNOWNOP =0, IDENTITY =1, ADD =2, SUB =3,
MUL =4, DIV =5, POW =6, SIN =POW+1,
COS =SIN+1, TAN =SIN+2, ASIN =SIN+3, ACOS =SIN+4,
ATAN =SIN+5, SINH =SIN+6, COSH =SIN+7, TANH =SIN+8,
ERF =SIN+9, ASINH =SIN+10, ACOSH =SIN+11, ATANH =SIN+12,
LOG10 =ATANH+1, LOG =LOG10+1, SIGN =LOG10+2, ABS =LOG10+3,
NEG =LOG10+4, POS =LOG10+5, EXP =LOG10+6, SQRT =LOG10+7,
RECIP =LOG10+8, GZ =RECIP+1, LZ =GZ+1, GEZ =GZ+2,
LEZ =GZ+3, NEZ =GZ+4, EZ =GZ+5, SYM =EZ+1,
NSYM =SYM+1, PROD =NSYM+1, TRANS =PROD+1, TRACE =TRANS+1,
SWAP =TRACE+1, MINVAL =SWAP+1, MAXVAL =MINVAL+1, CONDEVAL =MAXVAL+1,
HER =CONDEVAL+1, NHER =HER+1, REAL =NHER+1, IMAG =REAL+1,
CONJ =IMAG+1, LESS =CONJ+1, GREATER =LESS+1, GREATER_EQUAL =GREATER+1,
LESS_EQUAL =GREATER_EQUAL+1, PHS =LESS_EQUAL+1, PROM =PHS+1
}

enum | ES_opgroup { G_UNKNOWN, G_IDENTITY, G_BINARY, G_UNARY, G_UNARY_P, G_UNARY_R, G_NP1OUT, G_NP1OUT_P, G_TENSORPROD, G_NP1OUT_2P, G_REDUCTION, G_CONDEVAL, G_UNARY_C, G_UNARY_PR }

enum

SolverOptions {
SO_DEFAULT, SO_TARGET_CPU, SO_TARGET_GPU, SO_PACKAGE_CUSP,
SO_PACKAGE_MKL, SO_PACKAGE_PASO, SO_PACKAGE_TRILINOS, SO_PACKAGE_UMFPACK,
SO_METHOD_BICGSTAB, SO_METHOD_CGLS, SO_METHOD_CGS, SO_METHOD_CHOLEVSKY,
SO_METHOD_CR, SO_METHOD_DIRECT, SO_METHOD_DIRECT_MUMPS, SO_METHOD_DIRECT_PARDISO,
SO_METHOD_DIRECT_SUPERLU, SO_METHOD_DIRECT_TRILINOS, SO_METHOD_GMRES, SO_METHOD_HRZ_LUMPING,
SO_METHOD_ITERATIVE, SO_METHOD_LSQR, SO_METHOD_MINRES, SO_METHOD_NONLINEAR_GMRES,
SO_METHOD_PCG, SO_METHOD_PRES20, SO_METHOD_ROWSUM_LUMPING, SO_METHOD_TFQMR,
SO_PRECONDITIONER_AMG, SO_PRECONDITIONER_AMLI, SO_PRECONDITIONER_BOOMERAMG, SO_PRECONDITIONER_GAUSS_SEIDEL,
SO_PRECONDITIONER_ILU0, SO_PRECONDITIONER_ILUT, SO_PRECONDITIONER_JACOBI, SO_PRECONDITIONER_NONE,
SO_PRECONDITIONER_REC_ILU, SO_PRECONDITIONER_RILU, SO_ODESOLVER_BACKWARD_EULER, SO_ODESOLVER_CRANK_NICOLSON,
SO_ODESOLVER_LINEAR_CRANK_NICOLSON, SO_INTERPOLATION_CLASSIC, SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING, SO_INTERPOLATION_DIRECT,
SO_COARSENING_AGGREGATION, SO_COARSENING_CIJP, SO_COARSENING_CIJP_FIXED_RANDOM, SO_COARSENING_FALGOUT,
SO_COARSENING_HMIS, SO_COARSENING_PMIS, SO_COARSENING_RUGE_STUEBEN, SO_COARSENING_STANDARD,
SO_COARSENING_YAIR_SHAPIRA, SO_REORDERING_DEFAULT, SO_REORDERING_MINIMUM_FILL_IN, SO_REORDERING_NESTED_DISSECTION,
SO_REORDERING_NONE
}

## Functions

Data | operator* (const AbstractSystemMatrix &left, const Data &right)
bool | supports_cplx (escript::ES_optype operation)
bool | always_real (escript::ES_optype operation)
DataTypes::real_t | fsign (DataTypes::real_t x)
bool | nancheck (DataTypes::real_t d)
| acts as a wrapper to isnan. More...
bool | nancheck (DataTypes::cplx_t d)
DataTypes::real_t | makeNaN ()
| returns a NaN. More...
void | eigenvalues1 (const DataTypes::real_t A00, DataTypes::real_t *ev0)
| solves a 1x1 eigenvalue A*V=ev*V problem More...
void | eigenvalues1 (const DataTypes::cplx_t A00, DataTypes::cplx_t *ev0)
template<class T >
void | eigenvalues2 (const T A00, const T A01, const T A11, T *ev0, T *ev1)
| solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A More...
void | eigenvalues3 (const DataTypes::real_t A00, const DataTypes::real_t A01, const DataTypes::real_t A02, const DataTypes::real_t A11, const DataTypes::real_t A12, const DataTypes::real_t A22, DataTypes::real_t *ev0, DataTypes::real_t *ev1, DataTypes::real_t *ev2)
| solves a 3x3 eigenvalue A*V=ev*V problem for symmetric A More...
void | eigenvalues_and_eigenvectors1 (const DataTypes::real_t A00, DataTypes::real_t *ev0, DataTypes::real_t *V00, const DataTypes::real_t tol)
| solves a 1x1 eigenvalue A*V=ev*V problem for symmetric A More...
void | vectorInKernel2 (const DataTypes::real_t A00, const DataTypes::real_t A10, const DataTypes::real_t A01, const DataTypes::real_t A11, DataTypes::real_t *V0, DataTypes::real_t *V1)
| returns a non-zero vector in the kernel of [[A00,A01],[A01,A11]] assuming that the kernel dimension is at least 1. More...
void | vectorInKernel3__nonZeroA00 (const DataTypes::real_t A00, const DataTypes::real_t A10, const DataTypes::real_t A20, const DataTypes::real_t A01, const DataTypes::real_t A11, const DataTypes::real_t A21, const DataTypes::real_t A02, const DataTypes::real_t A12, const DataTypes::real_t A22, DataTypes::real_t *V0, DataTypes::real_t *V1, DataTypes::real_t *V2)
| returns a non-zero vector in the kernel of [[A00,A01,A02],[A10,A11,A12],[A20,A21,A22]] assuming that the kernel dimension is at least 1 and A00 is non zero. More...
void | eigenvalues_and_eigenvectors2 (const DataTypes::real_t A00, const DataTypes::real_t A01, const DataTypes::real_t A11, DataTypes::real_t *ev0, DataTypes::real_t *ev1, DataTypes::real_t *V00, DataTypes::real_t *V10, DataTypes::real_t *V01, DataTypes::real_t *V11, const DataTypes::real_t tol)
| solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive. More...
void | normalizeVector3 (DataTypes::real_t *V0, DataTypes::real_t *V1, DataTypes::real_t *V2)
| nomalizes a 3-d vector such that length is one and first non-zero component is positive. More...

void

eigenvalues_and_eigenvectors3 (const DataTypes::real_t A00, const DataTypes::real_t A01, const DataTypes::real_t A02, const DataTypes::real_t A11, const DataTypes::real_t A12, const DataTypes::real_t A22, DataTypes::real_t *ev0, DataTypes::real_t *ev1, DataTypes::real_t *ev2, DataTypes::real_t *V00, DataTypes::real_t *V10, DataTypes::real_t *V20, DataTypes::real_t *V01, DataTypes::real_t *V11, DataTypes::real_t *V21, DataTypes::real_t *V02, DataTypes::real_t *V12, DataTypes::real_t *V22, const DataTypes::real_t tol)

| solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive. More...
template<class LEFT , class RIGHT , class RES >
void | matrix_matrix_product (const int SL, const int SM, const int SR, const LEFT *A, const RIGHT *B, RES *C, int transpose)
DataTypes::real_t | calc_erf (DataTypes::real_t x)
DataTypes::cplx_t | calc_erf (DataTypes::cplx_t x)
DataTypes::real_t | calc_sign (DataTypes::real_t x)
DataTypes::cplx_t | calc_sign (DataTypes::cplx_t x)
DataTypes::real_t | calc_acos (DataTypes::real_t x)
DataTypes::cplx_t | calc_acos (DataTypes::cplx_t x)
escript::DataTypes::real_t | fabs (const escript::DataTypes::cplx_t c)
DataTypes::real_t | calc_gtzero (const DataTypes::real_t &x)
DataTypes::cplx_t | calc_gtzero (const DataTypes::cplx_t &x)
DataTypes::real_t | calc_gezero (const DataTypes::real_t &x)
DataTypes::cplx_t | calc_gezero (const DataTypes::cplx_t &x)
DataTypes::real_t | calc_ltzero (const DataTypes::real_t &x)
DataTypes::cplx_t | calc_ltzero (const DataTypes::cplx_t &x)
DataTypes::real_t | calc_lezero (const DataTypes::real_t &x)
DataTypes::cplx_t | calc_lezero (const DataTypes::cplx_t &x)
template<typename IN >
DataTypes::real_t | abs_f (IN i)
template<>
DataTypes::real_t | abs_f (DataTypes::cplx_t i)
template<class IN >
void | tensor_unary_array_operation_real (const size_t size, const IN *arg1, DataTypes::real_t *argRes, escript::ES_optype operation, DataTypes::real_t tol=0)
template<typename OUT , typename IN >
OUT | conjugate (const IN i)
template<>
DataTypes::real_t | conjugate (const DataTypes::real_t r)
void | tensor_unary_promote (const size_t size, const DataTypes::real_t *arg1, DataTypes::cplx_t *argRes)
template<class IN , typename OUT >
void | tensor_unary_array_operation (const size_t size, const IN *arg1, OUT *argRes, escript::ES_optype operation, DataTypes::real_t tol=0)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperCCC (DataConstant &res, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
void | binaryOpDataCCC (DataConstant &result, const DataConstant &left, const DataConstant &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperTCT (DataTagged &res, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
void | binaryOpDataTCT (DataTagged &result, const DataConstant &left, const DataTagged &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperECE (DataExpanded &res, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
void | binaryOpDataECE (DataExpanded &result, const DataConstant &left, const DataExpanded &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperEET (DataExpanded &res, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
void | binaryOpDataEET (DataExpanded &result, const DataExpanded &left, const DataTagged &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperETE (DataExpanded &res, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
void | binaryOpDataETE (DataExpanded &result, const DataTagged &left, const DataExpanded &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperTTC (DataTagged &res, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
void | binaryOpDataTTC (DataTagged &result, const DataTagged &left, const DataConstant &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperTTT (DataTagged &res, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
void | binaryOpDataTTT (DataTagged &result, const DataTagged &left, const DataTagged &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperEEC (DataExpanded &res, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
void | binaryOpDataEEC (DataExpanded &result, const DataExpanded &left, const DataConstant &right, escript::ES_optype operation)
template<class ResSCALAR , class LSCALAR , class RSCALAR >
void | binaryOpDataReadyHelperEEE (DataExpanded &res, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
void | binaryOpDataEEE (DataExpanded &result, const DataExpanded &left, const DataExpanded &right, escript::ES_optype operation)
Data | condEval (escript::Data &mask, escript::Data &trueval, escript::Data &falseval)
Data | randomData (const boost::python::tuple &shape, const FunctionSpace &what, long seed, const boost::python::tuple &filter)
| Create a new Expanded Data object filled with pseudo-random data. More...
DataTypes::real_t | rpow (DataTypes::real_t x, DataTypes::real_t y)
Data | operator+ (const Data &left, const Data &right)
| Operator+ Takes two Data objects. More...
Data | operator- (const Data &left, const Data &right)
| Operator- Takes two Data objects. More...
Data | operator* (const Data &left, const Data &right)
| Operator* Takes two Data objects. More...
Data | operator/ (const Data &left, const Data &right)
| Operator/ Takes two Data objects. More...
Data | operator+ (const Data &left, const boost::python::object &right)
| Operator+ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type. More...
Data | operator- (const Data &left, const boost::python::object &right)
| Operator- Takes LHS Data object and RHS python::object. python::object must be convertable to Data type. More...
Data | operator* (const Data &left, const boost::python::object &right)
| Operator* Takes LHS Data object and RHS python::object. python::object must be convertable to Data type. More...
Data | operator/ (const Data &left, const boost::python::object &right)
| Operator/ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type. More...
Data | operator+ (const boost::python::object &left, const Data &right)
| Operator+ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type. More...
Data | operator- (const boost::python::object &left, const Data &right)
| Operator- Takes LHS python::object and RHS Data object. python::object must be convertable to Data type. More...
Data | operator* (const boost::python::object &left, const Data &right)
| Operator* Takes LHS python::object and RHS Data object. python::object must be convertable to Data type. More...
Data | operator/ (const boost::python::object &left, const Data &right)
| Operator/ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type. More...
std::ostream & | operator<< (std::ostream &o, const Data &data)
| Output operator. More...
Data | C_GeneralTensorProduct (Data &arg_0, Data &arg_1, int axis_offset=0, int transpose=0)
| Compute a tensor product of two Data objects. More...
Data | C_TensorBinaryOperation (Data const &arg_0, Data const &arg_1, ES_optype operation)
| Compute a tensor operation with two Data objects. More...
Data | C_TensorUnaryOperation (Data const &arg_0, escript::ES_optype operation, DataTypes::real_t tol=0)
Data | Scalar (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| A collection of factory functions for creating Data objects which contain data points of various shapes. More...
Data | Scalar (DataTypes::cplx_t value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Return a Data object containing scalar data-points. ie: rank 0 data-points. More...
Data | ScalarFromObj (boost::python::object o, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Python interface for the Scalar factory. More...
Data | Vector (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Return a Data object containing vector data-points. ie: rank 1 data-points. More...
Data | VectorFromObj (bp::object o, const FunctionSpace &what, bool expanded)
Data | Tensor (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Return a Data object containing tensor datapoints. ie: rank 2 data-points. More...
Data | TensorC (DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Data | TensorFromObj (bp::object o, const FunctionSpace &what, bool expanded)
Data | Tensor3 (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Return a Data object containing tensor3 datapoints. ie: rank 3 data-points. More...
Data | Tensor3C (DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Data | Tensor3FromObj (bp::object o, const FunctionSpace &what, bool expanded)
Data | Tensor4 (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
| Return a Data object containing tensor4 datapoints. ie: rank 4 data-points. More...
Data | Tensor4C (DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Data | Tensor4FromObj (bp::object o, const FunctionSpace &what, bool expanded)
Data | load (const std::string fileName, const AbstractDomain &domain)
| reads Data on domain from file in netCDF format More...
bool | loadConfigured ()
| returns true if the load funtion is configured. More...
Data | convertToData (const bp::object &value, const FunctionSpace &what)
Data | VectorFromObj (boost::python::object o, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
Data | TensorFromObj (boost::python::object o, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
Data | Tensor3FromObj (boost::python::object o, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
Data | Tensor4FromObj (boost::python::object o, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
Data | convertToData (const boost::python::object &value, const FunctionSpace &what=FunctionSpace())
| Tries to convert value into a Data object on FunctionSpace what. If value is already a Data object, the object is returned if it is defined on what otherwise interpolated data of values are returned. If value is not a data object it is tried to generate the corresponding data object. escript::DataEmpty() is returned if value is identified as empty. More...
DataLazy_ptr | makePromote (DataLazy_ptr p)
void | matMult (const DataTypes::RealVectorType &left, const DataTypes::ShapeType &leftShape, DataTypes::RealVectorType::size_type leftOffset, const DataTypes::RealVectorType &right, const DataTypes::ShapeType &rightShape, DataTypes::RealVectorType::size_type rightOffset, DataTypes::RealVectorType &result, const DataTypes::ShapeType &resultShape)
| Perform a matrix multiply of the given views. More...
DataTypes::ShapeType | determineResultShape (const DataTypes::ShapeType &left, const DataTypes::ShapeType &right)
| Determine the shape of the result array for a matrix multiplication of the given views. More...
void | matrixInverseError (int err)
| throws an appropriate exception based on failure of matrix_inverse. More...
int | matrix_inverse (const DataTypes::RealVectorType &in, const DataTypes::ShapeType &inShape, DataTypes::RealVectorType::size_type inOffset, DataTypes::RealVectorType &out, const DataTypes::ShapeType &outShape, DataTypes::RealVectorType::size_type outOffset, int count, LapackInverseHelper &helper)
| computes the inverses of square (up to 3x3) matricies More...
template<>

void

binaryOpVectorTagged (DataTypes::RealVectorType &res, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type DPPSample, const typename DataTypes::RealVectorType::size_type DPSize, const DataTypes::RealVectorType &left, const bool leftscalar, const DataTypes::RealVectorType &right, const bool rightscalar, const bool lefttagged, const DataTagged &tagsource, escript::ES_optype operation)

template<>

void

binaryOpVectorRightScalar (DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::RealVectorType &left, typename DataTypes::RealVectorType::size_type leftOffset, const DataTypes::real_t *right, const bool rightreset, escript::ES_optype operation, bool singleleftsample)

template<>

void

binaryOpVectorLeftScalar (DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::real_t *left, const bool leftreset, const DataTypes::RealVectorType &right, typename DataTypes::RealVectorType::size_type rightOffset, escript::ES_optype operation, bool singlerightsample)

template<>

void

binaryOpVector (DataTypes::RealVectorType &res, typename DataTypes::RealVectorType::size_type resOffset, const typename DataTypes::RealVectorType::size_type samplesToProcess, const typename DataTypes::RealVectorType::size_type sampleSize, const DataTypes::RealVectorType &left, typename DataTypes::RealVectorType::size_type leftOffset, const bool leftreset, const DataTypes::RealVectorType &right, typename DataTypes::RealVectorType::size_type rightOffset, const bool rightreset, escript::ES_optype operation)

void | hermitian (const DataTypes::CplxVectorType &in, const DataTypes::ShapeType &inShape, DataTypes::CplxVectorType::size_type inOffset, DataTypes::CplxVectorType &ev, const DataTypes::ShapeType &evShape, DataTypes::CplxVectorType::size_type evOffset)
| computes an hermitian matrix from your square matrix A: (A + adjoint(A)) / 2 More...
void | antihermitian (const DataTypes::CplxVectorType &in, const DataTypes::ShapeType &inShape, typename DataTypes::CplxVectorType::size_type inOffset, DataTypes::CplxVectorType &ev, const DataTypes::ShapeType &evShape, typename DataTypes::CplxVectorType::size_type evOffset)
| computes a antihermitian matrix from your square matrix A: (A - adjoint(A)) / 2 More...
template<typename VEC >
void | symmetric (const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset)
| computes a symmetric matrix from your square matrix A: (A + transpose(A)) / 2 More...
template<typename VEC >
void | antisymmetric (const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset)
| computes a antisymmetric matrix from your square matrix A: (A - transpose(A)) / 2 More...
template<class VEC >
void | trace (const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset, int axis_offset)
| computes the trace of a matrix More...
template<class VEC >
void | transpose (const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset, int axis_offset)
| Transpose each data point of this Data object around the given axis. More...
template<class VEC >
void | swapaxes (const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset, int axis0, int axis1)
| swaps the components axis0 and axis1. More...
void | eigenvalues (const DataTypes::RealVectorType &in, const DataTypes::ShapeType &inShape, typename DataTypes::RealVectorType::size_type inOffset, DataTypes::RealVectorType &ev, const DataTypes::ShapeType &evShape, typename DataTypes::RealVectorType::size_type evOffset)
| solves a local eigenvalue problem More...

void

eigenvalues_and_eigenvectors (const DataTypes::RealVectorType &in, const DataTypes::ShapeType &inShape, DataTypes::RealVectorType::size_type inOffset, DataTypes::RealVectorType &ev, const DataTypes::ShapeType &evShape, DataTypes::RealVectorType::size_type evOffset, DataTypes::RealVectorType &V, const DataTypes::ShapeType &VShape, DataTypes::RealVectorType::size_type VOffset, const double tol=1.e-13)

| solves a local eigenvalue problem More...
template<class VEC >
bool | checkOffset (const VEC &data, const DataTypes::ShapeType &shape, typename VEC::size_type offset)
template<class ResVEC , class LVEC , class RSCALAR >
void | binaryOpVectorRightScalar (ResVEC &res, typename ResVEC::size_type resOffset, const typename ResVEC::size_type samplesToProcess, const typename ResVEC::size_type sampleSize, const LVEC &left, typename LVEC::size_type leftOffset, const RSCALAR *right, const bool rightreset, escript::ES_optype operation, bool singleleftsample)
template<class ResVEC , class LSCALAR , class RVEC >
void | binaryOpVectorLeftScalar (ResVEC &res, typename ResVEC::size_type resOffset, const typename ResVEC::size_type samplesToProcess, const typename ResVEC::size_type sampleSize, const LSCALAR *left, const bool leftreset, const RVEC &right, typename RVEC::size_type rightOffset, escript::ES_optype operation, bool singlerightsample)
template<class ResVEC , class LVEC , class RVEC >
void | binaryOpVector (ResVEC &res, typename ResVEC::size_type resOffset, const typename ResVEC::size_type samplesToProcess, const typename ResVEC::size_type sampleSize, const LVEC &left, typename LVEC::size_type leftOffset, const bool leftreset, const RVEC &right, typename RVEC::size_type rightOffset, const bool rightreset, escript::ES_optype operation)
template<class ResELT , class LELT , class RELT >
void | binaryOpVectorLazyArithmeticHelper (ResELT *res, const LELT *left, const RELT *right, const size_t chunksize, const size_t onumsteps, const size_t numsteps, const size_t resultStep, const size_t leftstep, const size_t rightstep, const size_t oleftstep, const size_t orightstep, size_t lroffset, size_t rroffset, escript::ES_optype operation)
template<class ResELT , class LELT , class RELT >
void | binaryOpVectorLazyRelationalHelper (ResELT *res, const LELT *left, const RELT *right, const size_t chunksize, const size_t onumsteps, const size_t numsteps, const size_t resultStep, const size_t leftstep, const size_t rightstep, const size_t oleftstep, const size_t orightstep, size_t lroffset, size_t rroffset, escript::ES_optype operation)
template<class ResVEC , class LVEC , class RVEC >
void | binaryOpVectorTagged (ResVEC &res, const typename ResVEC::size_type samplesToProcess, const typename ResVEC::size_type DPPSample, const typename ResVEC::size_type DPSize, const LVEC &left, bool leftscalar, const RVEC &right, bool rightscalar, bool lefttagged, const DataTagged &tagsource, escript::ES_optype operation)
template<class BinaryFunction >
DataTypes::real_t | reductionOpVector (const DataTypes::RealVectorType &left, const DataTypes::ShapeType &leftShape, DataTypes::RealVectorType::size_type offset, BinaryFunction operation, DataTypes::real_t initial_value)
| Perform the given data point reduction operation on the data point specified by the given offset into the view. Reduces all elements of the data point using the given operation, returning the result as a scalar. Operation must be a pointer to a function. More...
bool | vectorHasNaN (const DataTypes::RealVectorType &in, DataTypes::RealVectorType::size_type inOffset, size_t count)
| returns true if the vector contains NaN More...
binOpFnPtr | binOpFnPtrFromVoidPtr (void *v)
void * | voidPtrFromBinOpFnPtr (binOpFnPtr f)
const std::string & | opToString (ES_optype op)
ES_opgroup | getOpgroup (ES_optype op)
const std::string & | groupToString (ES_opgroup g)
void | setEscriptParamInt (const std::string &name, int value)
| Set the value of a named parameter. See listEscriptParams() for available parameters. More...
int | getEscriptParamInt (const std::string &name, int sentinel=0)
| get the value of a named parameter. See listEscriptParams() for available parameters. More...
boost::python::list | listEscriptParams ()
| describe available parameters. More...
bool | hasFeature (const std::string &name)
| returns true if escript was compiled with the feature `name`, false otherwise. More...
boost::python::list | listFeatures ()
| returns a list of features escript was compiled with. More...
JMPI | makeInfo (MPI_Comm comm, bool owncom)
bool | checkResult (int input, int &output, const JMPI &comm)
| Everyone puts in their error code and everyone gets the largest one. More...
bool | shipString (const char *src, char **dest, MPI_Comm &comm)
int | getSubWorldTag ()
| tag reserved for use by SubWorld code This value should be higher than the modulus used in JMPI_::setCounter. Apart from that, its value is not particularly significant. More...
double | gettime ()
| returns the current ticks for timing More...
void | AssertionErrorTranslator (const EsysException &e)
| Function which translates an EsysException into a python AssertionError. More...
void | IOErrorTranslator (const EsysException &e)
| Function which translates an EsysException into a python IOError. More...
void | NotImplementedErrorTranslator (const EsysException &e)
| Function which translates an EsysException into a python NotImplementedError. More...
void | RuntimeErrorTranslator (const EsysException &e)
| Function which translates an EsysException into a python RuntimeError. More...
void | ValueErrorTranslator (const EsysException &e)
| Function which translates an EsysException into a python ValueError. More...
bool | canInterpolate (FunctionSpace src, FunctionSpace dest)
FunctionSpace | continuousFunction (const AbstractDomain &domain)
| Create function space objects. More...
FunctionSpace | reducedContinuousFunction (const AbstractDomain &domain)
| Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order) More...
FunctionSpace | function (const AbstractDomain &domain)
| Return a function FunctionSpace. More...
FunctionSpace | reducedFunction (const AbstractDomain &domain)
| Return a function FunctionSpace with reduced integration order. More...
FunctionSpace | functionOnBoundary (const AbstractDomain &domain)
| Return a function on boundary FunctionSpace. More...
FunctionSpace | reducedFunctionOnBoundary (const AbstractDomain &domain)
| Return a function on boundary FunctionSpace with reduced integration order. More...
FunctionSpace | functionOnContactZero (const AbstractDomain &domain)
| Return a FunctionSpace on left side of contact. More...
FunctionSpace | reducedFunctionOnContactZero (const AbstractDomain &domain)
| Return a FunctionSpace on left side of contact with reduced integration order. More...
FunctionSpace | functionOnContactOne (const AbstractDomain &domain)
| Return a FunctionSpace on right side of contact. More...
FunctionSpace | reducedFunctionOnContactOne (const AbstractDomain &domain)
| Return a FunctionSpace on right side of contact with reduced integration order. More...
FunctionSpace | solution (const AbstractDomain &domain)
| Return a FunctionSpace. More...
FunctionSpace | reducedSolution (const AbstractDomain &domain)
| Return a FunctionSpace with reduced integration order. More...
FunctionSpace | diracDeltaFunctions (const AbstractDomain &domain)
| Return a FunctionSpace. More...
Reducer_ptr | makeDataReducer (std::string type)
Reducer_ptr | makeScalarReducer (std::string type)
Reducer_ptr | makeNonReducedVariable ()
void | getStringFromPyException (boost::python::error_already_set e, std::string &errormsg)
void | randomFillArray (long seed, double *array, size_t n)
void | patternFillArray2D (size_t x, size_t y, double *array, size_t spacing, size_t basex, size_t basey, size_t numpoints)
void | patternFillArray (int pattern, size_t x, size_t y, size_t z, double *array, size_t spacing, size_t basex, size_t basey, size_t basez, size_t numpoints)
bool | isDirectSolver (const SolverOptions &method)
| returns true if the passed solver method refers to a direct solver type More...
boost::python::object | raw_buildDomains (boost::python::tuple t, boost::python::dict kwargs)
boost::python::object | raw_addJob (boost::python::tuple t, boost::python::dict kwargs)
boost::python::object | raw_addJobPerWorld (boost::python::tuple t, boost::python::dict kwargs)
boost::python::object | raw_addVariable (boost::python::tuple t, boost::python::dict kwargs)
FunctionSpace | getTestDomainFunctionSpace (int dpps, DataTypes::dim_t samples, int dpsize)
int | getSvnVersion ()
| some functions More...
int | get_core_id ()
void | setNumberOfThreads (const int num_threads)
| set the number of threads More...
int | getNumberOfThreads ()
| returns the number of threads More...
int | getMPISizeWorld ()
| returns the total number of available MPI processes for MPI_COMM_WORLD More...
int | getMPIRankWorld ()
| returns the MPI processor number within MPI_COMM_WORLD More...
int | getMPIWorldMax (const int val)
| returns the maximum value of an integer over all processors within MPI_COMM_WORLD More...
int | getMPIWorldSum (const int val)
| returns sum of an integer over all processors with MPI_COMM_WORLD More...
void | printParallelThreadCnt ()
| print a message about how many MPI CPUs and OpenMP threads we're using More...
int | runMPIProgram (bp::list args)
double | getMachinePrecision ()
| returns the machine precision More...
double | getMaxFloat ()
void | MPIBarrierWorld ()
| performs a barrier synchronization across all processors. More...
void | saveDataCSV (const std::string &filename, bp::dict arg, const std::string &sep, const std::string &csep, bool append)
void | resolveGroup (bp::object obj)
int | runMPIProgram (const boost::python::list args)
| uses MPI_Comm_spawn to run an external MPI program safely. More...
void | saveDataCSV (const std::string &filename, boost::python::dict arg, const std::string &sep, const std::string &csep, bool append=false)
void | resolveGroup (boost::python::object obj)
| Resolve a collection of Data objects together now. To get performance improvements, the objects will need to have the same function space and share Dag components. More...

## Variables

EscriptParams | escriptParams

## Typedef Documentation

## ASM_ptr

typedef boost::shared_ptr< AbstractSystemMatrix > escript::ASM_ptr

## ATP_ptr

typedef boost::shared_ptr<AbstractTransportProblem> escript::ATP_ptr

## binOpFnPtr

typedef int(* escript::binOpFnPtr) (double *, const double *, const double *, int, int, int)

## const_ASM_ptr

typedef boost::shared_ptr< const AbstractSystemMatrix > escript::const_ASM_ptr

## const_DataAbstract_ptr

typedef boost::shared_ptr< const DataAbstract > escript::const_DataAbstract_ptr

## const_DataLazy_ptr

typedef boost::shared_ptr< const DataLazy > escript::const_DataLazy_ptr

## const_DataReady_ptr

typedef boost::shared_ptr< const DataReady > escript::const_DataReady_ptr

## const_Distribution_ptr

typedef boost::shared_ptr<const Distribution> escript::const_Distribution_ptr

## const_Domain_ptr

typedef boost::shared_ptr< const AbstractDomain > escript::const_Domain_ptr

## DataAbstract_ptr

typedef boost::shared_ptr< DataAbstract > escript::DataAbstract_ptr

## DataLazy_ptr

typedef boost::shared_ptr< DataLazy > escript::DataLazy_ptr

## DataReady_ptr

typedef boost::shared_ptr< DataReady > escript::DataReady_ptr

## Distribution_ptr

typedef boost::shared_ptr<Distribution> escript::Distribution_ptr

## Domain_ptr

typedef boost::shared_ptr< AbstractDomain > escript::Domain_ptr

## JMPI

typedef boost::shared_ptr<JMPI_> escript::JMPI

## Reducer_ptr

typedef boost::shared_ptr<AbstractReducer> escript::Reducer_ptr

## SB_ptr

typedef boost::shared_ptr<SolverBuddy> escript::SB_ptr

## SubWorld_ptr

typedef boost::shared_ptr<SubWorld> escript::SubWorld_ptr

## Enumeration Type Documentation

## ES_opgroup

enum escript::ES_opgroup

Enumerator
G_UNKNOWN |
G_IDENTITY |
G_BINARY |
G_UNARY |
G_UNARY_P |
G_UNARY_R |
G_NP1OUT |
G_NP1OUT_P |
G_TENSORPROD |
G_NP1OUT_2P |
G_REDUCTION |
G_CONDEVAL |
G_UNARY_C |
G_UNARY_PR |

## ES_optype

enum escript::ES_optype

Enumerator
UNKNOWNOP |
IDENTITY |
ADD |
SUB |
MUL |
DIV |
POW |
SIN |
COS |
TAN |
ASIN |
ACOS |
ATAN |
SINH |
COSH |
TANH |
ERF |
ASINH |
ACOSH |
ATANH |
LOG10 |
LOG |
SIGN |
ABS |
NEG |
POS |
EXP |
SQRT |
RECIP |
GZ |
LZ |
GEZ |
LEZ |
NEZ |
EZ |
SYM |
NSYM |
PROD |
TRANS |
TRACE |
SWAP |
MINVAL |
MAXVAL |
CONDEVAL |
HER |
NHER |
REAL |
IMAG |
CONJ |
LESS |
GREATER |
GREATER_EQUAL |
LESS_EQUAL |
PHS |
PROM |

## SolverOptions

enum escript::SolverOptions

This enum defines the options for solving linear/non-linear systems with escript.

SO_DEFAULT: use escript defaults for specific option SO_TARGET_CPU: use CPUs to solve system SO_TARGET_GPU: use GPUs to solve system

SO_PACKAGE_CUSP: CUDA sparse linear algebra package SO_PACKAGE_MKL: Intel's MKL solver library SO_PACKAGE_PASO: PASO solver package SO_PACKAGE_TRILINOS: The TRILINOS parallel solver class library from Sandia National Labs SO_PACKAGE_UMFPACK: The UMFPACK library

SO_METHOD_BICGSTAB: The stabilized Bi-Conjugate Gradient method SO_METHOD_CHOLEVSKY: The direct solver based on LDLT factorization (can only be applied for symmetric PDEs) SO_METHOD_CGS: The conjugate gradient square method SO_METHOD_CR: The conjugate residual method SO_METHOD_DIRECT: A direct solver based on LDU factorization SO_METHOD_DIRECT_MUMPS: MUMPS parallel direct solver SO_METHOD_DIRECT_PARDISO: MKL Pardiso direct solver SO_METHOD_DIRECT_SUPERLU: SuperLU direct solver SO_METHOD_DIRECT_TRILINOS: Trilinos-based direct solver SO_METHOD_GMRES: The Gram-Schmidt minimum residual method SO_METHOD_HRZ_LUMPING: Matrix lumping using the HRZ approach SO_METHOD_ITERATIVE: The default iterative solver SO_METHOD_LSQR: Least squares with QR factorization SO_METHOD_MINRES: Minimum residual method SO_METHOD_PCG: The preconditioned conjugate gradient method (can only be applied for symmetric PDEs) SO_METHOD_PRES20: Special GMRES with restart after 20 steps and truncation after 5 residuals SO_METHOD_ROWSUM_LUMPING: Matrix lumping using row sum SO_METHOD_TFQMR: Transpose Free Quasi Minimal Residual method

SO_PRECONDITIONER_AMG: Algebraic Multi Grid SO_PRECONDITIONER_AMLI: Algebraic Multi Level Iteration SO_PRECONDITIONER_BOOMERAMG: Boomer AMG (from the hypre library) SO_PRECONDITIONER_GAUSS_SEIDEL: Gauss-Seidel preconditioner SO_PRECONDITIONER_ILU0: The incomplete LU factorization preconditioner with no fill-in SO_PRECONDITIONER_ILUT: The incomplete LU factorization preconditioner with fill-in SO_PRECONDITIONER_JACOBI: The Jacobi preconditioner SO_PRECONDITIONER_NONE: no preconditioner is applied SO_PRECONDITIONER_REC_ILU: recursive ILU0 SO_PRECONDITIONER_RILU: relaxed ILU0

SO_ODESOLVER_BACKWARD_EULER: backward Euler scheme SO_ODESOLVER_CRANK_NICOLSON: Crank-Nicolson scheme SO_ODESOLVER_LINEAR_CRANK_NICOLSON: linerized Crank-Nicolson scheme

SO_INTERPOLATION_CLASSIC: classical interpolation in AMG SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING: classical interpolation in AMG with enforced SO_INTERPOLATION_DIRECT: direct interpolation in AMG

SO_COARSENING_AGGREGATION: AMG and AMLI coarsening using (symmetric) aggregation SO_COARSENING_CIJP: BoomerAMG parallel coarsening method CIJP SO_COARSENING_CIJP_FIXED_RANDOM: BoomerAMG parallel coarsening method CIJP by using fixed random vector SO_COARSENING_FALGOUT: BoomerAMG parallel coarsening method falgout SO_COARSENING_HMIS: BoomerAMG parallel coarsening method HMIS SO_COARSENING_PMIS: BoomerAMG parallel coarsening method PMIS SO_COARSENING_RUGE_STUEBEN: AMG and AMLI coarsening method by Ruge and Stueben SO_COARSENING_STANDARD: AMG and AMLI standard coarsening using measure of importance of the unknowns SO_COARSENING_YAIR_SHAPIRA: AMG and AMLI coarsening method by Yair-Shapira

SO_REORDERING_DEFAULT: the reordering method recommended by the solver SO_REORDERING_MINIMUM_FILL_IN: Reorder matrix to reduce fill-in during factorization SO_REORDERING_NESTED_DISSECTION: Reorder matrix to improve load balancing during factorization SO_REORDERING_NONE: No matrix reordering allowed

Enumerator
SO_DEFAULT |
SO_TARGET_CPU |
SO_TARGET_GPU |
SO_PACKAGE_CUSP |
SO_PACKAGE_MKL |
SO_PACKAGE_PASO |
SO_PACKAGE_TRILINOS |
SO_PACKAGE_UMFPACK |
SO_METHOD_BICGSTAB |
SO_METHOD_CGLS |
SO_METHOD_CGS |
SO_METHOD_CHOLEVSKY |
SO_METHOD_CR |
SO_METHOD_DIRECT |
SO_METHOD_DIRECT_MUMPS |
SO_METHOD_DIRECT_PARDISO |
SO_METHOD_DIRECT_SUPERLU |
SO_METHOD_DIRECT_TRILINOS |
SO_METHOD_GMRES |
SO_METHOD_HRZ_LUMPING |
SO_METHOD_ITERATIVE |
SO_METHOD_LSQR |
SO_METHOD_MINRES |
SO_METHOD_NONLINEAR_GMRES |
SO_METHOD_PCG |
SO_METHOD_PRES20 |
SO_METHOD_ROWSUM_LUMPING |
SO_METHOD_TFQMR |
SO_PRECONDITIONER_AMG |
SO_PRECONDITIONER_AMLI |
SO_PRECONDITIONER_BOOMERAMG |
SO_PRECONDITIONER_GAUSS_SEIDEL |
SO_PRECONDITIONER_ILU0 |
SO_PRECONDITIONER_ILUT |
SO_PRECONDITIONER_JACOBI |
SO_PRECONDITIONER_NONE |
SO_PRECONDITIONER_REC_ILU |
SO_PRECONDITIONER_RILU |
SO_ODESOLVER_BACKWARD_EULER |
SO_ODESOLVER_CRANK_NICOLSON |
SO_ODESOLVER_LINEAR_CRANK_NICOLSON |
SO_INTERPOLATION_CLASSIC |
SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING |
SO_INTERPOLATION_DIRECT |
SO_COARSENING_AGGREGATION |
SO_COARSENING_CIJP |
SO_COARSENING_CIJP_FIXED_RANDOM |
SO_COARSENING_FALGOUT |
SO_COARSENING_HMIS |
SO_COARSENING_PMIS |
SO_COARSENING_RUGE_STUEBEN |
SO_COARSENING_STANDARD |
SO_COARSENING_YAIR_SHAPIRA |
SO_REORDERING_DEFAULT |
SO_REORDERING_MINIMUM_FILL_IN |
SO_REORDERING_NESTED_DISSECTION |
SO_REORDERING_NONE |

## Function Documentation

## abs_f() [1/2]

template<typename IN >

DataTypes::real_t escript::abs_f | ( | IN | i | ) |

inline

References fabs().

Referenced by tensor_unary_array_operation_real().

## abs_f() [2/2]

template<>

DataTypes::real_t escript::abs_f | ( | DataTypes::cplx_t | i | ) |

inline

## always_real()

bool escript::always_real | ( | escript::ES_optype | operation | ) |

References ABS, EZ, IMAG, NEZ, PHS, and REAL.

Referenced by C_TensorUnaryOperation().

## antihermitian()

void escript::antihermitian | ( | const DataTypes::CplxVectorType & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename DataTypes::CplxVectorType::size_type | inOffset,
|  | DataTypes::CplxVectorType & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename DataTypes::CplxVectorType::size_type | evOffset
| ) |  |

computes a antihermitian matrix from your square matrix A: (A - adjoint(A)) / 2

Parameters

  in | - vector containing the matrix A
  inShape | - shape of the matrix A
  inOffset | - the beginning of A within the vector in
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing ev in vector ev

References escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

Referenced by escript::DataConstant::antihermitian(), escript::DataExpanded::antihermitian(), escript::DataTagged::antihermitian(), antisymmetric(), escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), and escript::DataLazy::resolveNodeNP1OUTCplx().

## antisymmetric()

template<typename VEC >

void escript::antisymmetric | ( | const VEC & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename VEC::size_type | inOffset,
|  | VEC & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename VEC::size_type | evOffset
| ) |  |

inline

computes a antisymmetric matrix from your square matrix A: (A - transpose(A)) / 2

Parameters

  in | - vector containing the matrix A
  inShape | - shape of the matrix A
  inOffset | - the beginning of A within the vector in
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing ev in vector ev

References antihermitian(), escript::DataTypes::getRank(), escript::DataTypes::getRelIndex(), and hermitian().

Referenced by escript::DataConstant::antisymmetric(), escript::DataExpanded::antisymmetric(), escript::DataTagged::antisymmetric(), escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), escript::DataLazy::resolveNodeNP1OUT(), and escript::DataLazy::resolveNodeNP1OUTCplx().

## AssertionErrorTranslator()

void escript::AssertionErrorTranslator | ( | const EsysException & | e | ) |

Function which translates an EsysException into a python AssertionError.

References escript::EsysException::what().

## binaryOpDataCCC()

void escript::binaryOpDataCCC | ( | DataConstant & | result,
|  | const DataConstant & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpDataECE()

void escript::binaryOpDataECE | ( | DataExpanded & | result,
|  | const DataConstant & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation().

## binaryOpDataEEC()

void escript::binaryOpDataEEC | ( | DataExpanded & | result,
|  | const DataExpanded & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpDataEEE()

void escript::binaryOpDataEEE | ( | DataExpanded & | result,
|  | const DataExpanded & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpDataEET()

void escript::binaryOpDataEET | ( | DataExpanded & | result,
|  | const DataExpanded & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpDataETE()

void escript::binaryOpDataETE | ( | DataExpanded & | result,
|  | const DataTagged & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation().

## binaryOpDataReadyHelperCCC()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperCCC | ( | DataConstant & | res,
|  | const DataConstant & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataConstant::getTypedVectorRO(), escript::DataConstant::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperECE()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperECE | ( | DataExpanded & | res,
|  | const DataConstant & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataExpanded::getTypedVectorRO(), escript::DataConstant::getTypedVectorRO(), escript::DataExpanded::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperEEC()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperEEC | ( | DataExpanded & | res,
|  | const DataExpanded & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataExpanded::getTypedVectorRO(), escript::DataConstant::getTypedVectorRO(), escript::DataExpanded::getTypedVectorRW(), escript::DataAbstract::hasNoSamples(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperEEE()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperEEE | ( | DataExpanded & | res,
|  | const DataExpanded & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataExpanded::getTypedVectorRO(), escript::DataExpanded::getTypedVectorRW(), escript::DataAbstract::hasNoSamples(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperEET()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperEET | ( | DataExpanded & | res,
|  | const DataExpanded & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVectorTagged(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataExpanded::getTypedVectorRO(), escript::DataTagged::getTypedVectorRO(), escript::DataExpanded::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperETE()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperETE | ( | DataExpanded & | res,
|  | const DataTagged & | left,
|  | const DataExpanded & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References binaryOpVectorTagged(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataExpanded::getTypedVectorRO(), escript::DataTagged::getTypedVectorRO(), escript::DataExpanded::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperTCT()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperTCT | ( | DataTagged & | res,
|  | const DataConstant & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References escript::DataTagged::addTag(), binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataTagged::getOffsetForTag(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagCount(), escript::DataTagged::getTagLookup(), escript::DataConstant::getTypedVectorRO(), escript::DataTagged::getTypedVectorRO(), escript::DataTagged::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperTTC()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperTTC | ( | DataTagged & | res,
|  | const DataTagged & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References escript::DataTagged::addTag(), binaryOpVector(), binaryOpVectorLeftScalar(), binaryOpVectorRightScalar(), escript::DataTagged::getOffsetForTag(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagCount(), escript::DataTagged::getTagLookup(), escript::DataConstant::getTypedVectorRO(), escript::DataTagged::getTypedVectorRO(), escript::DataTagged::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataReadyHelperTTT()

template<class ResSCALAR , class LSCALAR , class RSCALAR >

void escript::binaryOpDataReadyHelperTTT | ( | DataTagged & | res,
|  | const DataTagged & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

inline

References escript::DataTagged::addTag(), binaryOpVector(), escript::DataTagged::getOffsetForTag(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagCount(), escript::DataTagged::getTagLookup(), escript::DataTagged::getTypedVectorRO(), escript::DataTagged::getTypedVectorRW(), and escript::DataTypes::noValues().

## binaryOpDataTCT()

void escript::binaryOpDataTCT | ( | DataTagged & | result,
|  | const DataConstant & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation().

## binaryOpDataTTC()

void escript::binaryOpDataTTC | ( | DataTagged & | result,
|  | const DataTagged & | left,
|  | const DataConstant & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpDataTTT()

void escript::binaryOpDataTTT | ( | DataTagged & | result,
|  | const DataTagged & | left,
|  | const DataTagged & | right,
|  | escript::ES_optype | operation
| ) |  |

References escript::DataAbstract::isComplex().

Referenced by C_TensorBinaryOperation(), and escript::Data::TensorSelfUpdateBinaryOperation().

## binaryOpVector() [1/2]

template<>

void escript::binaryOpVector | ( | DataTypes::RealVectorType & | res,
|  | typename DataTypes::RealVectorType::size_type | resOffset,
|  | const typename DataTypes::RealVectorType::size_type | samplesToProcess,
|  | const typename DataTypes::RealVectorType::size_type | sampleSize,
|  | const DataTypes::RealVectorType & | left,
|  | typename DataTypes::RealVectorType::size_type | leftOffset,
|  | const bool | leftreset,
|  | const DataTypes::RealVectorType & | right,
|  | typename DataTypes::RealVectorType::size_type | rightOffset,
|  | const bool | rightreset,
|  | escript::ES_optype | operation
| ) |  |

References ADD, DIV, GREATER, GREATER_EQUAL, LESS, LESS_EQUAL, MUL, POW, and SUB.

Referenced by binaryOpDataReadyHelperCCC(), binaryOpDataReadyHelperECE(), binaryOpDataReadyHelperEEC(), binaryOpDataReadyHelperEEE(), binaryOpDataReadyHelperTCT(), binaryOpDataReadyHelperTTC(), binaryOpDataReadyHelperTTT(), and binaryOpVector().

## binaryOpVector() [2/2]

template<class ResVEC , class LVEC , class RVEC >

void escript::binaryOpVector | ( | ResVEC & | res,
|  | typename ResVEC::size_type | resOffset,
|  | const typename ResVEC::size_type | samplesToProcess,
|  | const typename ResVEC::size_type | sampleSize,
|  | const LVEC & | left,
|  | typename LVEC::size_type | leftOffset,
|  | const bool | leftreset,
|  | const RVEC & | right,
|  | typename RVEC::size_type | rightOffset,
|  | const bool | rightreset,
|  | escript::ES_optype | operation
| ) |  |

This assumes that all data involved have the same points per sample and same shape

References ADD, binaryOpVector(), DIV, MUL, POW, and SUB.

## binaryOpVectorLazyArithmeticHelper()

template<class ResELT , class LELT , class RELT >

void escript::binaryOpVectorLazyArithmeticHelper | ( | ResELT * | res,
|  | const LELT * | left,
|  | const RELT * | right,
|  | const size_t | chunksize,
|  | const size_t | onumsteps,
|  | const size_t | numsteps,
|  | const size_t | resultStep,
|  | const size_t | leftstep,
|  | const size_t | rightstep,
|  | const size_t | oleftstep,
|  | const size_t | orightstep,
|  | size_t | lroffset,
|  | size_t | rroffset,
|  | escript::ES_optype | operation
| ) |  |

This assumes that all data involved have the same points per sample and same shape This version is to be called from within DataLazy. It does not have openmp around loops because it will be evaluating individual samples (Which will be done within an enclosing openmp region.

References ADD, DIV, ESYS_ASSERT, MUL, OPVECLAZYBODY, POW, and SUB.

## binaryOpVectorLazyRelationalHelper()

template<class ResELT , class LELT , class RELT >

void escript::binaryOpVectorLazyRelationalHelper | ( | ResELT * | res,
|  | const LELT * | left,
|  | const RELT * | right,
|  | const size_t | chunksize,
|  | const size_t | onumsteps,
|  | const size_t | numsteps,
|  | const size_t | resultStep,
|  | const size_t | leftstep,
|  | const size_t | rightstep,
|  | const size_t | oleftstep,
|  | const size_t | orightstep,
|  | size_t | lroffset,
|  | size_t | rroffset,
|  | escript::ES_optype | operation
| ) |  |

This assumes that all data involved have the same points per sample and same shape This version is to be called from within DataLazy. It does not have openmp around loops because it will be evaluating individual samples (Which will be done within an enclosing openmp region.

References ESYS_ASSERT, GREATER, GREATER_EQUAL, LESS, LESS_EQUAL, and OPVECLAZYBODY.

## binaryOpVectorLeftScalar() [1/2]

template<>

void escript::binaryOpVectorLeftScalar | ( | DataTypes::RealVectorType & | res,
|  | typename DataTypes::RealVectorType::size_type | resOffset,
|  | const typename DataTypes::RealVectorType::size_type | samplesToProcess,
|  | const typename DataTypes::RealVectorType::size_type | sampleSize,
|  | const DataTypes::real_t * | left,
|  | const bool | leftreset,
|  | const DataTypes::RealVectorType & | right,
|  | typename DataTypes::RealVectorType::size_type | rightOffset,
|  | escript::ES_optype | operation,
|  | bool | singlerightsample
| ) |  |

References ADD, DIV, GREATER, GREATER_EQUAL, LESS, LESS_EQUAL, MUL, POW, and SUB.

Referenced by binaryOpDataReadyHelperCCC(), binaryOpDataReadyHelperECE(), binaryOpDataReadyHelperEEC(), binaryOpDataReadyHelperEEE(), binaryOpDataReadyHelperTCT(), binaryOpDataReadyHelperTTC(), and binaryOpVectorLeftScalar().

## binaryOpVectorLeftScalar() [2/2]

template<class ResVEC , class LSCALAR , class RVEC >

void escript::binaryOpVectorLeftScalar | ( | ResVEC & | res,
|  | typename ResVEC::size_type | resOffset,
|  | const typename ResVEC::size_type | samplesToProcess,
|  | const typename ResVEC::size_type | sampleSize,
|  | const LSCALAR * | left,
|  | const bool | leftreset,
|  | const RVEC & | right,
|  | typename RVEC::size_type | rightOffset,
|  | escript::ES_optype | operation,
|  | bool | singlerightsample
| ) |  |

This assumes that all data involved have the same points per sample and same shape

References ADD, binaryOpVectorLeftScalar(), DIV, MUL, POW, and SUB.

## binaryOpVectorRightScalar() [1/2]

template<>

void escript::binaryOpVectorRightScalar | ( | DataTypes::RealVectorType & | res,
|  | typename DataTypes::RealVectorType::size_type | resOffset,
|  | const typename DataTypes::RealVectorType::size_type | samplesToProcess,
|  | const typename DataTypes::RealVectorType::size_type | sampleSize,
|  | const DataTypes::RealVectorType & | left,
|  | typename DataTypes::RealVectorType::size_type | leftOffset,
|  | const DataTypes::real_t * | right,
|  | const bool | rightreset,
|  | escript::ES_optype | operation,
|  | bool | singleleftsample
| ) |  |

References ADD, DIV, GREATER, GREATER_EQUAL, LESS, LESS_EQUAL, MUL, POW, and SUB.

Referenced by binaryOpDataReadyHelperCCC(), binaryOpDataReadyHelperECE(), binaryOpDataReadyHelperEEC(), binaryOpDataReadyHelperEEE(), binaryOpDataReadyHelperTCT(), binaryOpDataReadyHelperTTC(), and binaryOpVectorRightScalar().

## binaryOpVectorRightScalar() [2/2]

template<class ResVEC , class LVEC , class RSCALAR >

void escript::binaryOpVectorRightScalar | ( | ResVEC & | res,
|  | typename ResVEC::size_type | resOffset,
|  | const typename ResVEC::size_type | samplesToProcess,
|  | const typename ResVEC::size_type | sampleSize,
|  | const LVEC & | left,
|  | typename LVEC::size_type | leftOffset,
|  | const RSCALAR * | right,
|  | const bool | rightreset,
|  | escript::ES_optype | operation,
|  | bool | singleleftsample
| ) |  |

This assumes that all data involved have the same points per sample and same shape

References ADD, binaryOpVectorRightScalar(), DIV, MUL, POW, and SUB.

## binaryOpVectorTagged() [1/2]

template<>

void escript::binaryOpVectorTagged | ( | DataTypes::RealVectorType & | res,
|  | const typename DataTypes::RealVectorType::size_type | samplesToProcess,
|  | const typename DataTypes::RealVectorType::size_type | DPPSample,
|  | const typename DataTypes::RealVectorType::size_type | DPSize,
|  | const DataTypes::RealVectorType & | left,
|  | const bool | leftscalar,
|  | const DataTypes::RealVectorType & | right,
|  | const bool | rightscalar,
|  | const bool | lefttagged,
|  | const DataTagged & | tagsource,
|  | escript::ES_optype | operation
| ) |  |

References ADD, DIV, escript::DataTagged::getPointOffset(), GREATER, GREATER_EQUAL, LESS, LESS_EQUAL, MUL, POW, and SUB.

Referenced by binaryOpDataReadyHelperEET(), binaryOpDataReadyHelperETE(), and binaryOpVectorTagged().

## binaryOpVectorTagged() [2/2]

template<class ResVEC , class LVEC , class RVEC >

void escript::binaryOpVectorTagged | ( | ResVEC & | res,
|  | const typename ResVEC::size_type | samplesToProcess,
|  | const typename ResVEC::size_type | DPPSample,
|  | const typename ResVEC::size_type | DPSize,
|  | const LVEC & | left,
|  | bool | leftscalar,
|  | const RVEC & | right,
|  | bool | rightscalar,
|  | bool | lefttagged,
|  | const DataTagged & | tagsource,
|  | escript::ES_optype | operation
| ) |  |

This assumes that all data involved have the same points per sample and same shape

References ADD, binaryOpVectorTagged(), DIV, escript::DataTagged::getPointOffset(), MUL, POW, and SUB.

## binOpFnPtrFromVoidPtr()

binOpFnPtr escript::binOpFnPtrFromVoidPtr | ( | void * | v | ) |

Casts a void* to a function pointer taking 3 double* and 3 int

Warning
  The C standard does not guarantee that void* and function pointer are the same size.

Why do we have this? To allow us to pass function pointers between modules via python. To do this without using a custom object we use void*

Referenced by escript::Data::get_MPIComm().

## C_GeneralTensorProduct()

Data escript::C_GeneralTensorProduct | ( | Data & | arg_0,
|  | Data & | arg_1,
|  | int | axis_offset = `0`,
|  | int | transpose = `0`
| ) |  |

Compute a tensor product of two Data objects.

Parameters

  arg_0 | - Input - Data object
  arg_1 | - Input - Data object
  axis_offset | - Input - axis offset
  transpose | - Input - 0: transpose neither, 1: transpose arg0, 2: transpose arg1

References escript::DataTagged::addTag(), AUTOLAZYON, escript::Data::borrowData(), escript::Data::borrowDataPtr(), escript::Data::Data(), ESCRIPT_MAX_DATA_RANK, escript::Data::getDataAtOffsetRO(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDataByTagRW(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::DataConstant::getPointOffset(), escript::DataExpanded::getPointOffset(), escript::DataTagged::getPointOffset(), escript::DataTagged::getTagLookup(), escript::Data::interpolate(), escript::Data::isComplex(), escript::Data::isConstant(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), matrix_matrix_product(), escript::Data::probeInterpolation(), PROD, and escript::Data::transpose().

Referenced by BOOST_PYTHON_MODULE(), escript::DataLazy::collapseToReady(), and rpow().

## C_TensorBinaryOperation()

Data escript::C_TensorBinaryOperation | ( | Data const & | arg_0,
|  | Data const & | arg_1,
|  | escript::ES_optype | operation
| ) |  |

Compute a tensor operation with two Data objects.

Parameters

  arg_0 | - Input - Data object
  arg_1 | - Input - Data object
  operation | - Input - Binary op functor

References binaryOpDataCCC(), binaryOpDataECE(), binaryOpDataEEC(), binaryOpDataEEE(), binaryOpDataEET(), binaryOpDataETE(), binaryOpDataTCT(), binaryOpDataTTC(), binaryOpDataTTT(), escript::Data::borrowData(), escript::Data::complicate(), escript::Data::Data(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), escript::Data::getNumSamples(), escript::FunctionSpace::getTypeCode(), escript::Data::interpolate(), escript::Data::isComplex(), escript::Data::isConstant(), escript::Data::isEmpty(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), and escript::FunctionSpace::toString().

Referenced by escript::Data::dp_algorithm(), operator*(), operator+(), operator-(), operator/(), and escript::Data::powD().

## C_TensorUnaryOperation()

Data escript::C_TensorUnaryOperation | ( | Data const & | arg_0,
|  | escript::ES_optype | operation,
|  | DataTypes::real_t | tol = `0`
| ) |  |

References escript::DataTagged::addTag(), always_real(), escript::Data::borrowData(), escript::Data::complicate(), escript::Data::Data(), escript::Data::getDataAtOffsetRO(), escript::Data::getDataAtOffsetRW(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDataByTagRW(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::DataExpanded::getPointOffset(), escript::DataTagged::getTagLookup(), escript::Data::isComplex(), escript::Data::isConstant(), escript::Data::isEmpty(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), supports_cplx(), escript::Data::tag(), tensor_unary_array_operation(), and tensor_unary_array_operation_real().

Referenced by escript::Data::abs(), escript::Data::acos(), escript::Data::acosh(), escript::Data::asin(), escript::Data::asinh(), escript::Data::atan(), escript::Data::atanh(), escript::Data::conjugate(), escript::Data::cos(), escript::Data::cosh(), escript::Data::dp_algorithm(), escript::Data::erf(), escript::Data::exp(), escript::Data::imag(), escript::Data::log(), escript::Data::log10(), escript::Data::neg(), escript::Data::oneOver(), escript::Data::phase(), escript::Data::real(), escript::Data::sign(), escript::Data::sin(), escript::Data::sinh(), escript::Data::sqrt(), escript::Data::tan(), escript::Data::tanh(), escript::Data::whereNegative(), escript::Data::whereNonNegative(), escript::Data::whereNonPositive(), escript::Data::whereNonZero(), escript::Data::wherePositive(), and escript::Data::whereZero().

## calc_acos() [1/2]

DataTypes::real_t escript::calc_acos | ( | DataTypes::real_t | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_acos() [2/2]

DataTypes::cplx_t escript::calc_acos | ( | DataTypes::cplx_t | x | ) |

inline

## calc_erf() [1/2]

DataTypes::real_t escript::calc_erf | ( | DataTypes::real_t | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_erf() [2/2]

DataTypes::cplx_t escript::calc_erf | ( | DataTypes::cplx_t | x | ) |

inline

References makeNaN().

## calc_gezero() [1/2]

DataTypes::real_t escript::calc_gezero | ( | const DataTypes::real_t & | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_gezero() [2/2]

DataTypes::cplx_t escript::calc_gezero | ( | const DataTypes::cplx_t & | x | ) |

inline

References makeNaN().

## calc_gtzero() [1/2]

DataTypes::real_t escript::calc_gtzero | ( | const DataTypes::real_t & | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_gtzero() [2/2]

DataTypes::cplx_t escript::calc_gtzero | ( | const DataTypes::cplx_t & | x | ) |

inline

References makeNaN().

## calc_lezero() [1/2]

DataTypes::real_t escript::calc_lezero | ( | const DataTypes::real_t & | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_lezero() [2/2]

DataTypes::cplx_t escript::calc_lezero | ( | const DataTypes::cplx_t & | x | ) |

inline

References makeNaN().

## calc_ltzero() [1/2]

DataTypes::real_t escript::calc_ltzero | ( | const DataTypes::real_t & | x | ) |

inline

Referenced by tensor_unary_array_operation().

## calc_ltzero() [2/2]

DataTypes::cplx_t escript::calc_ltzero | ( | const DataTypes::cplx_t & | x | ) |

inline

References makeNaN().

## calc_sign() [1/2]

DataTypes::real_t escript::calc_sign | ( | DataTypes::real_t | x | ) |

inline

References fsign().

Referenced by tensor_unary_array_operation().

## calc_sign() [2/2]

DataTypes::cplx_t escript::calc_sign | ( | DataTypes::cplx_t | x | ) |

inline

References makeNaN().

## canInterpolate()

bool escript::canInterpolate | ( | FunctionSpace | src,
|  | FunctionSpace | dest
| ) |  |

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

Referenced by BOOST_PYTHON_MODULE().

## checkOffset()

template<class VEC >

bool escript::checkOffset | ( | const VEC & | data,
|  | const DataTypes::ShapeType & | shape,
|  | typename VEC::size_type | offset
| ) |  |

inline

Inline function definitions.

References escript::DataTypes::noValues().

Referenced by reductionOpVector().

## checkResult()

bool escript::checkResult | ( | int | res,
|  | int & | mres,
|  | const JMPI & | info
| ) |  |

Everyone puts in their error code and everyone gets the largest one.

References getSubWorldTag(), and MPI_INT.

Referenced by escript::SplitWorld::addJobPerWorld(), dudley::NodeFile::createDOFMappingAndCoupling(), finley::NodeFile::createDOFMappingAndCoupling(), escript::SplitWorld::distributeJobs(), load(), escript::SplitWorld::runJobs(), paso::SystemMatrixPattern::SystemMatrixPattern(), and Tensor4FromObj().

## condEval()

Data escript::condEval | ( | escript::Data & | mask,
|  | escript::Data & | trueval,
|  | escript::Data & | falseval
| ) |  |

References escript::Data::actsExpanded(), escript::DataTagged::addTaggedValue(), AUTOLAZYON, escript::Data::borrowDataPtr(), escript::Data::complicate(), escript::Data::condEvalWorker, escript::Data::copy(), escript::Data::Data(), escript::Data::expand(), escript::DataTagged::getDataByTagRO(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::DataTagged::getOffsetForTag(), escript::Data::getReady(), escript::Data::getSampleDataRO(), escript::DataTagged::getTagLookup(), escript::DataReady::getTypedVectorRW(), escript::DataTagged::getVectorRO(), escript::Data::isComplex(), escript::Data::isConstant(), escript::Data::isLazy(), escript::Data::isTagged(), escript::Data::resolve(), S, and escript::Data::tag().

Referenced by BOOST_PYTHON_MODULE().

## conjugate() [1/2]

template<typename OUT , typename IN >

OUT escript::conjugate | ( | const IN | i | ) |

inline

## conjugate() [2/2]

template<>

DataTypes::real_t escript::conjugate | ( | const DataTypes::real_t | r | ) |

inline

## continuousFunction()

FunctionSpace escript::continuousFunction | ( | const AbstractDomain & | domain | ) |

Create function space objects.

Description: Create function space objects.

Return a continuous FunctionSpace (overlapped node values)

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE(), speckley::SpeckleyDomain::getX(), ripley::RipleyDomain::getX(), dudley::DudleyDomain::getX(), finley::FinleyDomain::getX(), speckley::SpeckleyDomain::interpolateOnDomain(), ripley::RipleyDomain::interpolateOnDomain(), dudley::DudleyDomain::interpolateOnDomain(), finley::FinleyDomain::interpolateOnDomain(), dudley::DudleyDomain::setNewX(), finley::FinleyDomain::setNewX(), speckley::SpeckleyDomain::setToGradient(), ripley::RipleyDomain::setToGradient(), dudley::DudleyDomain::setToGradient(), finley::FinleyDomain::setToGradient(), speckley::SpeckleyDomain::setToX(), ripley::RipleyDomain::setToX(), dudley::DudleyDomain::setToX(), and finley::FinleyDomain::setToX().

## convertToData() [1/2]

Data escript::convertToData | ( | const boost::python::object & | value,
|  | const FunctionSpace & | what = `FunctionSpace()`
| ) |  |

Tries to convert value into a Data object on FunctionSpace what. If value is already a Data object, the object is returned if it is defined on what otherwise interpolated data of values are returned. If value is not a data object it is tried to generate the corresponding data object. escript::DataEmpty() is returned if value is identified as empty.

## convertToData() [2/2]

Data escript::convertToData | ( | const bp::object & | value,
|  | const FunctionSpace & | what
| ) |  |

References escript::Data::isEmpty().

## determineResultShape()

DataTypes::ShapeType escript::determineResultShape | ( | const DataTypes::ShapeType & | left,
|  | const DataTypes::ShapeType & | right
| ) |  |

Determine the shape of the result array for a matrix multiplication of the given views.

Parameters

  left,right | - shapes of the left and right matricies

Returns
  the shape of the matrix which would result from multiplying left and right

References escript::DataTypes::getRank().

## diracDeltaFunctions()

FunctionSpace escript::diracDeltaFunctions | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## eigenvalues()

void escript::eigenvalues | ( | const DataTypes::RealVectorType & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename DataTypes::RealVectorType::size_type | inOffset,
|  | DataTypes::RealVectorType & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename DataTypes::RealVectorType::size_type | evOffset
| ) |  |

inline

solves a local eigenvalue problem

Parameters

  in | - vector containing the input matrix
  inShape | - shape of the input matrix
  inOffset | - the beginning of the input matrix within the vector "in"
  ev | - vector to store the eigenvalues
  evShape | - expected shape of the eigenvalues
  evOffset | - starting location for storing the eigenvalues in vector ev

References eigenvalues1(), eigenvalues2(), eigenvalues3(), ESCRIPT_DLL_API, and escript::DataTypes::getRelIndex().

Referenced by escript::DataConstant::eigenvalues(), escript::DataExpanded::eigenvalues(), escript::DataTagged::eigenvalues(), escript::DataAbstract::hasNoSamples(), and escript::DataTagged::isTagged().

## eigenvalues1() [1/2]

void escript::eigenvalues1 | ( | const DataTypes::real_t | A00,
|  | DataTypes::real_t * | ev0
| ) |  |

inline

solves a 1x1 eigenvalue A*V=ev*V problem

Parameters

  A00 | Input - A_00
  ev0 | Output - eigenvalue

Referenced by eigenvalues(), and eigenvalues_and_eigenvectors1().

## eigenvalues1() [2/2]

void escript::eigenvalues1 | ( | const DataTypes::cplx_t | A00,
|  | DataTypes::cplx_t * | ev0
| ) |  |

inline

## eigenvalues2()

template<class T >

void escript::eigenvalues2 | ( | const T | A00,
|  | const T | A01,
|  | const T | A11,
|  | T * | ev0,
|  | T * | ev1
| ) |  |

inline

solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A

Parameters

  A00 | Input - A_00
  A01 | Input - A_01
  A11 | Input - A_11
  ev0 | Output - smallest eigenvalue
  ev1 | Output - largest eigenvalue

Referenced by eigenvalues(), and eigenvalues_and_eigenvectors2().

## eigenvalues3()

void escript::eigenvalues3 | ( | const DataTypes::real_t | A00,
|  | const DataTypes::real_t | A01,
|  | const DataTypes::real_t | A02,
|  | const DataTypes::real_t | A11,
|  | const DataTypes::real_t | A12,
|  | const DataTypes::real_t | A22,
|  | DataTypes::real_t * | ev0,
|  | DataTypes::real_t * | ev1,
|  | DataTypes::real_t * | ev2
| ) |  |

inline

solves a 3x3 eigenvalue A*V=ev*V problem for symmetric A

Parameters

  A00 | Input - A_00
  A01 | Input - A_01
  A02 | Input - A_02
  A11 | Input - A_11
  A12 | Input - A_12
  A22 | Input - A_22
  ev0 | Output - smallest eigenvalue
  ev1 | Output - eigenvalue
  ev2 | Output - largest eigenvalue

References M_PI.

Referenced by eigenvalues(), and eigenvalues_and_eigenvectors3().

## eigenvalues_and_eigenvectors()

void escript::eigenvalues_and_eigenvectors | ( | const DataTypes::RealVectorType & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | DataTypes::RealVectorType::size_type | inOffset,
|  | DataTypes::RealVectorType & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | DataTypes::RealVectorType::size_type | evOffset,
|  | DataTypes::RealVectorType & | V,
|  | const DataTypes::ShapeType & | VShape,
|  | DataTypes::RealVectorType::size_type | VOffset,
|  | const double | tol = `1.e-13`
| ) |  |

inline

solves a local eigenvalue problem

Parameters

  in | - vector containing the input matrix
  inShape | - shape of the input matrix
  inOffset | - the beginning of the input matrix within the vector "in"
  ev | - vector to store the eigenvalues
  evShape | - expected shape of the eigenvalues
  evOffset | - starting location for storing the eigenvalues in ev
  V | - vector to store the eigenvectors
  VShape | - expected shape of the eigenvectors
  VOffset | - starting location for storing the eigenvectors in V
  tol | - Input - eigenvalues with relative difference tol are treated as equal

References eigenvalues_and_eigenvectors1(), eigenvalues_and_eigenvectors2(), eigenvalues_and_eigenvectors3(), and escript::DataTypes::getRelIndex().

Referenced by escript::DataConstant::eigenvalues_and_eigenvectors(), escript::DataExpanded::eigenvalues_and_eigenvectors(), escript::DataTagged::eigenvalues_and_eigenvectors(), escript::DataAbstract::hasNoSamples(), and escript::DataTagged::isTagged().

## eigenvalues_and_eigenvectors1()

void escript::eigenvalues_and_eigenvectors1 | ( | const DataTypes::real_t | A00,
|  | DataTypes::real_t * | ev0,
|  | DataTypes::real_t * | V00,
|  | const DataTypes::real_t | tol
| ) |  |

inline

solves a 1x1 eigenvalue A*V=ev*V problem for symmetric A

Parameters

  A00 | Input - A_00
  ev0 | Output - eigenvalue
  V00 | Output - eigenvector
  tol | Input - tolerance to identify to eigenvalues

References eigenvalues1().

Referenced by eigenvalues_and_eigenvectors().

## eigenvalues_and_eigenvectors2()

void escript::eigenvalues_and_eigenvectors2 | ( | const DataTypes::real_t | A00,
|  | const DataTypes::real_t | A01,
|  | const DataTypes::real_t | A11,
|  | DataTypes::real_t * | ev0,
|  | DataTypes::real_t * | ev1,
|  | DataTypes::real_t * | V00,
|  | DataTypes::real_t * | V10,
|  | DataTypes::real_t * | V01,
|  | DataTypes::real_t * | V11,
|  | const DataTypes::real_t | tol
| ) |  |

inline

solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive.

Parameters

  A00 | Input - A_00
  A01 | Input - A_01
  A11 | Input - A_11
  ev0 | Output - smallest eigenvalue
  ev1 | Output - eigenvalue
  V00 | Output - eigenvector componenent coresponding to ev0
  V10 | Output - eigenvector componenent coresponding to ev0
  V01 | Output - eigenvector componenent coresponding to ev1
  V11 | Output - eigenvector componenent coresponding to ev1
  tol | Input - tolerance to identify to eigenvalues

References eigenvalues2(), fabs(), paso::util::scale(), and vectorInKernel2().

Referenced by eigenvalues_and_eigenvectors(), and eigenvalues_and_eigenvectors3().

## eigenvalues_and_eigenvectors3()

void escript::eigenvalues_and_eigenvectors3 | ( | const DataTypes::real_t | A00,
|  | const DataTypes::real_t | A01,
|  | const DataTypes::real_t | A02,
|  | const DataTypes::real_t | A11,
|  | const DataTypes::real_t | A12,
|  | const DataTypes::real_t | A22,
|  | DataTypes::real_t * | ev0,
|  | DataTypes::real_t * | ev1,
|  | DataTypes::real_t * | ev2,
|  | DataTypes::real_t * | V00,
|  | DataTypes::real_t * | V10,
|  | DataTypes::real_t * | V20,
|  | DataTypes::real_t * | V01,
|  | DataTypes::real_t * | V11,
|  | DataTypes::real_t * | V21,
|  | DataTypes::real_t * | V02,
|  | DataTypes::real_t * | V12,
|  | DataTypes::real_t * | V22,
|  | const DataTypes::real_t | tol
| ) |  |

inline

solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive.

Parameters

  A00 | Input - A_00
  A01 | Input - A_01
  A02 | Input - A_02
  A11 | Input - A_11
  A12 | Input - A_12
  A22 | Input - A_22
  ev0 | Output - smallest eigenvalue
  ev1 | Output - eigenvalue
  ev2 | Output -
  V00 | Output - eigenvector componenent coresponding to ev0
  V10 | Output - eigenvector componenent coresponding to ev0
  V20 | Output -
  V01 | Output - eigenvector componenent coresponding to ev1
  V11 | Output - eigenvector componenent coresponding to ev1
  V21 | Output -
  V02 | Output -
  V12 | Output -
  V22 | Output -
  tol | Input - tolerance to identify to eigenvalues

References eigenvalues3(), eigenvalues_and_eigenvectors2(), fabs(), normalizeVector3(), and vectorInKernel3__nonZeroA00().

Referenced by eigenvalues_and_eigenvectors().

## fabs()

escript::DataTypes::real_t escript::fabs | ( | const escript::DataTypes::cplx_t | c | ) |

inline

Referenced by abs_f(), paso::Function::derivative(), eigenvalues_and_eigenvectors2(), eigenvalues_and_eigenvectors3(), fsign(), paso::Solver_GMRES2(), tensor_unary_array_operation(), tensor_unary_array_operation_real(), and vectorInKernel2().

## fsign()

DataTypes::real_t escript::fsign | ( | DataTypes::real_t | x | ) |

inline

References fabs().

Referenced by calc_sign().

## function()

FunctionSpace escript::function | ( | const AbstractDomain & | domain | ) |

Return a function FunctionSpace.

References CTS_CHECK.

Referenced by speckley::Brick::assembleGradient(), speckley::Rectangle::assembleGradient(), speckley::Rectangle::assembleIntegrateWorker(), BOOST_PYTHON_MODULE(), speckley::SpeckleyDomain::getSize(), ripley::RipleyDomain::getSize(), dudley::DudleyDomain::getSize(), finley::FinleyDomain::getSize(), escript::Data::grad(), ripley::MultiRectangle::interpolateAcross(), ripley::MultiBrick::interpolateAcross(), speckley::Brick::interpolateNodesOnElementsWorker(), speckley::Rectangle::interpolateNodesOnElementsWorker(), speckley::Brick::randomFill(), dudley::DudleyDomain::setToIntegralsWorker(), speckley::SpeckleyDomain::setToIntegralsWorker(), finley::FinleyDomain::setToIntegralsWorker(), and ripley::RipleyDomain::setToIntegralsWorker().

## functionOnBoundary()

FunctionSpace escript::functionOnBoundary | ( | const AbstractDomain & | domain | ) |

Return a function on boundary FunctionSpace.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE(), ripley::RipleyDomain::getNormal(), dudley::DudleyDomain::getNormal(), and finley::FinleyDomain::getNormal().

## functionOnContactOne()

FunctionSpace escript::functionOnContactOne | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace on right side of contact.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## functionOnContactZero()

FunctionSpace escript::functionOnContactZero | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace on left side of contact.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## get_core_id()

int escript::get_core_id | ( |  | ) |

Referenced by printParallelThreadCnt().

## getEscriptParamInt()

int escript::getEscriptParamInt | ( | const std::string & | name,
|  | int | sentinel = `0`
| ) |  |

inline

get the value of a named parameter. See listEscriptParams() for available parameters.

References escript::EscriptParams::getInt().

Referenced by BOOST_PYTHON_MODULE().

## getMachinePrecision()

double escript::getMachinePrecision | ( |  | ) |

returns the machine precision

Referenced by BOOST_PYTHON_MODULE().

## getMaxFloat()

double escript::getMaxFloat | ( |  | ) |

Referenced by BOOST_PYTHON_MODULE().

## getMPIRankWorld()

int escript::getMPIRankWorld | ( |  | ) |

returns the MPI processor number within MPI_COMM_WORLD

References MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE(), escript::TestDomain::getMPIRank(), printParallelThreadCnt(), and escript::TestDomain::TestDomain().

## getMPISizeWorld()

int escript::getMPISizeWorld | ( |  | ) |

returns the total number of available MPI processes for MPI_COMM_WORLD

References MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE(), escript::TestDomain::getMPISize(), printParallelThreadCnt(), and escript::TestDomain::TestDomain().

## getMPIWorldMax()

int escript::getMPIWorldMax | ( | int | val | ) |

returns the maximum value of an integer over all processors within MPI_COMM_WORLD

References MPI_COMM_WORLD, MPI_INT, and MPI_MAX.

Referenced by BOOST_PYTHON_MODULE(), and runMPIProgram().

## getMPIWorldSum()

int escript::getMPIWorldSum | ( | int | val | ) |

returns sum of an integer over all processors with MPI_COMM_WORLD

References MPI_COMM_WORLD, MPI_INT, and MPI_SUM.

Referenced by BOOST_PYTHON_MODULE(), and runMPIProgram().

## getNumberOfThreads()

int escript::getNumberOfThreads | ( |  | ) |

returns the number of threads

Referenced by BOOST_PYTHON_MODULE(), makePromote(), escript::DataLazy::resolveNodeWorker(), and escript::DataLazy::resolveNodeWorkerCplx().

## getOpgroup()

ES_opgroup escript::getOpgroup | ( | ES_optype | op | ) |

Referenced by escript::DataLazy::collapse(), escript::DataLazy::DataLazy(), escript::DataLazy::makeIdentity(), and makePromote().

## getStringFromPyException()

void escript::getStringFromPyException | ( | boost::python::error_already_set | e,
|  | std::string & | errormsg
| ) |  |

References trace().

Referenced by escript::SplitWorld::addJobPerWorld(), escript::SubWorld::deliverImports(), escript::SplitWorld::distributeJobs(), and escript::SubWorld::runJobs().

## getSubWorldTag()

int escript::getSubWorldTag | ( |  | ) |

inline

tag reserved for use by SubWorld code This value should be higher than the modulus used in JMPI_::setCounter. Apart from that, its value is not particularly significant.

Referenced by checkResult().

## getSvnVersion()

int escript::getSvnVersion | ( |  | ) |

some functions

return the SVN version number used to build this version.

Warning
  Only gives accurate answers for clean checkouts

Referenced by BOOST_PYTHON_MODULE().

## getTestDomainFunctionSpace()

FunctionSpace escript::getTestDomainFunctionSpace | ( | int | dpps,
|  | DataTypes::dim_t | samples,
|  | int | dpsize
| ) |  |

References escript::TestDomain::getDefaultCode(), and escript::TestDomain::TestDomain().

Referenced by BOOST_PYTHON_MODULE().

## gettime()

double escript::gettime | ( |  | ) |

inline

returns the current ticks for timing

Referenced by paso::MKL_solve(), paso::Preconditioner_AMG_alloc(), paso::Preconditioner_AMG_solve(), paso::Preconditioner_LocalAMG_alloc(), paso::Preconditioner_LocalAMG_solve(), paso::Preconditioner_LocalSmoother_alloc(), paso::SystemMatrix::solve(), paso::Solver(), paso::Solver_getILU(), paso::Solver_getRILU(), and paso::UMFPACK_solve().

## groupToString()

const std::string & escript::groupToString | ( | ES_opgroup | g | ) |

References G_UNKNOWN.

Referenced by escript::DataLazy::resolveNodeSample().

## hasFeature()

bool escript::hasFeature | ( | const std::string & | name | ) |

inline

returns true if escript was compiled with the feature `name`, false otherwise.

References escript::EscriptParams::hasFeature().

Referenced by BOOST_PYTHON_MODULE().

## hermitian()

void escript::hermitian | ( | const DataTypes::CplxVectorType & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | DataTypes::CplxVectorType::size_type | inOffset,
|  | DataTypes::CplxVectorType & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | DataTypes::CplxVectorType::size_type | evOffset
| ) |  |

computes an hermitian matrix from your square matrix A: (A + adjoint(A)) / 2

Parameters

  in | - vector containing the matrix A
  inShape | - shape of the matrix A
  inOffset | - the beginning of A within the vector in
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing ev in vector ev

References escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

Referenced by antisymmetric(), escript::DataAbstract::hasNoSamples(), escript::DataConstant::hermitian(), escript::DataExpanded::hermitian(), escript::DataTagged::hermitian(), escript::DataTagged::isTagged(), and escript::DataLazy::resolveNodeNP1OUTCplx().

## IOErrorTranslator()

void escript::IOErrorTranslator | ( | const EsysException & | e | ) |

Function which translates an EsysException into a python IOError.

References escript::EsysException::what().

## isDirectSolver()

bool escript::isDirectSolver | ( | const SolverOptions & | method | ) |

inline

returns true if the passed solver method refers to a direct solver type

References SO_METHOD_DIRECT, SO_METHOD_DIRECT_MUMPS, SO_METHOD_DIRECT_PARDISO, SO_METHOD_DIRECT_SUPERLU, and SO_METHOD_DIRECT_TRILINOS.

Referenced by ripley::RipleyDomain::getSystemMatrixTypeId(), dudley::DudleyDomain::getSystemMatrixTypeId(), and finley::FinleyDomain::getSystemMatrixTypeId().

## listEscriptParams()

boost::python::list escript::listEscriptParams | ( |  | ) |

inline

describe available parameters.

Returns
  a list of tuples (parameter name, value, description)

References escript::EscriptParams::listEscriptParams().

Referenced by BOOST_PYTHON_MODULE().

## listFeatures()

boost::python::list escript::listFeatures | ( |  | ) |

inline

returns a list of features escript was compiled with.

Returns
  a boost python list of strings

References escript::EscriptParams::listFeatures().

Referenced by BOOST_PYTHON_MODULE().

## load()

Data escript::load | ( | const std::string | fileName,
|  | const AbstractDomain & | domain
| ) |  |

reads Data on domain from file in netCDF format

References escript::FunctionSpace::borrowSampleReferenceIDs(), checkResult(), escript::AbstractDomain::getMPI(), escript::FunctionSpace::getNumDataPointsPerSample(), escript::FunctionSpace::getNumSamples(), escript::AbstractDomain::getPtr(), escript::AbstractDomain::isValidFunctionSpaceType(), escript::DataTypes::maxRank, shipString(), and escript::EsysException::what().

Referenced by BOOST_PYTHON_MODULE(), dudley::cleanupAndThrow(), finley::cleanupAndThrow(), and Tensor4FromObj().

## loadConfigured()

bool escript::loadConfigured | ( |  | ) |

returns true if the load funtion is configured.

Referenced by BOOST_PYTHON_MODULE().

## makeDataReducer()

Reducer_ptr escript::makeDataReducer | ( | std::string | type | ) |

References MPI_OP_NULL, and MPI_SUM.

Referenced by BOOST_PYTHON_MODULE().

## makeInfo()

JMPI escript::makeInfo | ( | MPI_Comm | comm,
|  | bool | owncom = `false`
| ) |  |

creates a JMPI shared pointer from MPI communicator if owncom is true, the communicator is freed when mpi info is destroyed.

References escript::NoCOMM_WORLD::active(), and MPI_COMM_WORLD.

Referenced by dudley::brick_driver(), finley::brick_driver(), escript::SubWorld::checkRemoteCompatibility(), dudley::cleanupAndThrow(), finley::cleanupAndThrow(), dudley::DudleyDomain::load(), finley::FinleyDomain::load(), paso::SystemMatrix::loadMM_toCSC(), paso::SystemMatrix::loadMM_toCSR(), dudley::readGmsh(), finley::readGmsh_driver(), dudley::readMesh(), finley::readMesh_driver(), dudley::rectangle_driver(), finley::rectangle_driver(), ripley::RipleyDomain::RipleyDomain(), speckley::SpeckleyDomain::SpeckleyDomain(), and escript::SplitWorld::SplitWorld().

## makeNaN()

DataTypes::real_t escript::makeNaN | ( |  | ) |

inline

returns a NaN.

Warning
  Should probably only used where you know you can test for NaNs

Referenced by calc_erf(), calc_gezero(), calc_gtzero(), calc_lezero(), calc_ltzero(), calc_sign(), escript::Data::infWorker(), escript::Data::lazyAlgWorker(), escript::Data::LsupWorker(), and escript::Data::supWorker().

## makeNonReducedVariable()

Reducer_ptr escript::makeNonReducedVariable | ( |  | ) |

References escript::NonReducedVariable::NonReducedVariable().

Referenced by BOOST_PYTHON_MODULE().

## makePromote()

DataLazy_ptr escript::makePromote | ( | DataLazy_ptr | p | ) |

References ESCRIPT_MAX_DATA_RANK, G_BINARY, G_NP1OUT, escript::FunctionSpace::getDomain(), getNumberOfThreads(), getOpgroup(), escript::FunctionSpace::getTypeCode(), opToString(), PROM, escript::DataTypes::scalarShape, TRACE, TRANS, and transpose().

Referenced by escript::Data::complicate(), and escript::DataLazy::DataLazy().

## makeScalarReducer()

Reducer_ptr escript::makeScalarReducer | ( | std::string | type | ) |

References MPI_MAX, MPI_MIN, MPI_OP_NULL, and MPI_SUM.

Referenced by BOOST_PYTHON_MODULE().

## matMult()

void escript::matMult | ( | const DataTypes::RealVectorType & | left,
|  | const DataTypes::ShapeType & | leftShape,
|  | DataTypes::RealVectorType::size_type | leftOffset,
|  | const DataTypes::RealVectorType & | right,
|  | const DataTypes::ShapeType & | rightShape,
|  | DataTypes::RealVectorType::size_type | rightOffset,
|  | DataTypes::RealVectorType & | result,
|  | const DataTypes::ShapeType & | resultShape
| ) |  |

Perform a matrix multiply of the given views.

In order to properly identify the datapoints, in most cases, the vector, shape and offset of the point must all be supplied. Note that vector in this context refers to a data vector storing datapoints not a mathematical vector. (However, datapoints within the data vector could represent scalars, vectors, matricies, ...). NB: Only multiplies together the two given datapoints, would need to call this over all data-points to multiply the entire Data objects involved.

Parameters

  left,right | - vectors containing the datapoints
  leftShape,rightShape | - shapes of datapoints in the vectors
  leftOffset,rightOffset | - beginnings of datapoints in the vectors
  result | - Vector to store the resulting datapoint in
  resultShape | - expected shape of the resulting datapoint

References escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

## matrix_inverse()

int escript::matrix_inverse | ( | const DataTypes::RealVectorType & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | DataTypes::RealVectorType::size_type | inOffset,
|  | DataTypes::RealVectorType & | out,
|  | const DataTypes::ShapeType & | outShape,
|  | DataTypes::RealVectorType::size_type | outOffset,
|  | int | count,
|  | LapackInverseHelper & | helper
| ) |  |

computes the inverses of square (up to 3x3) matricies

Parameters

  in | - vector containing the input matricies
  inShape | - shape of the input matricies
  inOffset | - the beginning of the input matricies within the vector "in"
  out | - vector to store the inverses
  outShape | - expected shape of the inverses
  outOffset | - starting location for storing the inverses in out
  count | - number of matricies to invert
  helper | - associated working storage

Exceptions

  DataException | if input and output are not the correct shape or if any of the matricies are not invertible.

Returns
  0 on success, on failure the return value should be passed to matrixInverseError(int err).

References escript::DataTypes::getRank(), escript::DataTypes::getRelIndex(), escript::LapackInverseHelper::invert(), NEEDLAPACK, escript::DataTypes::noValues(), and SUCCESS.

Referenced by escript::DataExpanded::matrixInverse(), escript::DataTagged::matrixInverse(), escript::DataConstant::matrixInverse(), and reductionOpVector().

## matrix_matrix_product()

template<class LEFT , class RIGHT , class RES >

void escript::matrix_matrix_product | ( | const int | SL,
|  | const int | SM,
|  | const int | SR,
|  | const LEFT * | A,
|  | const RIGHT * | B,
|  | RES * | C,
|  | int | transpose
| ) |  |

inline

Referenced by C_GeneralTensorProduct(), escript::DataLazy::resolveNodeTProd(), and escript::DataLazy::resolveNodeTProdCplx().

## matrixInverseError()

void escript::matrixInverseError | ( | int | err | ) |

throws an appropriate exception based on failure of matrix_inverse.

Parameters

  err | - error code returned from matrix_inverse

Warning
  do not call in a parallel region since it throws.

References ERRFACTORISE, ERRINVERT, and NEEDLAPACK.

Referenced by escript::Data::matrixInverse(), and reductionOpVector().

## MPIBarrierWorld()

void escript::MPIBarrierWorld | ( |  | ) |

performs a barrier synchronization across all processors.

References escript::NoCOMM_WORLD::active(), and MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE(), and escript::TestDomain::MPIBarrier().

## nancheck() [1/2]

bool escript::nancheck | ( | DataTypes::real_t | d | ) |

inline

acts as a wrapper to isnan.

Warning
  if compiler does not support FP_NAN this function will always return false.

Referenced by vectorHasNaN().

## nancheck() [2/2]

bool escript::nancheck | ( | DataTypes::cplx_t | d | ) |

inline

## normalizeVector3()

void escript::normalizeVector3 | ( | DataTypes::real_t * | V0,
|  | DataTypes::real_t * | V1,
|  | DataTypes::real_t * | V2
| ) |  |

inline

nomalizes a 3-d vector such that length is one and first non-zero component is positive.

Parameters

  V0 | - vector componenent
  V1 | - vector componenent
  V2 | - vector componenent

Referenced by eigenvalues_and_eigenvectors3().

## NotImplementedErrorTranslator()

void escript::NotImplementedErrorTranslator | ( | const EsysException & | e | ) |

Function which translates an EsysException into a python NotImplementedError.

References escript::EsysException::what().

## operator*() [1/4]

Data escript::operator* | ( | const AbstractSystemMatrix & | left,
|  | const Data & | right
| ) |  |

References escript::AbstractSystemMatrix::vectorMultiply().

Referenced by rpow().

## operator*() [2/4]

Data escript::operator* | ( | const Data & | left,
|  | const Data & | right
| ) |  |

Operator* Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and MUL.

## operator*() [3/4]

Data escript::operator* | ( | const Data & | left,
|  | const boost::python::object & | right
| ) |  |

Operator* Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.

References escript::Data::getFunctionSpace(), MAKELAZYBIN2, and MUL.

## operator*() [4/4]

Data escript::operator* | ( | const boost::python::object & | left,
|  | const Data & | right
| ) |  |

Operator* Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.

References escript::Data::getFunctionSpace(), MAKELAZYBIN2, and MUL.

## operator+() [1/3]

Data escript::operator+ | ( | const Data & | left,
|  | const Data & | right
| ) |  |

Operator+ Takes two Data objects.

References ADD, C_TensorBinaryOperation(), and MAKELAZYBIN2.

Referenced by rpow().

## operator+() [2/3]

Data escript::operator+ | ( | const Data & | left,
|  | const boost::python::object & | right
| ) |  |

Operator+ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.

References ADD, escript::Data::getFunctionSpace(), and MAKELAZYBIN2.

## operator+() [3/3]

Data escript::operator+ | ( | const boost::python::object & | left,
|  | const Data & | right
| ) |  |

Operator+ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.

References ADD, escript::Data::getFunctionSpace(), and MAKELAZYBIN2.

## operator-() [1/3]

Data escript::operator- | ( | const Data & | left,
|  | const Data & | right
| ) |  |

Operator- Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and SUB.

Referenced by rpow().

## operator-() [2/3]

Data escript::operator- | ( | const Data & | left,
|  | const boost::python::object & | right
| ) |  |

Operator- Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.

References escript::Data::getFunctionSpace(), MAKELAZYBIN2, and SUB.

## operator-() [3/3]

Data escript::operator- | ( | const boost::python::object & | left,
|  | const Data & | right
| ) |  |

Operator- Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.

References escript::Data::getFunctionSpace(), MAKELAZYBIN2, and SUB.

## operator/() [1/3]

Data escript::operator/ | ( | const Data & | left,
|  | const Data & | right
| ) |  |

Operator/ Takes two Data objects.

References C_TensorBinaryOperation(), DIV, and MAKELAZYBIN2.

Referenced by rpow().

## operator/() [2/3]

Data escript::operator/ | ( | const Data & | left,
|  | const boost::python::object & | right
| ) |  |

Operator/ Takes LHS Data object and RHS python::object. python::object must be convertable to Data type.

References DIV, escript::Data::getFunctionSpace(), and MAKELAZYBIN2.

## operator/() [3/3]

Data escript::operator/ | ( | const boost::python::object & | left,
|  | const Data & | right
| ) |  |

Operator/ Takes LHS python::object and RHS Data object. python::object must be convertable to Data type.

References DIV, escript::Data::getFunctionSpace(), and MAKELAZYBIN2.

## operator<<()

ostream & escript::operator<< | ( | std::ostream & | o,
|  | const Data & | data
| ) |  |

Output operator.

References escript::Data::toString().

Referenced by rpow().

## opToString()

const std::string & escript::opToString | ( | ES_optype | op | ) |

References UNKNOWNOP.

Referenced by escript::DataLazy::collapseToReady(), escript::DataLazy::deepCopy(), escript::DataLazy::intoString(), escript::DataLazy::intoTreeString(), makePromote(), escript::DataLazy::resolveNodeBinary(), escript::DataLazy::resolveNodeBinaryCplx(), escript::DataLazy::resolveNodeNP1OUT(), escript::DataLazy::resolveNodeNP1OUT_2P(), escript::DataLazy::resolveNodeNP1OUT_2PCplx(), escript::DataLazy::resolveNodeNP1OUT_P(), escript::DataLazy::resolveNodeNP1OUT_PCplx(), escript::DataLazy::resolveNodeNP1OUTCplx(), escript::DataLazy::resolveNodeReduction(), escript::DataLazy::resolveNodeSample(), escript::DataLazy::resolveNodeSampleCplx(), escript::DataLazy::resolveNodeTProd(), escript::DataLazy::resolveNodeTProdCplx(), escript::DataLazy::resolveNodeUnary_C(), tensor_unary_array_operation(), and tensor_unary_array_operation_real().

## patternFillArray()

void escript::patternFillArray | ( | int | pattern,
|  | size_t | x,
|  | size_t | y,
|  | size_t | z,
|  | double * | array,
|  | size_t | spacing,
|  | size_t | basex,
|  | size_t | basey,
|  | size_t | basez,
|  | size_t | numpoints
| ) |  |

References paso::util::copy().

## patternFillArray2D()

void escript::patternFillArray2D | ( | size_t | x,
|  | size_t | y,
|  | double * | array,
|  | size_t | spacing,
|  | size_t | basex,
|  | size_t | basey,
|  | size_t | numpoints
| ) |  |

## printParallelThreadCnt()

void escript::printParallelThreadCnt | ( |  | ) |

print a message about how many MPI CPUs and OpenMP threads we're using

References get_core_id(), getMPIRankWorld(), and getMPISizeWorld().

Referenced by BOOST_PYTHON_MODULE().

## randomData()

Data escript::randomData | ( | const boost::python::tuple & | shape,
|  | const FunctionSpace & | what,
|  | long | seed,
|  | const boost::python::tuple & | filter
| ) |  |

Create a new Expanded Data object filled with pseudo-random data.

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE().

## randomFillArray()

void escript::randomFillArray | ( | long | seed,
|  | double * | array,
|  | size_t | n
| ) |  |

References MPI_COMM_WORLD.

Referenced by speckley::Rectangle::assembleIntegrateWorker(), ripley::Brick::interpolateNodesOnFacesWorker(), escript::TestDomain::randomFill(), speckley::Brick::randomFill(), dudley::DudleyDomain::randomFill(), finley::FinleyDomain::randomFill(), and ripley::Rectangle::randomFillWorker().

## raw_addJob()

boost::python::object escript::raw_addJob | ( | boost::python::tuple | t,
|  | boost::python::dict | kwargs
| ) |  |

used to invoke the SplitWorld version from python (in lieu of a method based equivalent to raw_function)

References escript::SplitWorld::addJob().

Referenced by BOOST_PYTHON_MODULE().

## raw_addJobPerWorld()

boost::python::object escript::raw_addJobPerWorld | ( | boost::python::tuple | t,
|  | boost::python::dict | kwargs
| ) |  |

used to invoke the SplitWorld version from python (in lieu of a method based equivalent to raw_function)

References escript::SplitWorld::addJobPerWorld().

Referenced by BOOST_PYTHON_MODULE().

## raw_addVariable()

boost::python::object escript::raw_addVariable | ( | boost::python::tuple | t,
|  | boost::python::dict | kwargs
| ) |  |

used to add a reducer for shared values.

References escript::SplitWorld::addVariable().

Referenced by BOOST_PYTHON_MODULE().

## raw_buildDomains()

boost::python::object escript::raw_buildDomains | ( | boost::python::tuple | t,
|  | boost::python::dict | kwargs
| ) |  |

used to invoke the SplitWorld version from python (in lieu of a method based equivalent to raw_function)

References escript::SplitWorld::buildDomains().

Referenced by BOOST_PYTHON_MODULE().

## reducedContinuousFunction()

FunctionSpace escript::reducedContinuousFunction | ( | const AbstractDomain & | domain | ) |

Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order)

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE(), ripley::RipleyDomain::interpolateOnDomain(), finley::FinleyDomain::interpolateOnDomain(), ripley::RipleyDomain::setToGradient(), and finley::FinleyDomain::setToGradient().

## reducedFunction()

FunctionSpace escript::reducedFunction | ( | const AbstractDomain & | domain | ) |

Return a function FunctionSpace with reduced integration order.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## reducedFunctionOnBoundary()

FunctionSpace escript::reducedFunctionOnBoundary | ( | const AbstractDomain & | domain | ) |

Return a function on boundary FunctionSpace with reduced integration order.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## reducedFunctionOnContactOne()

FunctionSpace escript::reducedFunctionOnContactOne | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace on right side of contact with reduced integration order.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## reducedFunctionOnContactZero()

FunctionSpace escript::reducedFunctionOnContactZero | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace on left side of contact with reduced integration order.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## reducedSolution()

FunctionSpace escript::reducedSolution | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace with reduced integration order.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## reductionOpVector()

template<class BinaryFunction >

DataTypes::real_t escript::reductionOpVector | ( | const DataTypes::RealVectorType & | left,
|  | const DataTypes::ShapeType & | leftShape,
|  | DataTypes::RealVectorType::size_type | offset,
|  | BinaryFunction | operation,
|  | DataTypes::real_t | initial_value
| ) |  |

inline

Perform the given data point reduction operation on the data point specified by the given offset into the view. Reduces all elements of the data point using the given operation, returning the result as a scalar. Operation must be a pointer to a function.

Called by escript::algorithm.

Parameters

  left | - vector containing the datapoint
  shape | - shape of datapoints in the vector
  offset | - beginning of datapoint in the vector
  operation | - Input - Operation to apply. Must be a pointer to a function.
  initial_value |

References checkOffset(), ESYS_ASSERT, matrix_inverse(), matrixInverseError(), escript::DataTypes::noValues(), and escript::DataTypes::DataVectorAlt< T >::size().

Referenced by escript::Data::dp_algorithm(), escript::Data::reduction(), and escript::DataLazy::resolveNodeReduction().

## resolveGroup() [1/2]

void escript::resolveGroup | ( | boost::python::object | obj | ) |

Resolve a collection of Data objects together now. To get performance improvements, the objects will need to have the same function space and share Dag components.

Parameters

  obj | A python list or tuple of Data objects to be resolved together.

## resolveGroup() [2/2]

void escript::resolveGroup | ( | bp::object | obj | ) |

References escript::Data::borrowData(), and escript::Data::isLazy().

Referenced by BOOST_PYTHON_MODULE().

## rpow()

DataTypes::real_t escript::rpow | ( | DataTypes::real_t | x,
|  | DataTypes::real_t | y
| ) |  |

inline

Binary Data object operators.

References C_GeneralTensorProduct(), operator*(), operator+(), operator-(), operator/(), operator<<(), and escript::Data::transpose().

## runMPIProgram() [1/2]

int escript::runMPIProgram | ( | const boost::python::list | args | ) |

uses MPI_Comm_spawn to run an external MPI program safely.

## runMPIProgram() [2/2]

int escript::runMPIProgram | ( | bp::list | args | ) |

References getMPIWorldMax(), getMPIWorldSum(), MPI_COMM_WORLD, and OVERLORDPATH.

Referenced by BOOST_PYTHON_MODULE().

## RuntimeErrorTranslator()

void escript::RuntimeErrorTranslator | ( | const EsysException & | e | ) |

Function which translates an EsysException into a python RuntimeError.

References escript::EsysException::what().

Referenced by BOOST_PYTHON_MODULE().

## saveDataCSV() [1/2]

void escript::saveDataCSV | ( | const std::string & | filename,
|  | boost::python::dict | arg,
|  | const std::string & | sep,
|  | const std::string & | csep,
|  | bool | append = `false`
| ) |  |

## saveDataCSV() [2/2]

void escript::saveDataCSV | ( | const std::string & | filename,
|  | bp::dict | arg,
|  | const std::string & | sep,
|  | const std::string & | csep,
|  | bool | append
| ) |  |

References escript::Data::actsExpanded(), escript::FileWriter::close(), escript::Data::getDataPointRank(), escript::Data::getDomain(), escript::Data::getFunctionSpace(), escript::Data::getSampleDataRO(), escript::FunctionSpace::getTypeCode(), escript::Data::interpolate(), MPI_COMM_NULL, MPI_INT, MPI_MAX, escript::DataTypes::noValues(), escript::FileWriter::openFile(), escript::FunctionSpace::ownSample(), escript::DataTypes::pointToStream(), and escript::FileWriter::writeOrdered().

Referenced by BOOST_PYTHON_MODULE().

## Scalar() [1/2]

Data escript::Scalar | ( | double | value,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

A collection of factory functions for creating Data objects which contain data points of various shapes.

Return a Data object containing scalar data-points. ie: rank 0 data-points.

Parameters

  value | - Input - Single value applied to all Data.
  what | - Input - A description of what this data represents.
  expanded | - Input - if true fill the entire container with the value. Otherwise a more efficient storage mechanism will be used.

Referenced by ripley::Brick::addToMatrixAndRHS(), ripley::Rectangle::addToMatrixAndRHS(), dudley::Assemble_AverageElementData(), finley::Assemble_AverageElementData(), dudley::Assemble_CopyElementData(), finley::Assemble_CopyElementData(), dudley::Assemble_CopyNodalData(), finley::Assemble_CopyNodalData(), dudley::Assemble_gradient(), finley::Assemble_gradient(), dudley::Assemble_integrate(), finley::Assemble_integrate(), dudley::Assemble_interpolate(), finley::Assemble_interpolate(), dudley::Assemble_PDE_Points(), finley::Assemble_PDE_Points(), dudley::Assemble_PDE_Single_2D(), finley::Assemble_PDE_Single_2D(), dudley::Assemble_PDE_Single_3D(), finley::Assemble_PDE_Single_3D(), finley::Assemble_PDE_Single_C(), dudley::Assemble_PDE_System_2D(), finley::Assemble_PDE_System_2D(), dudley::Assemble_PDE_System_3D(), finley::Assemble_PDE_System_3D(), finley::Assemble_PDE_System_C(), ripley::Brick::assembleGradientImpl(), ripley::Rectangle::assembleGradientImpl(), ripley::Brick::assembleIntegrateImpl(), ripley::Rectangle::assembleIntegrateImpl(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySingle(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySingle(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySingleReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySingleReduced(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESingle(), ripley::DefaultAssembler2D< Scalar >::assemblePDESingle(), ripley::DefaultAssembler2D< Scalar >::assemblePDESingleReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESingleReduced(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystemReduced(), ripley::RipleyDomain::averageData(), speckley::SpeckleyDomain::copyData(), ripley::RipleyDomain::copyData(), paso::Coupler< Scalar >::Coupler(), ripley::RipleyDomain::dofToNodes(), paso::Coupler< Scalar >::fillOverlap(), escript::FunctionSpace::getSize(), speckley::Brick::gradient_order10(), speckley::Rectangle::gradient_order10(), speckley::Brick::gradient_order2(), speckley::Rectangle::gradient_order2(), speckley::Brick::gradient_order3(), speckley::Rectangle::gradient_order3(), speckley::Brick::gradient_order4(), speckley::Rectangle::gradient_order4(), speckley::Brick::gradient_order5(), speckley::Rectangle::gradient_order5(), speckley::Brick::gradient_order6(), speckley::Rectangle::gradient_order6(), speckley::Brick::gradient_order7(), speckley::Rectangle::gradient_order7(), speckley::Brick::gradient_order8(), speckley::Rectangle::gradient_order8(), speckley::Brick::gradient_order9(), speckley::Rectangle::gradient_order9(), finley::util::hasReducedIntegrationOrder(), speckley::Brick::integral_order10(), speckley::Rectangle::integral_order10(), speckley::Brick::integral_order2(), speckley::Rectangle::integral_order2(), speckley::Brick::integral_order3(), speckley::Rectangle::integral_order3(), speckley::Brick::integral_order4(), speckley::Rectangle::integral_order4(), speckley::Brick::integral_order5(), speckley::Rectangle::integral_order5(), speckley::Brick::integral_order6(), speckley::Rectangle::integral_order6(), speckley::Brick::integral_order7(), speckley::Rectangle::integral_order7(), speckley::Brick::integral_order8(), speckley::Rectangle::integral_order8(), speckley::Brick::integral_order9(), speckley::Rectangle::integral_order9(), escript::Data::integrateWorker(), speckley::Rectangle::interpolateElementsOnNodesWorker(), speckley::Brick::interpolateNodesOnElementsWorker(), speckley::Rectangle::interpolateNodesOnElementsWorker(), speckley::SpeckleyDomain::multiplyData(), ripley::RipleyDomain::multiplyData(), speckley::Brick::reduction_order10(), speckley::Rectangle::reduction_order10(), speckley::Brick::reduction_order2(), speckley::Rectangle::reduction_order2(), speckley::Brick::reduction_order3(), speckley::Rectangle::reduction_order3(), speckley::Brick::reduction_order4(), speckley::Rectangle::reduction_order4(), speckley::Brick::reduction_order5(), speckley::Rectangle::reduction_order5(), speckley::Brick::reduction_order6(), speckley::Rectangle::reduction_order6(), speckley::Brick::reduction_order7(), speckley::Rectangle::reduction_order7(), speckley::Brick::reduction_order8(), speckley::Rectangle::reduction_order8(), speckley::Brick::reduction_order9(), speckley::Rectangle::reduction_order9(), dudley::util::smallMatSetMult1(), finley::util::smallMatSetMult1(), paso::Coupler< Scalar >::startCollect(), and paso::Connector::unroll().

## Scalar() [2/2]

Data escript::Scalar | ( | DataTypes::cplx_t | value,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

Return a Data object containing scalar data-points. ie: rank 0 data-points.

Parameters

  value | - Input - Single value applied to all Data.
  what | - Input - A description of what this data represents.
  expanded | - Input - if true fill the entire container with the value. Otherwise a more efficient storage mechanism will be used.

Referenced by ScalarFromObj().

## ScalarFromObj()

Data escript::ScalarFromObj | ( | boost::python::object | o,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

Python interface for the Scalar factory.

References Scalar().

Referenced by BOOST_PYTHON_MODULE().

## setEscriptParamInt()

void escript::setEscriptParamInt | ( | const std::string & | name,
|  | int | value
| ) |  |

inline

Set the value of a named parameter. See listEscriptParams() for available parameters.

References escript::EscriptParams::setInt().

Referenced by BOOST_PYTHON_MODULE().

## setNumberOfThreads()

void escript::setNumberOfThreads | ( | const int | num_threads | ) |

set the number of threads

Warning
  Use of this method is strongly discouraged. It may be deprecated in future.

Referenced by BOOST_PYTHON_MODULE().

## shipString()

bool escript::shipString | ( | const char * | src,
|  | char ** | dest,
|  | MPI_Comm & | comm
| ) |  |

ensure that the any ranks with an empty src argument end up with the string from one of the other ranks. With no MPI, it makes dest point at a copy of src.

References MPI_INT, MPI_MAX, and escript::JMPI_::rank.

Referenced by escript::SplitWorld::addJobPerWorld(), dudley::NodeFile::createDOFMappingAndCoupling(), finley::NodeFile::createDOFMappingAndCoupling(), escript::SplitWorld::distributeJobs(), load(), escript::SplitWorld::runJobs(), paso::SystemMatrixPattern::SystemMatrixPattern(), and Tensor4FromObj().

## solution()

FunctionSpace escript::solution | ( | const AbstractDomain & | domain | ) |

Return a FunctionSpace.

References CTS_CHECK, and escript::AbstractDomain::getPtr().

Referenced by BOOST_PYTHON_MODULE().

## supports_cplx()

bool escript::supports_cplx | ( | escript::ES_optype | operation | ) |

References ABS, ACOS, ACOSH, ASIN, ASINH, ATAN, ATANH, CONJ, COS, COSH, ERF, EXP, EZ, GEZ, GZ, IMAG, LEZ, LOG, LOG10, LZ, NEG, NEZ, PHS, REAL, RECIP, SIGN, SIN, SINH, SQRT, TAN, and TANH.

Referenced by C_TensorUnaryOperation(), and tensor_unary_array_operation().

## swapaxes()

template<class VEC >

void escript::swapaxes | ( | const VEC & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename VEC::size_type | inOffset,
|  | VEC & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename VEC::size_type | evOffset,
|  | int | axis0,
|  | int | axis1
| ) |  |

inline

swaps the components axis0 and axis1.

Parameters

  in | - vector containing the input matrix
  inShape | - shape of the input matrix
  inOffset | - the beginning of the input matrix within the vector "in"
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing the output matrix in vector ev
  axis0 | - axis index
  axis1 | - axis index

References ESCRIPT_DLL_API, escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

Referenced by escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), escript::DataLazy::resolveNodeNP1OUT_2P(), escript::DataLazy::resolveNodeNP1OUT_2PCplx(), escript::DataConstant::swapaxes(), escript::DataExpanded::swapaxes(), and escript::DataTagged::swapaxes().

## symmetric()

template<typename VEC >

void escript::symmetric | ( | const VEC & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename VEC::size_type | inOffset,
|  | VEC & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename VEC::size_type | evOffset
| ) |  |

inline

computes a symmetric matrix from your square matrix A: (A + transpose(A)) / 2

Parameters

  in | - vector containing the matrix A
  inShape | - shape of the matrix A
  inOffset | - the beginning of A within the vector in
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing ev in vector ev

References escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

Referenced by escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), ripley::RipleyDomain::newSystemMatrix(), escript::DataLazy::resolveNodeNP1OUT(), escript::DataLazy::resolveNodeNP1OUTCplx(), escript::DataConstant::symmetric(), escript::DataExpanded::symmetric(), and escript::DataTagged::symmetric().

## Tensor()

Data escript::Tensor | ( | double | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

Return a Data object containing tensor datapoints. ie: rank 2 data-points.

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE(), and TensorFromObj().

## Tensor3()

Data escript::Tensor3 | ( | double | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE(), and Tensor3FromObj().

## Tensor3C()

Data escript::Tensor3C | ( | DataTypes::cplx_t | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::FunctionSpace::getDomain().

Referenced by Tensor3FromObj().

## Tensor3FromObj() [1/2]

Data escript::Tensor3FromObj | ( | boost::python::object | o,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

## Tensor3FromObj() [2/2]

Data escript::Tensor3FromObj | ( | bp::object | o,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::FunctionSpace::getDomain(), Tensor3(), and Tensor3C().

Referenced by BOOST_PYTHON_MODULE().

## Tensor4()

Data escript::Tensor4 | ( | double | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE(), and Tensor4FromObj().

## Tensor4C()

Data escript::Tensor4C | ( | DataTypes::cplx_t | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::FunctionSpace::getDomain().

Referenced by Tensor4FromObj().

## Tensor4FromObj() [1/2]

Data escript::Tensor4FromObj | ( | boost::python::object | o,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

## Tensor4FromObj() [2/2]

Data escript::Tensor4FromObj | ( | bp::object | o,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::Data::borrowData(), escript::FunctionSpace::borrowSampleReferenceIDs(), checkResult(), escript::Data::getDataAtOffsetRW(), escript::Data::getDataOffset(), escript::FunctionSpace::getDomain(), escript::AbstractDomain::getMPI(), escript::FunctionSpace::getNumDataPointsPerSample(), escript::FunctionSpace::getNumSamples(), escript::AbstractDomain::getPtr(), escript::AbstractDomain::isValidFunctionSpaceType(), load(), escript::DataTypes::maxRank, escript::DataAbstract::reorderByReferenceIDs(), shipString(), Tensor4(), Tensor4C(), and escript::EsysException::what().

Referenced by BOOST_PYTHON_MODULE().

## tensor_unary_array_operation()

template<class IN , typename OUT >

void escript::tensor_unary_array_operation | ( | const size_t | size,
|  | const IN * | arg1,
|  | OUT * | argRes,
|  | escript::ES_optype | operation,
|  | DataTypes::real_t | tol = `0`
| ) |  |

inline

References ABS, ACOS, ACOSH, ASIN, ASINH, ATAN, ATANH, calc_acos(), calc_erf(), calc_gezero(), calc_gtzero(), calc_lezero(), calc_ltzero(), calc_sign(), CONJ, COS, COSH, ERF, EXP, EZ, fabs(), GEZ, GZ, LEZ, LOG, LOG10, LZ, NEG, NEZ, opToString(), RECIP, SIGN, SIN, SINH, SQRT, supports_cplx(), TAN, and TANH.

Referenced by C_TensorUnaryOperation(), escript::DataLazy::resolveNodeUnary(), and escript::DataLazy::resolveNodeUnaryCplx().

## tensor_unary_array_operation_real()

template<class IN >

void escript::tensor_unary_array_operation_real | ( | const size_t | size,
|  | const IN * | arg1,
|  | DataTypes::real_t * | argRes,
|  | escript::ES_optype | operation,
|  | DataTypes::real_t | tol = `0`
| ) |  |

inline

References ABS, abs_f(), EZ, fabs(), IMAG, NEZ, opToString(), PHS, and REAL.

Referenced by C_TensorUnaryOperation(), and escript::DataLazy::resolveNodeUnary().

## tensor_unary_promote()

void escript::tensor_unary_promote | ( | const size_t | size,
|  | const DataTypes::real_t * | arg1,
|  | DataTypes::cplx_t * | argRes
| ) |  |

inline

Referenced by escript::DataLazy::resolveNodeUnaryCplx().

## TensorC()

Data escript::TensorC | ( | DataTypes::cplx_t | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::FunctionSpace::getDomain().

Referenced by TensorFromObj().

## TensorFromObj() [1/2]

Data escript::TensorFromObj | ( | boost::python::object | o,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

## TensorFromObj() [2/2]

Data escript::TensorFromObj | ( | bp::object | o,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

References escript::FunctionSpace::getDomain(), Tensor(), and TensorC().

Referenced by BOOST_PYTHON_MODULE().

## trace()

template<class VEC >

void escript::trace | ( | const VEC & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename VEC::size_type | inOffset,
|  | VEC & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename VEC::size_type | evOffset,
|  | int | axis_offset
| ) |  |

inline

computes the trace of a matrix

Parameters

  in | - vector containing the input matrix
  inShape | - shape of the input matrix
  inOffset | - the beginning of the input matrix within the vector "in"
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing the output matrix in vector ev
  axis_offset |

References ESCRIPT_DLL_API, escript::DataTypes::getRank(), escript::DataTypes::getRelIndex(), and escript::DataTypes::noValues().

Referenced by getStringFromPyException(), escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), escript::DataLazy::resolveNodeNP1OUT_P(), escript::DataLazy::resolveNodeNP1OUT_PCplx(), escript::DataConstant::trace(), escript::DataExpanded::trace(), and escript::DataTagged::trace().

## transpose()

template<class VEC >

void escript::transpose | ( | const VEC & | in,
|  | const DataTypes::ShapeType & | inShape,
|  | typename VEC::size_type | inOffset,
|  | VEC & | ev,
|  | const DataTypes::ShapeType & | evShape,
|  | typename VEC::size_type | evOffset,
|  | int | axis_offset
| ) |  |

inline

Transpose each data point of this Data object around the given axis.

Parameters

  in | - vector containing the input matrix
  inShape | - shape of the input matrix
  inOffset | - the beginning of the input matrix within the vector "in"
  ev | - vector to store the output matrix
  evShape | - expected shape of the output matrix
  evOffset | - starting location for storing the output matrix in vector ev
  axis_offset |

References ESCRIPT_DLL_API, escript::DataTypes::getRank(), and escript::DataTypes::getRelIndex().

Referenced by escript::DataAbstract::hasNoSamples(), escript::DataTagged::isTagged(), makePromote(), escript::DataLazy::resolveNodeNP1OUT_P(), escript::DataLazy::resolveNodeNP1OUT_PCplx(), escript::DataConstant::transpose(), escript::DataExpanded::transpose(), and escript::DataTagged::transpose().

## ValueErrorTranslator()

void escript::ValueErrorTranslator | ( | const EsysException & | e | ) |

Function which translates an EsysException into a python ValueError.

References escript::EsysException::what().

## Vector()

Data escript::Vector | ( | double | value,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

Return a Data object containing vector data-points. ie: rank 1 data-points.

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE(), ripley::SystemMatrix::getBlockSize(), escript::FunctionSpace::getNormal(), escript::FunctionSpace::getX(), ripley::MultiRectangle::interpolateAcross(), ripley::MultiBrick::interpolateAcross(), speckley::SpeckleyDomain::setToX(), ripley::RipleyDomain::setToX(), dudley::DudleyDomain::setToX(), finley::FinleyDomain::setToX(), and VectorFromObj().

## VectorFromObj() [1/2]

Data escript::VectorFromObj | ( | bp::object | o,
|  | const FunctionSpace & | what,
|  | bool | expanded
| ) |  |

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

Referenced by BOOST_PYTHON_MODULE().

## VectorFromObj() [2/2]

Data escript::VectorFromObj | ( | boost::python::object | o,
|  | const FunctionSpace & | what = `FunctionSpace()`,
|  | bool | expanded = `false`
| ) |  |

## vectorHasNaN()

bool escript::vectorHasNaN | ( | const DataTypes::RealVectorType & | in,
|  | DataTypes::RealVectorType::size_type | inOffset,
|  | size_t | count
| ) |  |

inline

returns true if the vector contains NaN

References nancheck().

Referenced by escript::Data::lazyAlgWorker().

## vectorInKernel2()

void escript::vectorInKernel2 | ( | const DataTypes::real_t | A00,
|  | const DataTypes::real_t | A10,
|  | const DataTypes::real_t | A01,
|  | const DataTypes::real_t | A11,
|  | DataTypes::real_t * | V0,
|  | DataTypes::real_t * | V1
| ) |  |

inline

returns a non-zero vector in the kernel of [[A00,A01],[A01,A11]] assuming that the kernel dimension is at least 1.

Parameters

  A00 | Input - matrix component
  A10 | Input - matrix component
  A01 | Input - matrix component
  A11 | Input - matrix component
  V0 | Output - vector component
  V1 | Output - vector component

References fabs().

Referenced by eigenvalues_and_eigenvectors2(), and vectorInKernel3__nonZeroA00().

## vectorInKernel3__nonZeroA00()

void escript::vectorInKernel3__nonZeroA00 | ( | const DataTypes::real_t | A00,
|  | const DataTypes::real_t | A10,
|  | const DataTypes::real_t | A20,
|  | const DataTypes::real_t | A01,
|  | const DataTypes::real_t | A11,
|  | const DataTypes::real_t | A21,
|  | const DataTypes::real_t | A02,
|  | const DataTypes::real_t | A12,
|  | const DataTypes::real_t | A22,
|  | DataTypes::real_t * | V0,
|  | DataTypes::real_t * | V1,
|  | DataTypes::real_t * | V2
| ) |  |

inline

returns a non-zero vector in the kernel of [[A00,A01,A02],[A10,A11,A12],[A20,A21,A22]] assuming that the kernel dimension is at least 1 and A00 is non zero.

Parameters

  A00 | Input - matrix component
  A10 | Input - matrix component
  A20 | Input - matrix component
  A01 | Input - matrix component
  A11 | Input - matrix component
  A21 | Input - matrix component
  A02 | Input - matrix component
  A12 | Input - matrix component
  A22 | Input - matrix component
  V0 | Output - vector component
  V1 | Output - vector component
  V2 | Output - vector component

References vectorInKernel2().

Referenced by eigenvalues_and_eigenvectors3().

## voidPtrFromBinOpFnPtr()

void * escript::voidPtrFromBinOpFnPtr | ( | binOpFnPtr | f | ) |

Why do we have this? Only to act as an inverse to the above function

## Variable Documentation

## escriptParams

EscriptParams escript::escriptParams

Referenced by escript::DataLazy::toString(), and escript::Data::toString().