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

Namespaces

namespace  DataMaths
 

Contains maths operations performed on data vectors.


namespace  DataTypes
 

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


Classes

class  AbstractContinuousDomain
 AbstractContinuousDomain, base class for continuous domains. More...
class  AbstractDomain
class  AbstractSystemMatrix
 Give a short description of what AbstractSystemMatrix does. 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...
struct  FMax
 Return the maximum value of the two given values. More...
struct  FMin
 Return the minimum value of the two given values. 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...
struct  Length
 Return the length between the two given values. More...
struct  Trace
 Return the trace of the two given values. More...
struct  AbsGT
 Return 1 if abs(x)>y, otherwise return 0. More...
struct  AbsLTE
 Return 1 if abs(x)<=y, otherwise return 0. 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
class  FunctionSpace
 Give a short description of what FunctionSpace does. More...
class  FunctionSpaceException
 FunctionSpaceException exception class. More...
class  LapackInverseHelper
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  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
 TransportProblemException exception class. More...
class  WrappedArray

Typedefs

typedef boost::shared_ptr
< AbstractDomain
Domain_ptr
typedef boost::shared_ptr
< const AbstractDomain
const_Domain_ptr
typedef boost::shared_ptr
< AbstractSystemMatrix
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 int(* binOpFnPtr )(double *, const double *, const double *, int, int, int)
typedef boost::shared_ptr
< SolverBuddy
SB_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 {
  ESCRIPT_DEFAULT, ESCRIPT_DIRECT = 1, ESCRIPT_CHOLEVSKY = 2, ESCRIPT_PCG = 3,
  ESCRIPT_CR = 4, ESCRIPT_CGS = 5, ESCRIPT_BICGSTAB = 6, ESCRIPT_ILU0 = 8,
  ESCRIPT_ILUT = 9, ESCRIPT_JACOBI = 10, ESCRIPT_GMRES = 11, ESCRIPT_PRES20 = 12,
  ESCRIPT_LUMPING = 13, ESCRIPT_ROWSUM_LUMPING = 13, ESCRIPT_HRZ_LUMPING = 14, ESCRIPT_NO_REORDERING = 17,
  ESCRIPT_MINIMUM_FILL_IN = 18, ESCRIPT_NESTED_DISSECTION = 19, ESCRIPT_MKL = 15, ESCRIPT_UMFPACK = 16,
  ESCRIPT_ITERATIVE = 20, ESCRIPT_PASO = 21, ESCRIPT_AMG = 22, ESCRIPT_REC_ILU = 23,
  ESCRIPT_TRILINOS = 24, ESCRIPT_NONLINEAR_GMRES = 25, ESCRIPT_TFQMR = 26, ESCRIPT_MINRES = 27,
  ESCRIPT_GAUSS_SEIDEL = 28, ESCRIPT_RILU = 29, ESCRIPT_DEFAULT_REORDERING = 30, ESCRIPT_SUPER_LU = 31,
  ESCRIPT_PASTIX = 32, ESCRIPT_YAIR_SHAPIRA_COARSENING = 33, ESCRIPT_RUGE_STUEBEN_COARSENING = 34, ESCRIPT_AGGREGATION_COARSENING = 35,
  ESCRIPT_NO_PRECONDITIONER = 36, ESCRIPT_MIN_COARSE_MATRIX_SIZE = 37, ESCRIPT_AMLI = 38, ESCRIPT_STANDARD_COARSENING = 39,
  ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING = 50, ESCRIPT_CLASSIC_INTERPOLATION = 51, ESCRIPT_DIRECT_INTERPOLATION = 52, ESCRIPT_BOOMERAMG = 60,
  ESCRIPT_CIJP_FIXED_RANDOM_COARSENING = 61, ESCRIPT_CIJP_COARSENING = 62, ESCRIPT_FALGOUT_COARSENING = 63, ESCRIPT_PMIS_COARSENING = 64,
  ESCRIPT_HMIS_COARSENING = 65, ESCRIPT_LINEAR_CRANK_NICOLSON = 66, ESCRIPT_CRANK_NICOLSON = 67, ESCRIPT_BACKWARD_EULER = 68
}

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.
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.
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.
double rpow (double x, double y)
Data operator+ (const Data &left, const Data &right)
 Operator+ Takes two Data objects.
Data operator- (const Data &left, const Data &right)
 Operator- Takes two Data objects.
Data operator* (const Data &left, const Data &right)
 Operator* Takes two Data objects.
Data operator/ (const Data &left, const Data &right)
 Operator/ Takes two Data objects.
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.
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.
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.
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.
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.
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.
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.
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.
std::ostream & operator<< (std::ostream &o, const Data &data)
 Output operator.
