escript  Revision_Unversioneddirectory
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
escript Namespace Reference

Namespaces

 DataMaths
 Contains maths operations performed on data vectors.
 
 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  AbsGT
 Return 1 if abs(x)>y, otherwise return 0. More...
 
struct  AbsLTE
 Return 1 if abs(x)<=y, otherwise return 0. More...
 
struct  AbsMax
 Return the absolute maximum value of the two given values. More...
 
struct  AbsMin
 Return the absolute minimum 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  Data
 Data represents a collection of datapoints. More...
 
class  DataAbstract
 
class  DataAlgorithmAdapter
 Adapt binary algorithms so they may be used in DataArrayView reduction operations. More...
 
class  DataBlocks2D
 DataBlocks2D manages a 2D array of multi-dimensional data points. More...
 
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
 DataException exception class. More...
 
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...
 
class  DataVector
 DataVector implements an arbitrarily long vector of data values. DataVector is the underlying data container for Data objects. More...
 
class  DomainException
 DomainException exception class. More...
 
class  EscriptParams
 
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
 FunctionSpaceException exception class. More...
 
class  LapackInverseHelper
 
struct  Length
 Return the length between the two given values. More...
 
class  MPIDataReducer
 
class  MPIScalarReducer
 
class  NonReducedVariable
 
class  NullDomain
 NullDomain provides a null value for domain. Needed for the construction of a default FunctionSpace. More...
 
class  SolverBuddy
 
class  SolverOptionsException
 SolverOptionsException exception class. More...
 
class  SplitWorld
 
class  SplitWorldException
 SplitWorldException exception class. More...
 
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...
 
struct  Trace
 Return the trace of the two given values. More...
 
class  TransportProblemException
 TransportProblemException exception class. More...
 
class  WrappedArray
 

Typedefs

typedef boost::shared_ptr< AbstractDomainDomain_ptr
 
typedef boost::shared_ptr< const AbstractDomainconst_Domain_ptr
 
typedef boost::shared_ptr< AbstractReducerReducer_ptr
 
typedef boost::shared_ptr< AbstractSystemMatrixASM_ptr
 
typedef boost::shared_ptr< AbstractTransportProblemATP_ptr
 
typedef boost::shared_ptr< DataAbstractDataAbstract_ptr
 
typedef boost::shared_ptr< const DataAbstractconst_DataAbstract_ptr
 
typedef boost::shared_ptr< DataReadyDataReady_ptr
 
typedef boost::shared_ptr< const DataReadyconst_DataReady_ptr
 
typedef boost::shared_ptr< DataLazyDataLazy_ptr
 
typedef boost::shared_ptr< const DataLazyconst_DataLazy_ptr
 
typedef int(* binOpFnPtr) (double *, const double *, const double *, int, int, int)
 
typedef boost::shared_ptr< SolverBuddySB_ptr
 
typedef boost::shared_ptr< SubWorldSubWorld_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
}
 
enum  SolverOptions {
  SO_DEFAULT, SO_TARGET_CPU, SO_TARGET_GPU, SO_PACKAGE_CUSP,
  SO_PACKAGE_MKL, SO_PACKAGE_PASO, SO_PACKAGE_PASTIX, SO_PACKAGE_SUPER_LU,
  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_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)
 
template<class BinaryFunction >
void binaryOp (DataTagged &left, const DataConstant &right, BinaryFunction operation)
 Perform the given binary operation. More...
 
template<class BinaryFunction >
void binaryOp (DataTagged &left, const DataTypes::ValueType &right, const DataTypes::ShapeType &shape, BinaryFunction operation)
 apply the binary op to each value in left and the single value right. More...
 
template<class BinaryFunction >
void binaryOp (DataTagged &left, const DataTagged &right, BinaryFunction operation)
 
template<class BinaryFunction >
void binaryOp (DataConstant &left, const DataConstant &right, BinaryFunction operation)
 
