escript Namespace Reference


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  BufferGroup
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  NullDomain
 NullDomain provides a null value for domain. Needed for the construction of a default FunctionSpace. 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

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.

Typedefs

typedef boost::shared_ptr
< AbstractDomain
Domain_ptr
typedef boost::shared_ptr
< const AbstractDomain
const_Domain_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

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
}

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 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.
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.
char * Escript_MPI_appendRankToFileName (const char *, int, int)
double rpow (double x, double y)
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 Tensor (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
 Return a Data object containing tensor datapoints. ie: rank 2 data-points.
Data Tensor3 (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
 Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.
Data Tensor4 (double value, const FunctionSpace &what=FunctionSpace(), bool expanded=false)
 Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.
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.
ES_opgroup getOpgroup (ES_optype op)
FunctionSpace resultFS (DataAbstract_ptr left, DataAbstract_ptr right, ES_optype op)
DataTypes::ShapeType resultShape (DataAbstract_ptr left, DataAbstract_ptr right, ES_optype op)
DataTypes::ShapeType resultShape (DataAbstract_ptr left, ES_optype op, int axis_offset)
DataTypes::ShapeType SwapShape (DataAbstract_ptr left, const int axis0, const int axis1)
DataTypes::ShapeType GTPShape (DataAbstract_ptr left, DataAbstract_ptr right, int axis_offset, int transpose, int &SL, int &SM, int &SR)
int calcBuffs (const DataLazy_ptr &left, const DataLazy_ptr &right, ES_optype op)
const std::string & opToString (ES_optype op)
void releaseUnusedMemory ()
 releases unused memory in the memory manager.
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.
const_Domain_ptr nullDomainValue (new NullDomain())
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.
FunctionSpace functionOnContactZero (const AbstractDomain &domain)
 Return afunction on boundary FunctionSpace with reduced integration order.
FunctionSpace reducedFunctionOnContactZero (const AbstractDomain &domain)
 Return a FunctionSpace on left side of contact.
FunctionSpace functionOnContactOne (const AbstractDomain &domain)
 Return a FunctionSpace on left side of contact with reduced integration order.
FunctionSpace reducedFunctionOnContactOne (const AbstractDomain &domain)
 Return a FunctionSpace on left side of contact.
FunctionSpace solution (const AbstractDomain &domain)
 Return a FunctionSpace with reduced integration order.
FunctionSpace reducedSolution (const AbstractDomain &domain)
 Return a FunctionSpace.
FunctionSpace diracDeltaFunction (const AbstractDomain &domain)
 Return a FunctionSpace.
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)
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
double getMachinePrecision ()
 returns machine precision
double getMaxFloat ()
void MPIBarrierWorld ()
 performs a barrier synchronization across all processors.

Variables

string ES_opstrings []
int ES_opcount = 41
ES_opgroup opgroups []
Taipan arrayManager
EscriptParams escriptParams
int defaultList [2] = {0,1}
int NullDomainFS = 1
int referenceID = 10
const int TestDomainFS = 1


Typedef Documentation

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


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 


Function Documentation

template<class BinaryFunction>
double escript::algorithm ( DataConstant &  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 ( const DataExpanded &  data,
BinaryFunction  operation,
double  initial_value 
) [inline]

template<class BinaryFunction>
void escript::binaryOp ( DataExpanded &  left,
const DataReady &  right,
BinaryFunction  operation 
) [inline]

template<class BinaryFunction>
void escript::binaryOp ( DataConstant &  left,
const DataConstant &  right,
BinaryFunction  operation 
) [inline]

template<class BinaryFunction>
void escript::binaryOp ( DataTagged &  left,
const DataTagged &  right,
BinaryFunction  operation 
) [inline]

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 DataConstant &  right,
BinaryFunction  operation 
) [inline]

Perform the given binary operation.

Parameters:
left Input/Output - The left hand side.
right Input - The right hand side.
operation Input - 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(), and binaryOp().

Data escript::C_GeneralTensorProduct ( Data arg_0,
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 
) [inline]

int escript::@30::calcBuffs ( const DataLazy_ptr &  left,
const DataLazy_ptr &  right,
ES_optype  op 
) [static]

FunctionSpace escript::continuousFunction ( const AbstractDomain &  domain  ) 

Create function space objects.

Description: Create function space objects.

Return a continuous FunctionSpace (overlapped node values)

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

Referenced by BOOST_PYTHON_MODULE(), finley::MeshAdapter::getX(), finley::MeshAdapter::interpolateOnDomain(), finley::MeshAdapter::setNewX(), finley::MeshAdapter::setToGradient(), and finley::MeshAdapter::setToX().

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::diracDeltaFunction ( const AbstractDomain &  domain  ) 

template<class BinaryFunction>
void escript::dp_algorithm ( DataConstant &  data,
DataConstant &  result,
BinaryFunction  operation,
double  initial_value 
) [inline]

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

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

void escript::eigenvalues1 ( const double  A00,
double *  ev0 
) [inline]

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

Parameters:
A00 Input - A_00
ev0 Output - 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:
A00 Input - A_00
A01 Input - A_01
A11 Input - A_11
ev0 Output - smallest eigenvalue
ev1 Output - 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:
A00 Input - A_00
A01 Input - A_01
A02 Input - A_02
A11 Input - A_11
A12 Input - A_12
A22 Input - A_22
ev0 Output - smallest eigenvalue
ev1 Output - eigenvalue
ev2 Output - largest eigenvalue

References M_PI.

Referenced by 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:
A00 Input - A_00
ev0 Output - eigenvalue
V00 Output - eigenvector
tol Input - 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:
A00 Input - A_00
A01 Input - A_01
A11 Input - A_11
ev0 Output - smallest eigenvalue
ev1 Output - eigenvalue
V00 Output - eigenvector componenent coresponding to ev0
V10 Output - eigenvector componenent coresponding to ev0
V01 Output - eigenvector componenent coresponding to ev1
V11 Output - eigenvector componenent coresponding to ev1
tol Input - tolerance to identify to eigenvalues

References eigenvalues2(), 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:
A00 Input - A_00
A01 Input - A_01
A02 Input - A_02
A11 Input - A_11
A12 Input - A_12
A22 Input - A_22
ev0 Output - smallest eigenvalue
ev1 Output - eigenvalue
ev2 Output -
V00 Output - eigenvector componenent coresponding to ev0
V10 Output - eigenvector componenent coresponding to ev0
V20 Output -
V01 Output - eigenvector componenent coresponding to ev1
V11 Output - eigenvector componenent coresponding to ev1
V21 Output -
V02 Output -
V12 Output -
V22 Output -
tol Input - tolerance to identify to eigenvalues

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

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

char * escript::Escript_MPI_appendRankToFileName ( const char *  fileName,
int  mpi_size,
int  mpi_rank 
)

Modify a filename for MPI parallel output to multiple files

References esysUtils::malloc().

Referenced by escript::DataTagged::dump(), escript::DataExpanded::dump(), escript::DataConstant::dump(), and load().

double escript::fsign ( double  x  )  [inline]

FunctionSpace escript::function ( const AbstractDomain &  domain  ) 

FunctionSpace escript::functionOnBoundary ( const AbstractDomain &  domain  ) 

Return a function on boundary FunctionSpace.

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

Referenced by BOOST_PYTHON_MODULE(), and finley::MeshAdapter::getNormal().

FunctionSpace escript::functionOnContactOne ( 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::functionOnContactZero ( const AbstractDomain &  domain  ) 

Return afunction on boundary FunctionSpace with reduced integration order.

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

Referenced by BOOST_PYTHON_MODULE().

double escript::getMachinePrecision (  ) 

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

int escript::getMPISizeWorld (  ) 

returns the total number of available MPI processes for MPI_COMM_WORLD

References MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE().

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::getNumberOfThreads (  ) 

returns the number of threads

References omp_get_max_threads().

Referenced by BOOST_PYTHON_MODULE().

ES_opgroup escript::@30::getOpgroup ( ES_optype  op  )  [inline, static]

int escript::getSvnVersion (  ) 

some functions

return the latest SVN version number

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::getTestDomainFunctionSpace ( int  dpps,
int  samples 
)

DataTypes::ShapeType escript::@30::GTPShape ( DataAbstract_ptr  left,
DataAbstract_ptr  right,
int  axis_offset,
int  transpose,
int &  SL,
int &  SM,
int &  SR 
) [static]

References ESCRIPT_MAX_DATA_RANK.

double escript::IEEE_Infy (  )  [inline]

float escript::IEEE_NaN (  )  [inline]

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

describe available paramters.

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

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]

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 MPI_COMM_WORLD.

Referenced by BOOST_PYTHON_MODULE().

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

const_Domain_ptr escript::@48::nullDomainValue ( new   NullDomain()  )  [static]

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 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 Data left,
const Data right 
)

