escript
Revision_
|
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 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 |
enum escript::ES_optype |
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
double escript::algorithm | ( | const DataExpanded & | data, |
BinaryFunction | operation, | ||
double | initial_value | ||
) | [inline] |
Perform the given operation upon all values in all data-points in the given Data object and return the final result.
References escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataExpanded::getPointOffset(), escript::DataAbstract::getShape(), escript::DataExpanded::getVectorRO(), and escript::DataMaths::reductionOp().
double escript::algorithm | ( | DataTagged & | data, |
BinaryFunction | operation, | ||
double | initial_value | ||
) | [inline] |
double escript::algorithm | ( | DataConstant & | data, |
BinaryFunction | operation, | ||
double | initial_value | ||
) | [inline] |
void escript::binaryOp | ( | DataTagged & | left, |
const DataConstant & | right, | ||
BinaryFunction | operation | ||
) | [inline] |
Perform the given binary operation.
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().
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().
void escript::binaryOp | ( | DataTagged & | left, |
const DataTagged & | right, | ||
BinaryFunction | operation | ||
) | [inline] |
References escript::DataTagged::addTag(), escript::DataMaths::binaryOp(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDefaultOffset(), escript::DataTagged::getOffsetForTag(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataTagged::getTagLookup(), escript::DataTagged::getVectorRO(), escript::DataTagged::getVectorRW(), and escript::DataTagged::isCurrentTag().
void escript::binaryOp | ( | DataConstant & | left, |
const DataConstant & | right, | ||
BinaryFunction | operation | ||
) | [inline] |
void escript::binaryOp | ( | DataExpanded & | left, |
const DataReady & | right, | ||
BinaryFunction | operation | ||
) | [inline] |
References escript::DataMaths::binaryOp(), escript::DataAbstract::getNumDPPSample(), escript::DataAbstract::getNumSamples(), escript::DataAbstract::getPointOffset(), escript::DataExpanded::getPointOffset(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::DataReady::getVectorRO(), and escript::DataExpanded::getVectorRW().
binOpFnPtr escript::binOpFnPtrFromVoidPtr | ( | void * | v | ) |
Casts a void* to a function pointer taking 3 double* and 3 int
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 |
||
) |
Compute a tensor product of two Data objects.
arg_0 | - Input - Data object |
arg_1 | - Input - Data object |
axis_offset | - Input - axis offset |
transpose | - Input - 0: transpose neither, 1: transpose arg0, 2: transpose arg1 |
References escript::DataTagged::addTag(), AUTOLAZYON, escript::Data::borrowData(), escript::Data::borrowDataPtr(), ESCRIPT_MAX_DATA_RANK, escript::Data::getDataAtOffsetRO(), escript::Data::getDataAtOffsetRW(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDataByTagRW(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::DataConstant::getPointOffset(), escript::DataExpanded::getPointOffset(), escript::DataTagged::getPointOffset(), escript::DataTagged::getTagLookup(), escript::Data::interpolate(), escript::Data::isConstant(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), matrix_matrix_product(), escript::Data::probeInterpolation(), PROD, escript::Data::tag(), and escript::DataMaths::transpose().
Referenced by BOOST_PYTHON_MODULE(), and escript::DataLazy::collapseToReady().
Data escript::C_TensorBinaryOperation | ( | Data const & | arg_0, |
Data const & | arg_1, | ||
BinaryFunction | operation | ||
) | [inline] |
Compute a tensor operation with two Data objects.
arg_0 | - Input - Data object |
arg_1 | - Input - Data object |
operation | - Input - Binary op functor |
References escript::DataTagged::addTag(), escript::Data::borrowData(), escript::Data::getDataAtOffsetRO(), escript::Data::getDataAtOffsetRW(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDataByTagRW(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::FunctionSpace::getDomain(), escript::Data::getFunctionSpace(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::DataConstant::getPointOffset(), escript::DataExpanded::getPointOffset(), escript::DataTagged::getPointOffset(), escript::DataTagged::getTagLookup(), escript::FunctionSpace::getTypeCode(), escript::Data::interpolate(), escript::Data::isConstant(), escript::Data::isEmpty(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), escript::Data::requireWrite(), escript::Data::tag(), tensor_binary_operation(), and escript::FunctionSpace::toString().
Referenced by operator*(), operator+(), operator-(), and operator/().
Data escript::C_TensorUnaryOperation | ( | Data const & | arg_0, |
UnaryFunction | operation | ||
) |
References escript::DataTagged::addTag(), escript::Data::borrowData(), escript::Data::getDataAtOffsetRO(), escript::Data::getDataAtOffsetRW(), escript::DataTagged::getDataByTagRO(), escript::DataTagged::getDataByTagRW(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::Data::getNumDataPointsPerSample(), escript::Data::getNumSamples(), escript::DataExpanded::getPointOffset(), escript::DataTagged::getTagLookup(), escript::Data::isConstant(), escript::Data::isEmpty(), escript::Data::isExpanded(), escript::Data::isLazy(), escript::Data::isTagged(), escript::Data::tag(), and tensor_unary_operation().
Referenced by escript::Data::acosh(), escript::Data::asinh(), escript::Data::atanh(), escript::Data::erf(), escript::Data::neg(), escript::Data::oneOver(), escript::Data::sign(), escript::Data::whereNegative(), escript::Data::whereNonNegative(), escript::Data::whereNonPositive(), escript::Data::whereNonZero(), escript::Data::wherePositive(), and escript::Data::whereZero().
bool escript::canInterpolate | ( | FunctionSpace | src, |
FunctionSpace | dest | ||
) |
References escript::FunctionSpace::getDomain(), and escript::FunctionSpace::getTypeCode().
Referenced by BOOST_PYTHON_MODULE().
Data escript::condEval | ( | escript::Data & | mask, |
escript::Data & | trueval, | ||
escript::Data & | falseval | ||
) |
References escript::Data::actsExpanded(), escript::DataTagged::addTaggedValue(), AUTOLAZYON, escript::Data::borrowDataPtr(), escript::Data::copy(), escript::Data::expand(), escript::DataTagged::getDataByTagRO(), escript::Data::getDataPointRank(), escript::Data::getDataPointShape(), escript::Data::getDataPointSize(), escript::DataTagged::getDefaultValueRO(), escript::DataTagged::getDefaultValueRW(), escript::Data::getFunctionSpace(), escript::DataTagged::getOffsetForTag(), escript::Data::getReady(), escript::Data::getSampleDataRO(), escript::DataTagged::getTagLookup(), escript::DataTagged::getVectorRO(), escript::Data::isConstant(), escript::Data::isLazy(), escript::Data::isTagged(), escript::Data::resolve(), and escript::Data::tag().
Referenced by BOOST_PYTHON_MODULE().
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(), ripley::RipleyDomain::getX(), dudley::MeshAdapter::getX(), finley::MeshAdapter::getX(), ripley::RipleyDomain::interpolateOnDomain(), dudley::MeshAdapter::interpolateOnDomain(), finley::MeshAdapter::interpolateOnDomain(), dudley::MeshAdapter::setNewX(), finley::MeshAdapter::setNewX(), ripley::RipleyDomain::setToGradient(), dudley::MeshAdapter::setToGradient(), finley::MeshAdapter::setToGradient(), ripley::RipleyDomain::setToX(), dudley::MeshAdapter::setToX(), 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::diracDeltaFunctions | ( | const AbstractDomain & | domain | ) |
Return a FunctionSpace.
References CTS_CHECK, and escript::AbstractDomain::getPtr().
Referenced by BOOST_PYTHON_MODULE().
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().
void escript::dp_algorithm | ( | const DataTagged & | data, |
DataTagged & | result, | ||
BinaryFunction | operation, | ||
double | initial_value | ||
) | [inline] |
References escript::DataTagged::getDataByTagRW(), escript::DataTagged::getDefaultOffset(), escript::DataTagged::getOffsetForTag(), escript::DataAbstract::getShape(), escript::DataTagged::getTagLookup(), escript::DataTagged::getVectorRO(), escript::DataTagged::getVectorRW(), and escript::DataMaths::reductionOp().
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
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
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
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
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.
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(), 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.
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().
double escript::fsign | ( | double | x | ) | [inline] |
Referenced by escript::DataLazy::resolveNodeUnary(), and escript::Data::sign().
FunctionSpace escript::function | ( | const AbstractDomain & | domain | ) |
Return a function FunctionSpace.
References CTS_CHECK.
Referenced by BOOST_PYTHON_MODULE(), ripley::RipleyDomain::getSize(), dudley::MeshAdapter::getSize(), finley::MeshAdapter::getSize(), escript::Data::grad(), dudley::MeshAdapter::setToIntegrals(), ripley::RipleyDomain::setToIntegrals(), and finley::MeshAdapter::setToIntegrals().
FunctionSpace escript::functionOnBoundary | ( | const AbstractDomain & | domain | ) |
Return a function on boundary FunctionSpace.
References CTS_CHECK, and escript::AbstractDomain::getPtr().
Referenced by BOOST_PYTHON_MODULE(), ripley::RipleyDomain::getNormal(), dudley::MeshAdapter::getNormal(), and finley::MeshAdapter::getNormal().
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 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(), 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(), 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().
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.
Referenced by BOOST_PYTHON_MODULE().
FunctionSpace escript::getTestDomainFunctionSpace | ( | int | dpps, |
int | samples, | ||
int | dpsize | ||
) |
References escript::TestDomain::getDefaultCode().
Referenced by BOOST_PYTHON_MODULE().
double escript::IEEE_Infy | ( | ) | [inline] |
float escript::IEEE_NaN | ( | ) | [inline] |
boost::python::list escript::listEscriptParams | ( | ) | [inline] |
describe available paramters.
References escriptParams, and escript::EscriptParams::listEscriptParams().
Referenced by BOOST_PYTHON_MODULE().
Data escript::load | ( | const std::string | fileName, |
const AbstractDomain & | domain | ||
) |
reads Data on domain from file in netCDF format
References esysUtils::appendRankToFileName(), escript::Data::borrowData(), escript::FunctionSpace::borrowSampleReferenceIDs(), escript::Data::getDataAtOffsetRW(), escript::Data::getDataOffset(), escript::FunctionSpace::getNumDataPointsPerSample(), escript::FunctionSpace::getNumSamples(), escript::AbstractDomain::getPtr(), escript::AbstractDomain::isValidFunctionSpaceType(), escript::DataTypes::maxRank, MPI_COMM_WORLD, and escript::DataAbstract::reorderByReferenceIDs().
Referenced by BOOST_PYTHON_MODULE().
bool escript::loadConfigured | ( | ) |
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.
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] |
Referenced by C_GeneralTensorProduct(), and escript::DataLazy::resolveNodeTProd().
void escript::MPIBarrierWorld | ( | ) |
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.
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.
V0 | - vector componenent |
V1 | - vector componenent |
V2 | - vector componenent |
Referenced by eigenvalues_and_eigenvectors3().
Data escript::operator* | ( | const AbstractSystemMatrix & | left, |
const Data & | right | ||
) |
References escript::AbstractSystemMatrix::vectorMultiply().
Operator* Takes two Data objects.
References C_TensorBinaryOperation(), MAKELAZYBIN2, and MUL.
Data escript::operator* | ( | const Data & | left, |
const boost::python::object & | right | ||
) |
Data escript::operator* | ( | const boost::python::object & | 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 | ||
) |
Data escript::operator+ | ( | const boost::python::object & | 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 | ||
) |
Data escript::operator- | ( | const boost::python::object & | 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 | ||
) |
Data escript::operator/ | ( | const boost::python::object & | left, |
const Data & | right | ||
) |
ostream & escript::operator<< | ( | std::ostream & | o, |
const Data & | data | ||
) |
Output operator.
References escript::Data::toString().
const std::string & escript::opToString | ( | ES_optype | op | ) |
References UNKNOWNOP.
Referenced by escript::DataLazy::collapseToReady(), escript::DataLazy::deepCopy(), escript::DataLazy::intoString(), escript::DataLazy::intoTreeString(), escript::DataLazy::resolveNodeBinary(), escript::DataLazy::resolveNodeNP1OUT(), escript::DataLazy::resolveNodeNP1OUT_2P(), escript::DataLazy::resolveNodeNP1OUT_P(), escript::DataLazy::resolveNodeReduction(), escript::DataLazy::resolveNodeSample(), escript::DataLazy::resolveNodeTProd(), and escript::DataLazy::resolveNodeUnary().
void escript::printParallelThreadCnt | ( | ) |
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 | ) |
Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order)
References CTS_CHECK, and escript::AbstractDomain::getPtr().
Referenced by BOOST_PYTHON_MODULE(), ripley::RipleyDomain::interpolateOnDomain(), dudley::MeshAdapter::interpolateOnDomain(), finley::MeshAdapter::interpolateOnDomain(), ripley::RipleyDomain::setToGradient(), dudley::MeshAdapter::setToGradient(), 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 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 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.
obj | A 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 | ||
) |
References escript::Data::actsExpanded(), getDataPointRank(), escript::Data::getDataPointRank(), getDataPointShape(), escript::Data::getSampleDataRO(), MPI_INT, escript::DataTypes::noValues(), escript::FunctionSpace::ownSample(), and escript::DataTypes::pointToStream().
Referenced by BOOST_PYTHON_MODULE().
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.
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.
References CTS_CHECK, and escript::AbstractDomain::getPtr().
Referenced by BOOST_PYTHON_MODULE().
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 | ||
) |
References escript::FunctionSpace::getDomain(), and Tensor3().
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(), and Tensor4FromObj().
Data escript::Tensor4FromObj | ( | boost::python::object | o, |
const FunctionSpace & | what, | ||
bool | expanded | ||
) |
References escript::FunctionSpace::getDomain(), and Tensor4().
Referenced by BOOST_PYTHON_MODULE().
void escript::tensor_binary_operation | ( | const int | size, |
const double * | arg1, | ||
const double * | arg2, | ||
double * | argRes, | ||
BinaryFunction | operation | ||
) | [inline] |
Referenced by C_TensorBinaryOperation().
void escript::tensor_binary_operation | ( | const int | size, |
double | arg1, | ||
const double * | arg2, | ||
double * | argRes, | ||
BinaryFunction | operation | ||
) | [inline] |
void escript::tensor_binary_operation | ( | const int | size, |
const double * | arg1, | ||
double | arg2, | ||
double * | argRes, | ||
BinaryFunction | operation | ||
) | [inline] |
void escript::tensor_unary_operation | ( | const int | size, |
const double * | arg1, | ||
double * | argRes, | ||
UnaryFunction | operation | ||
) | [inline] |
Referenced by C_TensorUnaryOperation(), and escript::DataLazy::resolveNodeUnary().
Data escript::TensorFromObj | ( | boost::python::object | o, |
const FunctionSpace & | what, | ||
bool | expanded | ||
) |
References escript::FunctionSpace::getDomain(), and Tensor().
Referenced by BOOST_PYTHON_MODULE().
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.
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 escript::DataMaths::unaryOp().
void escript::unaryOp | ( | DataTagged & | data, |
UnaryFunction | operation | ||
) | [inline] |
void escript::unaryOp | ( | DataConstant & | data, |
UnaryFunction | operation | ||
) | [inline] |
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(), ripley::RipleyDomain::setToX(), dudley::MeshAdapter::setToX(), finley::MeshAdapter::setToX(), and VectorFromObj().
Data escript::VectorFromObj | ( | boost::python::object | o, |
const FunctionSpace & | what, | ||
bool | expanded | ||
) |
References escript::FunctionSpace::getDomain(), and Vector().
Referenced by BOOST_PYTHON_MODULE().
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.
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.
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().
void * escript::voidPtrFromBinOpFnPtr | ( | binOpFnPtr | f | ) |
Why do we have this? Only to act as an inverse to the above function