template<class BinaryFunction >
void binaryOp (DataExpanded &left, const DataReady &right, BinaryFunction 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...
 
double rpow (double x, double 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...
 
template<typename BinaryFunction >
Data C_TensorBinaryOperation (Data const &arg_0, Data const &arg_1, BinaryFunction operation)
 Compute a tensor operation with two Data objects. More...
 
template<typename UnaryFunction >
Data C_TensorUnaryOperation (Data const &arg_0, UnaryFunction operation)
 
template<class BinaryFunction >
double algorithm (const DataExpanded &data, BinaryFunction operation, double initial_value)
 Perform the given operation upon all values in all data-points in the given Data object and return the final result. More...
 
template<class BinaryFunction >
double algorithm (DataTagged &data, BinaryFunction operation, double initial_value)
 
template<class BinaryFunction >
double algorithm (DataConstant &data, BinaryFunction operation, double initial_value)
 
template<class BinaryFunction >
void dp_algorithm (const DataExpanded &data, DataExpanded &result, BinaryFunction operation, double initial_value)
 Perform the given data-point reduction operation on all data-points in data, storing results in corresponding data-points of result. More...
 
template<class BinaryFunction >
void dp_algorithm (const DataTagged &data, DataTagged &result, BinaryFunction operation, double initial_value)
 
template<class BinaryFunction >
void dp_algorithm (DataConstant &data, DataConstant &result, BinaryFunction operation, double initial_value)
 
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 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 (boost::python::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 TensorFromObj (boost::python::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 Tensor3FromObj (boost::python::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 Tensor4FromObj (boost::python::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 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...
 
const std::string & opToString (ES_optype op)
 
void releaseUnusedMemory ()
 releases unused memory in the memory manager. More...
 
binOpFnPtr binOpFnPtrFromVoidPtr (void *v)
 
void * voidPtrFromBinOpFnPtr (binOpFnPtr f)
 
void setEscriptParamInt (const char *name, int value)
 Set the value of a named parameter. See listEscriptParams() (showEscriptParams() in python) for available parameters. More...
 
int getEscriptParamInt (const char *name, int sentinel=0)
 get the value of a named parameter. See listEscriptParams() (showEscriptParams() in python) for available parameters. More...
 
boost::python::list listEscriptParams ()
 describe available paramters. 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...
 
bool nancheck (double d)
 acts as a wrapper to isnan. More...
 
double makeNaN ()
 returns a NaN. More...
 
void eigenvalues1 (const double A00, double *ev0)
 solves a 1x1 eigenvalue A*V=ev*V problem More...
 
void eigenvalues2 (const double A00, const double A01, const double A11, double *ev0, double *ev1)
 solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A More...
 
void eigenvalues3 (const double A00, const double A01, const double A02, const double A11, const double A12, const double A22, double *ev0, double *ev1, double *ev2)
 solves a 3x3 eigenvalue A*V=ev*V problem for symmetric A More...
 
void eigenvalues_and_eigenvectors1 (const double A00, double *ev0, double *V00, const double tol)
 solves a 1x1 eigenvalue A*V=ev*V problem for symmetric A More...
 
void vectorInKernel2 (const double A00, const double A10, const double A01, const double A11, double *V0, double *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 double A00, const double A10, const double A20, const double A01, const double A11, const double A21, const double A02, const double A12, const double A22, double *V0, double *V1, double *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 double A00, const double A01, const double A11, double *ev0, double *ev1, double *V00, double *V10, double *V01, double *V11, const double 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 (double *V0, double *V1, double *V2)
 nomalizes a 3-d vector such that length is one and first non-zero component is positive. More...
 
void eigenvalues_and_eigenvectors3 (const double A00, const double A01, const double A02, const double A11, const double A12, const double A22, double *ev0, double *ev1, double *ev2, double *V00, double *V10, double *V20, double *V01, double *V11, double *V21, double *V02, double *V12, double *V22, const double 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 matrix_matrix_product (const int SL, const int SM, const int SR, const double *A, const double *B, double *C, int transpose)
 
template<typename UnaryFunction >
void tensor_unary_operation (const int size, const double *arg1, double *argRes, UnaryFunction operation)
 
template<typename BinaryFunction >
void tensor_binary_operation (const int size, const double *arg1, const double *arg2, double *argRes, BinaryFunction operation)
 
template<typename BinaryFunction >
void tensor_binary_operation (const int size, double arg1, const double *arg2, double *argRes, BinaryFunction operation)
 
template<typename BinaryFunction >
void tensor_binary_operation (const int size, const double *arg1, double arg2, double *argRes, BinaryFunction operation)
 
Reducer_ptr makeDataReducer (std::string type)
 
Reducer_ptr makeScalarReducer (std::string type)
 
Reducer_ptr makeNonReducedVariable ()
 
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, dim_t samples, int dpsize)
 
double log1p (const double x)
 
float IEEE_NaN ()
 
double IEEE_Infy ()
 
double fsign (double x)
 
template<class UnaryFunction >
void unaryOp (DataExpanded &data, UnaryFunction operation)
 Perform the given unary operation on each data point of the given Data object. Called by Data::unaryOp. Calls DataArrayView::unaryOp. For DataExpanded objects, operation is done in parallel. More...
 
template<class UnaryFunction >
void unaryOp (DataTagged &data, UnaryFunction operation)
 
template<class UnaryFunction >
void unaryOp (DataConstant &data, UnaryFunction operation)
 
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

Taipan arrayManager
 
EscriptParams escriptParams
 

Typedef Documentation

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

Enumeration Type Documentation

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 

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_PASTIX: the Pastix direct solver_package SO_PACKAGE_SUPER_LU: the Super_LU 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: The direct solver based on LDU factorization 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_PASTIX 
SO_PACKAGE_SUPER_LU 
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_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

template<class BinaryFunction >
double escript::algorithm ( const DataExpanded data,
BinaryFunction  operation,
double  initial_value 
)
inline
template<class BinaryFunction >
double escript::algorithm ( DataTagged data,
BinaryFunction  operation,
double  initial_value 
)
inline
template<class BinaryFunction >
double escript::algorithm ( DataConstant data,
BinaryFunction  operation,
double  initial_value 
)
inline
template<class BinaryFunction >
void escript::binaryOp ( DataTagged left,
const DataConstant right,
BinaryFunction  operation 
)
inline

Perform the given binary operation.

Parameters
leftInput/Output - The left hand side.
rightInput - The right hand side.
operationInput - The operation to perform.

References escript::DataMaths::binaryOp(), escript::DataTagged::getDefaultOffset(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagLookup(), escript::DataConstant::getVectorRO(), and escript::DataTagged::getVectorRW().

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

template<class BinaryFunction >
void escript::binaryOp ( DataTagged left,
const DataTypes::ValueType right,
const DataTypes::ShapeType shape,
BinaryFunction  operation 
)
inline

apply the binary op to each value in left and the single value right.

The value in right will be assumed to begin at offset 0

References escript::DataMaths::binaryOp(), escript::DataTagged::getDefaultOffset(), escript::DataTypes::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagLookup(), and escript::DataTagged::getVectorRW().

template<class BinaryFunction >
void escript::binaryOp ( DataTagged left,
const DataTagged right,
BinaryFunction  operation 
)
inline
template<class BinaryFunction >
void escript::binaryOp ( DataConstant left,
const DataConstant right,
BinaryFunction  operation 
)
inline
template<class BinaryFunction >
void escript::binaryOp ( DataExpanded left,
const DataReady right,
BinaryFunction  operation 
)
inline
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().

Data escript::C_GeneralTensorProduct ( escript::Data arg_0,
escript::Data arg_1,
int  axis_offset = 0,
int  transpose = 0 
)
template<typename BinaryFunction >
Data escript::C_TensorBinaryOperation ( Data const &  arg_0,
Data const &  arg_1,
BinaryFunction  operation 
)
inline
template<typename UnaryFunction >
Data escript::C_TensorUnaryOperation ( Data const &  arg_0,
UnaryFunction  operation 
)
bool escript::canInterpolate ( FunctionSpace  src,
FunctionSpace  dest 
)
Data escript::condEval ( escript::Data mask,
escript::Data trueval,
escript::Data falseval 
)
FunctionSpace escript::continuousFunction ( const AbstractDomain domain)
Data escript::convertToData ( const boost::python::object &  value,
const FunctionSpace what 
)

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.

References escript::Data::isEmpty().

FunctionSpace escript::diracDeltaFunctions ( const AbstractDomain domain)
template<class BinaryFunction >
void escript::dp_algorithm ( const DataExpanded data,
DataExpanded result,
BinaryFunction  operation,
double  initial_value 
)
inline

Perform the given data-point reduction operation on all data-points in data, storing results in corresponding data-points of result.

Objects data and result must be of the same type, and have the same number of data points, but where data has data points of rank n, result must have data points of rank 0.

Calls DataArrayView::reductionOp

References escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataExpanded::getPointOffset(), escript::DataAbstract::getShape(), escript::DataExpanded::getVectorRO(), escript::DataExpanded::getVectorRW(), escript::DataAlgorithmAdapter< BinaryFunction >::operation, and escript::DataMaths::reductionOp().

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

template<class BinaryFunction >
void escript::dp_algorithm ( const DataTagged data,
DataTagged result,
BinaryFunction  operation,
double  initial_value 
)
inline
template<class BinaryFunction >
void escript::dp_algorithm ( DataConstant data,
DataConstant result,
BinaryFunction  operation,
double  initial_value 
)
inline
void escript::eigenvalues1 ( const double  A00,
double *  ev0 
)
inline

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

Parameters
A00Input - A_00
ev0Output - eigenvalue

Referenced by escript::DataMaths::eigenvalues(), and eigenvalues_and_eigenvectors1().

void escript::eigenvalues2 ( const double  A00,
const double  A01,
const double  A11,
double *  ev0,
double *  ev1 
)
inline

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

Parameters
A00Input - A_00
A01Input - A_01
A11Input - A_11
ev0Output - smallest eigenvalue
ev1Output - largest eigenvalue

Referenced by escript::DataMaths::eigenvalues(), and eigenvalues_and_eigenvectors2().

void escript::eigenvalues3 ( const double  A00,
const double  A01,
const double  A02,
const double  A11,
const double  A12,
const double  A22,
double *  ev0,
double *  ev1,
double *  ev2 
)
inline

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

Parameters
A00Input - A_00
A01Input - A_01
A02Input - A_02
A11Input - A_11
A12Input - A_12
A22Input - A_22
ev0Output - smallest eigenvalue
ev1Output - eigenvalue
ev2Output - largest eigenvalue

References M_PI.

Referenced by escript::DataMaths::eigenvalues(), and eigenvalues_and_eigenvectors3().

void escript::eigenvalues_and_eigenvectors1 ( const double  A00,
double *  ev0,
double *  V00,
const double  tol 
)
inline

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

Parameters
A00Input - A_00
ev0Output - eigenvalue
V00Output - eigenvector
tolInput - tolerance to identify to eigenvalues

References eigenvalues1().

Referenced by escript::DataMaths::eigenvalues_and_eigenvectors().

void escript::eigenvalues_and_eigenvectors2 ( const double  A00,
const double  A01,
const double  A11,
double *  ev0,
double *  ev1,
double *  V00,
double *  V10,
double *  V01,
double *  V11,
const double  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
A00Input - A_00
A01Input - A_01
A11Input - A_11
ev0Output - smallest eigenvalue
ev1Output - eigenvalue
V00Output - eigenvector componenent coresponding to ev0
V10Output - eigenvector componenent coresponding to ev0
V01Output - eigenvector componenent coresponding to ev1
V11Output - eigenvector componenent coresponding to ev1
tolInput - tolerance to identify to eigenvalues

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

Referenced by escript::DataMaths::eigenvalues_and_eigenvectors(), and eigenvalues_and_eigenvectors3().

void escript::eigenvalues_and_eigenvectors3 ( const double  A00,
const double  A01,
const double  A02,
const double  A11,
const double  A12,
const double  A22,
double *  ev0,
double *  ev1,
double *  ev2,
double *  V00,
double *  V10,
double *  V20,
double *  V01,
double *  V11,
double *  V21,
double *  V02,
double *  V12,
double *  V22,
const double  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
A00Input - A_00
A01Input - A_01
A02Input - A_02
A11Input - A_11
A12Input - A_12
A22Input - A_22
ev0Output - smallest eigenvalue
ev1Output - eigenvalue
ev2Output -
V00Output - eigenvector componenent coresponding to ev0
V10Output - eigenvector componenent coresponding to ev0
V20Output -
V01Output - eigenvector componenent coresponding to ev1
V11Output - eigenvector componenent coresponding to ev1
V21Output -
V02Output -
V12Output -
V22Output -
tolInput - tolerance to identify to eigenvalues

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

Referenced by escript::DataMaths::eigenvalues_and_eigenvectors().

double escript::fsign ( double  x)
inline
FunctionSpace escript::function ( const AbstractDomain domain)
FunctionSpace escript::functionOnBoundary ( const AbstractDomain domain)
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().

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

int escript::get_core_id ( )

Referenced by printParallelThreadCnt().

int escript::getEscriptParamInt ( const char *  name,
int  sentinel 
)

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

References escript::EscriptParams::getInt().

Referenced by BOOST_PYTHON_MODULE().

double escript::getMachinePrecision ( )

returns the machine precision

Referenced by BOOST_PYTHON_MODULE().

double escript::getMaxFloat ( )

Referenced by BOOST_PYTHON_MODULE().

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

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

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

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

int escript::getNumberOfThreads ( )

returns the number of threads

References omp_get_max_threads.

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

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

FunctionSpace escript::getTestDomainFunctionSpace ( int  dpps,
dim_t  samples,
int  dpsize 
)
double escript::IEEE_Infy ( )
inline
float escript::IEEE_NaN ( )
inline
boost::python::list escript::listEscriptParams ( )
inline

describe available paramters.

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

References escript::EscriptParams::listEscriptParams().

Referenced by BOOST_PYTHON_MODULE().

Data escript::load ( const std::string  fileName,
const AbstractDomain domain 
)
bool escript::loadConfigured ( )

returns true if the load funtion is configured.

Referenced by BOOST_PYTHON_MODULE().

double escript::log1p ( const double  x)
inline

Referenced by IEEE_Infy().

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

References MPI_OP_NULL, and MPI_SUM.

Referenced by BOOST_PYTHON_MODULE().

double escript::makeNaN ( )
inline

returns a NaN.

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

Referenced by escript::Data::infWorker(), escript::Data::lazyAlgWorker(), escript::Data::LsupWorker(), and escript::Data::supWorker().

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

References MPI_MAX, MPI_MIN, MPI_OP_NULL, and MPI_SUM.

Referenced by BOOST_PYTHON_MODULE().

void escript::matrix_matrix_product ( const int  SL,
const int  SM,
const int  SR,
const double *  A,
const double *  B,
double *  C,
int  transpose 
)
inline
void escript::MPIBarrierWorld ( )

performs a barrier synchronization across all processors.

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

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

bool escript::nancheck ( double  d)
inline
void escript::normalizeVector3 ( double *  V0,
double *  V1,
double *  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().

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

Operator* Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and MUL.

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.

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.

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

Operator+ Takes two Data objects.

References ADD, C_TensorBinaryOperation(), and MAKELAZYBIN2.

Referenced by rpow().

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.

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.

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

Operator- Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and SUB.

Referenced by rpow().

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.

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.

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

Operator/ Takes two Data objects.

References C_TensorBinaryOperation(), DIV, and MAKELAZYBIN2.

Referenced by rpow().

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.

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.

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

Output operator.

References escript::Data::toString().

Referenced by rpow().

const std::string & escript::opToString ( ES_optype  op)
void escript::printParallelThreadCnt ( )

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

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

Referenced by BOOST_PYTHON_MODULE().

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

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

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

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

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

FunctionSpace escript::reducedContinuousFunction ( const AbstractDomain domain)
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().

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

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

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

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

void escript::releaseUnusedMemory ( )

releases unused memory in the memory manager.

References escript::Taipan::release_unused_arrays().

Referenced by BOOST_PYTHON_MODULE().

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
objA python list or tuple of Data objects to be resolved together.
void escript::resolveGroup ( bp::object  obj)
double escript::rpow ( double  x,
double  y 
)
inline
int escript::runMPIProgram ( const boost::python::list  args)

uses MPI_Comm_spawn to run an external MPI program safely.

int escript::runMPIProgram ( bp::list  args)
void escript::saveDataCSV ( const std::string &  filename,
boost::python::dict  arg,
const std::string &  sep,
const std::string &  csep,
bool  append = false 
)
void escript::saveDataCSV ( const std::string &  filename,
bp::dict  arg,
const std::string &  sep,
const std::string &  csep,
bool  append 
)
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 BOOST_PYTHON_MODULE(), and escript::FunctionSpace::getSize().

void escript::setEscriptParamInt ( const char *  name,
int  value 
)

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

References escript::EscriptParams::setInt().

Referenced by BOOST_PYTHON_MODULE().

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

FunctionSpace escript::solution ( const AbstractDomain domain)
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().

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

Data escript::Tensor3FromObj ( boost::python::object  o,
const FunctionSpace what,
bool  expanded 
)
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().

Data escript::Tensor4FromObj ( boost::python::object  o,
const FunctionSpace what,
bool  expanded 
)
template<typename BinaryFunction >
void escript::tensor_binary_operation ( const int  size,
const double *  arg1,
const double *  arg2,
double *  argRes,
BinaryFunction  operation 
)
inline

Referenced by C_TensorBinaryOperation().

template<typename BinaryFunction >
void escript::tensor_binary_operation ( const int  size,
double  arg1,
const double *  arg2,
double *  argRes,
BinaryFunction  operation 
)
inline
template<typename BinaryFunction >
void escript::tensor_binary_operation ( const int  size,
const double *  arg1,
double  arg2,
double *  argRes,
BinaryFunction  operation 
)
inline
template<typename UnaryFunction >
void escript::tensor_unary_operation ( const int  size,
const double *  arg1,
double *  argRes,
UnaryFunction  operation 
)
inline
Data escript::TensorFromObj ( boost::python::object  o,
const FunctionSpace what,
bool  expanded 
)
template<class UnaryFunction >
void escript::unaryOp ( DataExpanded data,
UnaryFunction  operation 
)
inline

Perform the given unary operation on each data point of the given Data object. Called by Data::unaryOp. Calls DataArrayView::unaryOp. For DataExpanded objects, operation is done in parallel.

Parameters
dataInput/Output - The data.
operationInput - The operation to perform.

References escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataExpanded::getPointOffset(), escript::DataAbstract::getShape(), escript::DataExpanded::getVectorRW(), and escript::DataMaths::unaryOp().

template<class UnaryFunction >
void escript::unaryOp ( DataTagged data,
UnaryFunction  operation 
)
inline
template<class UnaryFunction >
void escript::unaryOp ( DataConstant data,
UnaryFunction  operation 
)
inline
Data escript::Vector ( double  value,
const FunctionSpace what,
bool  expanded 
)
Data escript::VectorFromObj ( boost::python::object  o,
const FunctionSpace what,
bool  expanded 
)
void escript::vectorInKernel2 ( const double  A00,
const double  A10,
const double  A01,
const double  A11,
double *  V0,
double *  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
A00Input - matrix component
A10Input - matrix component
A01Input - matrix component
A11Input - matrix component
V0Output - vector component
V1Output - vector component

Referenced by eigenvalues_and_eigenvectors2(), and vectorInKernel3__nonZeroA00().

void escript::vectorInKernel3__nonZeroA00 ( const double  A00,
const double  A10,
const double  A20,
const double  A01,
const double  A11,
const double  A21,
const double  A02,
const double  A12,
const double  A22,
double *  V0,
double *  V1,
double *  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
A00Input - matrix component
A10Input - matrix component
A20Input - matrix component
A01Input - matrix component
A11Input - matrix component
A21Input - matrix component
A02Input - matrix component
A12Input - matrix component
A22Input - matrix component
V0Output - vector component
V1Output - vector component
V2Output - vector component

References vectorInKernel2().

Referenced by eigenvalues_and_eigenvectors3().

void * escript::voidPtrFromBinOpFnPtr ( binOpFnPtr  f)

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

Variable Documentation

Taipan escript::arrayManager
EscriptParams escript::escriptParams