Data C_GeneralTensorProduct (Data &arg_0, Data &arg_1, int axis_offset=0, int transpose=0)
 Compute a tensor product of two Data objects.
template<typename BinaryFunction >
Data C_TensorBinaryOperation (Data const &arg_0, Data const &arg_1, BinaryFunction operation)
 Compute a tensor operation with two Data objects.
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.
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.
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.
Data Vector (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
 Return a Data object containing vector data-points. ie: rank 1 data-points.
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.
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.
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.
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
bool loadConfigured ()
 returns true if the load funtion is configured.
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.
const std::string & opToString (ES_optype op)
void releaseUnusedMemory ()
 releases unused memory in the memory manager.
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.
int getEscriptParamInt (const char *name, int sentinel=0)
 get the value of a named parameter. See listEscriptParams() (showEscriptParams() in python) for available parameters.
boost::python::list listEscriptParams ()
 describe available paramters.
bool canInterpolate (FunctionSpace src, FunctionSpace dest)
FunctionSpace continuousFunction (const AbstractDomain &domain)
 Create function space objects.
FunctionSpace reducedContinuousFunction (const AbstractDomain &domain)
 Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order)
FunctionSpace function (const AbstractDomain &domain)
 Return a function FunctionSpace.
FunctionSpace reducedFunction (const AbstractDomain &domain)
 Return a function FunctionSpace with reduced integration order.
FunctionSpace functionOnBoundary (const AbstractDomain &domain)
 Return a function on boundary FunctionSpace.
FunctionSpace reducedFunctionOnBoundary (const AbstractDomain &domain)
 Return a function on boundary FunctionSpace with reduced integration order.
FunctionSpace functionOnContactZero (const AbstractDomain &domain)
 Return a FunctionSpace on left side of contact.
FunctionSpace reducedFunctionOnContactZero (const AbstractDomain &domain)
 Return a FunctionSpace on left side of contact with reduced integration order.
FunctionSpace functionOnContactOne (const AbstractDomain &domain)
 Return a FunctionSpace on right side of contact.
FunctionSpace reducedFunctionOnContactOne (const AbstractDomain &domain)
 Return a FunctionSpace on right side of contact with reduced integration order.
FunctionSpace solution (const AbstractDomain &domain)
 Return a FunctionSpace.
FunctionSpace reducedSolution (const AbstractDomain &domain)
 Return a FunctionSpace with reduced integration order.
FunctionSpace diracDeltaFunctions (const AbstractDomain &domain)
 Return a FunctionSpace.
bool nancheck (double d)
 acts as a wrapper to isnan.
double makeNaN ()
 returns a NaN.