Operator* Takes two Data objects.

References C_TensorBinaryOperation(), MAKELAZYBIN2, and MUL.

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

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 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 Data left,
const Data right 
)

Operator+ Takes two Data objects.

References ADD, C_TensorBinaryOperation(), 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 escript::Data::getFunctionSpace(), 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.

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

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

Operator- Takes two Data objects.

References C_TensorBinaryOperation(), 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 DIV, escript::Data::getFunctionSpace(), 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.

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

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

Operator/ Takes two Data objects.

References C_TensorBinaryOperation(), DIV, and MAKELAZYBIN2.

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

Output operator.

References escript::Data::toString().

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

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::reducedContinuousFunction ( const AbstractDomain &  domain  ) 

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

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

Referenced by BOOST_PYTHON_MODULE(), finley::MeshAdapter::interpolateOnDomain(), and finley::MeshAdapter::setToGradient().

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.

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

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::reducedFunctionOnContactOne ( const AbstractDomain &  domain  ) 

Return a FunctionSpace on left side of contact.

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.

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

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::reducedSolution ( const AbstractDomain &  domain  ) 

void escript::releaseUnusedMemory (  ) 

releases unused memory in the memory manager.

References arrayManager, and escript::Taipan::release_unused_arrays().

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::@30::resultFS ( DataAbstract_ptr  left,
DataAbstract_ptr  right,
ES_optype  op 
) [static]