void eigenvalues1 (const double A00, double *ev0)
 solves a 1x1 eigenvalue A*V=ev*V problem
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
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
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
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.
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.
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.
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.
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.
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)
FunctionSpace getTestDomainFunctionSpace (int dpps, int 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.
template<class UnaryFunction >
void unaryOp (DataTagged &data, UnaryFunction operation)
template<class UnaryFunction >
void unaryOp (DataConstant &data, UnaryFunction operation)
int getSvnVersion ()
 some functions
int get_core_id ()
void printParallelThreadCnt ()
 print a message about how many MPI CPUs and OpenMP threads we're using
void setNumberOfThreads (const int num_threads)
 set the number of threads
int getNumberOfThreads ()
 returns the number of threads
int getMPISizeWorld ()
 returns the total number of available MPI processes for MPI_COMM_WORLD
int getMPIRankWorld ()
 returns the MPI processor number within MPI_COMM_WORLD
int getMPIWorldMax (const int val)
 returns the maximum value of an integer over all processors within MPI_COMM_WORLD
int getMPIWorldSum (const int val)
 returns sum of an integer over all processors with MPI_COMM_WORLD
int runMPIProgram (const boost::python::list args)
 uses MPI_Comm_spawn to run an external MPI program safely.
double getMachinePrecision ()
 returns machine precision
double getMaxFloat ()
void MPIBarrierWorld ()
 performs a barrier synchronization across all processors.
void saveDataCSV (const std::string &filename, boost::python::dict arg, const std::string &sep, const std::string &csep, bool append)
void resolveGroup (boost::python::object obj)

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<SolverBuddy> escript::SB_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 solver options for a linear or non-linear solver.

ESCRIPT_DEFAULT: The default method used to solve the system of linear equations ESCRIPT_DIRECT: The direct solver based on LDU factorization ESCRIPT_CHOLEVSKY: The direct solver based on LDLT factorization (can only be applied for symmetric PDEs) ESCRIPT_PCG: The preconditioned conjugate gradient method (can only be applied for symmetric PDEs) ESCRIPT_CR: The conjugate residual method ESCRIPT_CGS: The conjugate gradient square method ESCRIPT_BICGSTAB: The stabilized Bi-Conjugate Gradient method ESCRIPT_TFQMR: Transpose Free Quasi Minimal Residual method ESCRIPT_MINRES: Minimum residual method ESCRIPT_ILU0: The incomplete LU factorization preconditioner with no fill-in ESCRIPT_ILUT: The incomplete LU factorization preconditioner with fill-in ESCRIPT_JACOBI: The Jacobi preconditioner ESCRIPT_GMRES: The Gram-Schmidt minimum residual method ESCRIPT_PRES20: Special ESCRIPT_GMRES with restart after 20 steps and truncation after 5 residuals ESCRIPT_ROWSUM_LUMPING: Matrix lumping using row sum ESCRIPT_HRZ_LUMPING: Matrix lumping using the HRZ approach ESCRIPT_NO_REORDERING: No matrix reordering allowed ESCRIPT_MINIMUM_FILL_IN: Reorder matrix to reduce fill-in during factorization ESCRIPT_NESTED_DISSECTION: Reorder matrix to improve load balancing during factorization ESCRIPT_PASO: PASO solver package ESCRIPT_SCSL: SGI SCSL solver library ESCRIPT_MKL: Intel's MKL solver library ESCRIPT_UMFPACK: The UMFPACK library ESCRIPT_TRILINOS: The TRILINOS parallel solver class library from Sandia National Labs ESCRIPT_ITERATIVE: The default iterative solver ESCRIPT_AMG: Algebraic Multi Grid ESCRIPT_AMLI: Algebraic Multi Level Iteration ESCRIPT_REC_ILU: recursive ESCRIPT_ILU0 ESCRIPT_RILU: relaxed ESCRIPT_ILU0 ESCRIPT_GAUSS_SEIDEL: Gauss-Seidel preconditioner ESCRIPT_DEFAULT_REORDERING: the reordering method recommended by the solver ESCRIPT_SUPER_LU: the Super_LU solver package ESCRIPT_PASTIX: the Pastix direct solver_package ESCRIPT_YAIR_SHAPIRA_COARSENING: ESCRIPT_AMG and ESCRIPT_AMLI coarsening method by Yair-Shapira ESCRIPT_RUGE_STUEBEN_COARSENING: ESCRIPT_AMG and ESCRIPT_AMLI coarsening method by Ruge and Stueben ESCRIPT_AGGREGATION_COARSENING: ESCRIPT_AMG and ESCRIPT_AMLI coarsening using (symmetric) aggregation ESCRIPT_STANDARD_COARSENING: ESCRIPT_AMG and ESCRIPT_AMLI standard coarsening using measure of importance of the unknowns ESCRIPT_MIN_COARSE_MATRIX_SIZE: minimum size of the coarsest level matrix to use direct solver. ESCRIPT_NO_PRECONDITIONER: no preconditioner is applied. ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING: classical interpolation in AMG with enforced ESCRIPT_CLASSIC_INTERPOLATION: classical interpolation in AMG ESCRIPT_DIRECT_INTERPOLATION: direct interploation in AMG ESCRIPT_BOOMERAMG: Boomer AMG in hypre library ESCRIPT_CIJP_FIXED_RANDOM_COARSENING: BoomerAMG parallel coarsening method CIJP by using fixed random vector ESCRIPT_CIJP_COARSENING: BoomerAMG parallel coarsening method CIJP ESCRIPT_PAESCRIPT_FALGOUT_COARSENING: BoomerAMG parallel coarsening method falgout ESCRIPT_PMIS_COARSENING: BoomerAMG parallel coarsening method PMIS ESCRIPT_HMIS_COARSENING: BoomerAMG parallel coarsening method HMIS ESCRIPT_BACKWARD_EULER: backward Euler scheme ESCRIPT_CRANK_NICOLSON: Crank-Nicolson scheme ESCRIPT_LINEAR_CRANK_NICOLSON: linerized Crank-Nicolson scheme

Enumerator:
ESCRIPT_DEFAULT 
ESCRIPT_DIRECT 
ESCRIPT_CHOLEVSKY 
ESCRIPT_PCG 
ESCRIPT_CR 
ESCRIPT_CGS 
ESCRIPT_BICGSTAB 
ESCRIPT_ILU0 
ESCRIPT_ILUT 
ESCRIPT_JACOBI 
ESCRIPT_GMRES 
ESCRIPT_PRES20 
ESCRIPT_LUMPING 
ESCRIPT_ROWSUM_LUMPING 
ESCRIPT_HRZ_LUMPING 
ESCRIPT_NO_REORDERING 
ESCRIPT_MINIMUM_FILL_IN 
ESCRIPT_NESTED_DISSECTION 
ESCRIPT_MKL 
ESCRIPT_UMFPACK 
ESCRIPT_ITERATIVE 
ESCRIPT_PASO 
ESCRIPT_AMG 
ESCRIPT_REC_ILU 
ESCRIPT_TRILINOS 
ESCRIPT_NONLINEAR_GMRES 
ESCRIPT_TFQMR 
ESCRIPT_MINRES 
ESCRIPT_GAUSS_SEIDEL 
ESCRIPT_RILU 
ESCRIPT_DEFAULT_REORDERING 
ESCRIPT_SUPER_LU 
ESCRIPT_PASTIX 
ESCRIPT_YAIR_SHAPIRA_COARSENING 
ESCRIPT_RUGE_STUEBEN_COARSENING 
ESCRIPT_AGGREGATION_COARSENING 
ESCRIPT_NO_PRECONDITIONER 
ESCRIPT_MIN_COARSE_MATRIX_SIZE 
ESCRIPT_AMLI 
ESCRIPT_STANDARD_COARSENING 
ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING 
ESCRIPT_CLASSIC_INTERPOLATION 
ESCRIPT_DIRECT_INTERPOLATION 
ESCRIPT_BOOMERAMG 
ESCRIPT_CIJP_FIXED_RANDOM_COARSENING 
ESCRIPT_CIJP_COARSENING 
ESCRIPT_FALGOUT_COARSENING 
ESCRIPT_PMIS_COARSENING 
ESCRIPT_HMIS_COARSENING 
ESCRIPT_LINEAR_CRANK_NICOLSON 
ESCRIPT_CRANK_NICOLSON 
ESCRIPT_BACKWARD_EULER 

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

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]

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*

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(), and escript::DataMaths::reductionOp().

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

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 escriptParams, and escript::EscriptParams::getInt().