DataTypes::ShapeType escript::@30::resultShape ( DataAbstract_ptr  left,
ES_optype  op,
int  axis_offset 
) [static]

DataTypes::ShapeType escript::@30::resultShape ( DataAbstract_ptr  left,
DataAbstract_ptr  right,
ES_optype  op 
) [static]

References G_BINARY, G_NP1OUT, and getOpgroup().

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

Binary Data object operators.

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

Referenced by BOOST_PYTHON_MODULE().

FunctionSpace escript::solution ( const AbstractDomain &  domain  ) 

Return a FunctionSpace with reduced integration order.

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

Referenced by BOOST_PYTHON_MODULE().

DataTypes::ShapeType escript::@30::SwapShape ( DataAbstract_ptr  left,
const int  axis0,
const int  axis1 
) [static]

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

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

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

template<typename BinaryFunction>
void escript::tensor_binary_operation ( const int  size,
const double *  arg1,
double  arg2,
double *  argRes,
BinaryFunction  operation 
) [inline]

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,
const double *  arg2,
double *  argRes,
BinaryFunction  operation 
) [inline]

Referenced by C_TensorBinaryOperation().

template<typename UnaryFunction>
void escript::tensor_unary_operation ( const int  size,
const double *  arg1,
double *  argRes,
UnaryFunction  operation 
) [inline]

template<class UnaryFunction>
void escript::unaryOp ( DataConstant &  data,
UnaryFunction  operation 
) [inline]

template<class UnaryFunction>
void escript::unaryOp ( DataTagged &  data,
UnaryFunction  operation 
) [inline]

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:
data Input/Output - The data.
operation Input - The operation to perform.

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

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

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

References escript::FunctionSpace::getDomain().

Referenced by BOOST_PYTHON_MODULE(), escript::FunctionSpace::getNormal(), escript::FunctionSpace::getX(), and finley::MeshAdapter::setToX().

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:
A00 Input - matrix component
A10 Input - matrix component
A01 Input - matrix component
A11 Input - matrix component
V0 Output - vector component
V1 Output - 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:
A00 Input - matrix component
A10 Input - matrix component
A20 Input - matrix component
A01 Input - matrix component
A11 Input - matrix component
A21 Input - matrix component
A02 Input - matrix component
A12 Input - matrix component
A22 Input - matrix component
V0 Output - vector component
V1 Output - vector component
V2 Output - vector component

References vectorInKernel2().

Referenced by eigenvalues_and_eigenvectors3().


Variable Documentation

const int escript::defaultList = {0,1} [static]

int escript::ES_opcount = 41 [static]

Referenced by opToString().

string escript::ES_opstrings[] [static]

Initial value:

{"UNKNOWN","IDENTITY","+","-","*","/","^",
            "sin","cos","tan",
            "asin","acos","atan","sinh","cosh","tanh","erf",
            "asinh","acosh","atanh",
            "log10","log","sign","abs","neg","pos","exp","sqrt",
            "1/","where>0","where<0","where>=0","where<=0", "where<>0","where=0",
            "symmetric","nonsymmetric",
            "prod",
            "transpose", "trace",
            "swapaxes"}

Referenced by opToString().

int escript::NullDomainFS = 1 [static]

ES_opgroup escript::opgroups[] [static]

Initial value:

{G_UNKNOWN,G_IDENTITY,G_BINARY,G_BINARY,G_BINARY,G_BINARY, G_BINARY,
            G_UNARY,G_UNARY,G_UNARY, 
            G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,    
            G_UNARY,G_UNARY,G_UNARY,                    
            G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY,    
            G_UNARY,G_UNARY,G_UNARY,G_UNARY,G_UNARY, G_UNARY_P, G_UNARY_P,      
            G_NP1OUT,G_NP1OUT,
            G_TENSORPROD,
            G_NP1OUT_P, G_NP1OUT_P,
            G_NP1OUT_2P}

int escript::referenceID = 10 [static]

const int escript::TestDomainFS = 1 [static]


Generated on Mon Aug 10 10:04:44 2009 for ESYS13 by  doxygen 1.5.6