Referenced by BOOST_PYTHON_MODULE().

returns machine precision

Referenced by BOOST_PYTHON_MODULE().

Referenced by BOOST_PYTHON_MODULE().

returns the MPI processor number within MPI_COMM_WORLD

References MPI_COMM_WORLD.

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

returns the total number of available MPI processes for MPI_COMM_WORLD

References MPI_COMM_WORLD.

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

int escript::getMPIWorldMax ( const int  val)

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

References MPI_COMM_WORLD, and MPI_INT.

Referenced by BOOST_PYTHON_MODULE().

int escript::getMPIWorldSum ( const int  val)

returns sum of an integer over all processors with MPI_COMM_WORLD

References MPI_COMM_WORLD, and MPI_INT.

Referenced by BOOST_PYTHON_MODULE().

returns the number of threads

References omp_get_max_threads.

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

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,
int  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 escriptParams, and escript::EscriptParams::listEscriptParams().

Referenced by BOOST_PYTHON_MODULE().

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

returns true if the load funtion is configured.

Referenced by BOOST_PYTHON_MODULE().

double escript::log1p ( const double  x) [inline]
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().

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]

performs a barrier synchronization across all processors.

References esysUtils::getSplitWorld(), and MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE().

bool escript::nancheck ( double  d) [inline]

acts as a wrapper to isnan.

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

Referenced by escript::DataConstant::hasNaN(), escript::DataExpanded::hasNaN(), escript::DataTagged::hasNaN(), and escript::DataMaths::vectorHasNaN().

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.

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.

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

Operator+ Takes two Data objects.

References ADD, C_TensorBinaryOperation(), and MAKELAZYBIN2.

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.

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.

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

Operator- Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and SUB.

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.

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.

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

Operator/ Takes two Data objects.

References C_TensorBinaryOperation(), DIV, and MAKELAZYBIN2.

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.

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.

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

Output operator.

References escript::Data::toString().

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

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

References get_core_id(), MPI_COMM_WORLD, 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.

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

releases unused memory in the memory manager.

References arrayManager, and 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.

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

Referenced by BOOST_PYTHON_MODULE().

double escript::rpow ( double  x,
double  y 
) [inline]

Binary Data object operators.

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

uses MPI_Comm_spawn to run an external MPI program safely.

References MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE().

void escript::saveDataCSV ( const std::string &  filename,
boost::python::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 escriptParams, and 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