Go to the documentation of this file.
17 #ifndef __ESCRIPT_ASSERT_H__
18 #define __ESCRIPT_ASSERT_H__
37 #include <escript/EsysException.h>
45 #define ESYS_ASSERT(assert_test, assert_msg)\
47 const bool result = (assert_test);\
49 std::ostringstream message;\
50 message << assert_msg << "\n\n"\
51 << __FILE__ << ":" << __LINE__ << ": " << #assert_test << "\n";\
52 std::cerr << message.str();\
53 MPI_Abort(MPI_COMM_WORLD, 455347);\
59 #define ESYS_ASSERT(assert_test, assert_msg)\
61 const bool result = (assert_test);\
63 std::ostringstream message;\
64 message << assert_msg << "\n\n"\
65 << __FILE__ << ":" << __LINE__ << ": " << #assert_test << "\n";\
66 throw escript::AssertException(message.str());\
78 #define ESYS_ASSERT(a,b)
82 #endif // __ESCRIPT_ASSERT_H__
#define FINLEY_POINTS
Definition: Finley.h:63
bool isComplex() const
True if components of this data are stored as complex.
Definition: Data.cpp:1163
static const double QuadWeight[4][2]
Definition: ShapeTable.h:82
void Assemble_jacobians_3D_M2D_E2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:676
void smallMatSetMult1(int len, int A1, int A2, Scalar *A, int B2, const Scalar *B, const double *C)
Definition: dudley/src/Util.cpp:110
Definition: dudley/src/ElementFile.h:38
void Assemble_NodeCoordinates(const NodeFile *nodes, escript::Data &x)
copies node coordinates into expanded Data object x
Definition: finley/src/Assemble_NodeCoordinates.cpp:46
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:73
void Assemble_jacobians_3D_M2D_E2D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:253
void addScatter(int len, const index_t *index, int numData, const Scalar *in, Scalar *out, index_t upperBound)
Definition: finley/src/Util.cpp:77
void Assemble_LumpedSystem(const NodeFile *nodes, const ElementFile *elements, escript::Data &lumpedMat, const escript::Data &D, bool useHRZ)
Definition: dudley/src/Assemble_LumpedSystem.cpp:36
void Assemble_PDE_Points(const AssembleParameters &p, const escript::Data &d_dirac, const escript::Data &y_dirac)
Definition: finley/src/Assemble_PDE_Points.cpp:68
Definition: DudleyException.h:35
#define FINLEY_REDUCED_FACE_ELEMENTS
Definition: Finley.h:69
void requireWrite()
Ensures data is ready for write access. This means that the data will be resolved if lazy and will be...
Definition: Data.cpp:1242
void Assemble_getNormal(const NodeFile *nodes, const ElementFile *elements, escript::Data &normals)
calculates the normal vector at quadrature points on face elements
Definition: dudley/src/Assemble_getNormal.cpp:36
#define INDEX4(_X1_, _X2_, _X3_, _X4_, _N1_, _N2_, _N3_)
Definition: index.h:25
this class holds a (distributed) stiffness matrix
Definition: SystemMatrix.h:58
#define DUDLEY_DEGREES_OF_FREEDOM
Definition: Dudley.h:51
void Assemble_integrate(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, Scalar *integrals)
integrates data on quadrature points
Definition: finley/src/Assemble_integrate.cpp:45
Definition: dudley/src/NodeFile.h:37
escript::Distribution_ptr col_distribution
Definition: SystemMatrix.h:331
#define MATRIX_FORMAT_CSC
Definition: Paso.h:61
#define FINLEY_REDUCED_ELEMENTS
Definition: Finley.h:68
void Assemble_CopyElementData(const ElementFile *elements, escript::Data &out, const escript::Data &in)
copies data between different types of elements
Definition: dudley/src/Assemble_CopyElementData.cpp:37
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1
Definition: Finley.h:70
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:21
void Assemble_addToSystemMatrix< cplx_t >(escript::AbstractSystemMatrix *S, const std::vector< index_t > &Nodes, int numEq, const std::vector< cplx_t > &array)
Definition: dudley/src/Assemble_addToSystemMatrix.cpp:88
const index_t * borrowTargetDegreesOfFreedom() const
returns the mapping from local degrees of freedom to a target
Definition: dudley/src/NodeFile.h:232
void setNumSamplesError(const char *c, int n0, int n1)
Definition: finley/src/Assemble_PDE.cpp:94
const DataTypes::real_t * getSampleDataRO(DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0) const
Return the sample data for the given sample no. Please do not use this unless you NEED to access samp...
Definition: Data.h:1975
void Assemble_AverageElementData(const ElementFile *elements, escript::Data &out, const escript::Data &in)
averages data
Definition: finley/src/Assemble_AverageElementData.cpp:45
void Assemble_interpolate(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, escript::Data &output)
interpolates nodal data in a data array onto elements (=integration points)
Definition: dudley/src/Assemble_interpolate.cpp:37
const DataTypes::ShapeType & getDataPointShape() const
Return a reference to the data point shape.
Definition: Data.h:691
An exception class for features which are not (yet) implemented.
Definition: EsysException.h:89
static const double DTDV_3D[4][3]
Definition: ShapeTable.h:53
#define FINLEY_NODES
Definition: Finley.h:60
void smallMatMult(int A1, int A2, double *A, int B2, const std::vector< double > &B, const std::vector< double > &C)
multiplies two matrices: A(1:A1,1:A2) := B(1:A1,1:B2)*C(1:B2,1:A2)
Definition: finley/src/Util.cpp:96
ElementType * data()
Definition: DataVectorAlt.h:222
void Assemble_AverageElementData(const ElementFile *elements, escript::Data &out, const escript::Data &in)
averages data
Definition: dudley/src/Assemble_AverageElementData.cpp:40
void Assemble_jacobians_2D_M1D_E1D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:150
int numQuad
number of quadrature nodes used to calculate jacobians
Definition: dudley/src/ElementFile.h:60
void Assemble_jacobians_1D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:60
void setShapeError(const char *c, int num, const int *dims)
Definition: finley/src/Assemble_PDE.cpp:103
boost::shared_ptr< const ReferenceElement > const_ReferenceElement_ptr
Definition: ReferenceElements.h:211
#define DUDLEY_NODES
Definition: Dudley.h:52
void Assemble_PDE_Single_3D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: dudley/src/Assemble_PDE_Single_3D.cpp:72
void Assemble_PDE_System_2D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: finley/src/Assemble_PDE_System_2D.cpp:78
#define INDEX5(_X1_, _X2_, _X3_, _X4_, _X5_, _N1_, _N2_, _N3_, _N4_)
Definition: index.h:27
void Assemble_NodeCoordinates(const NodeFile *nodes, escript::Data &x)
copies node coordinates into expanded Data object x
Definition: dudley/src/Assemble_NodeCoordinates.cpp:37
int getDataPointSize() const
Return the size of the data point. It is the product of the data point shape dimensions.
Definition: Data.cpp:1363
double * absD
used to compute volume
Definition: dudley/src/ElementFile.h:66
void Assemble_addToSystemMatrix< real_t >(escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const real_t *array)
Definition: finley/src/Assemble_addToSystemMatrix.cpp:59
void Assemble_jacobians_3D_M2D_E2D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:743
void Assemble_addToSystemMatrix(escript::AbstractSystemMatrix *S, const std::vector< index_t > &Nodes, int numEq, const std::vector< Scalar > &array)
void Assemble_interpolate(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, escript::Data &output)
interpolates nodal data in a data array onto elements (=integration points)
Definition: finley/src/Assemble_interpolate.cpp:47
static const int QuadNums[4][2]
Definition: ShapeTable.h:85
const FunctionSpace & getFunctionSpace() const
Return the function space.
Definition: Data.h:461
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Finley.h:66
dim_t getNumReducedDegreesOfFreedom() const
returns the number of reduced order degrees of freedom (on this rank)
Definition: finley/src/NodeFile.h:269
#define MATRIX_FORMAT_OFFSET1
Definition: Paso.h:63
static const double DTDV_2D[3 *3][2]
Definition: ShapeTable.h:47
void Assemble_PDE_Single_2D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: finley/src/Assemble_PDE_Single_2D.cpp:72
void Assemble_jacobians_3D_M2D_E3D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:543
void copy(dim_t N, double *out, const double *in)
out = in
Definition: PasoUtil.h:110
void Assemble_PDE_System_3D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: dudley/src/Assemble_PDE_System_3D.cpp:78
dim_t numElements
number of elements
Definition: finley/src/ElementFile.h:132
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:31
void Assemble_jacobians_3D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:386
bool getQuadShape(dim_t dim, bool reduced, const double **shapearr)
Definition: ShapeTable.cpp:38
void Assemble_getSize(const NodeFile *nodes, const ElementFile *elements, escript::Data &size)
Definition: dudley/src/Assemble_getSize.cpp:35
Data represents a collection of datapoints.
Definition: Data.h:62
static const double DTDV_1D[2][2]
Definition: ShapeTable.h:44
void Assemble_jacobians_2D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:54
void Assemble_CopyElementData(const ElementFile *elements, escript::Data &out, const escript::Data &in)
copies data between different types of elements
Definition: finley/src/Assemble_CopyElementData.cpp:43
#define INDEX3(_X1_, _X2_, _X3_, _N1_, _N2_)
Definition: index.h:23
index_t dim_t
Definition: DataTypes.h:87
void normalVector(int len, int dim, int dim1, const double *A, double *Normal)
Definition: finley/src/Util.cpp:209
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:65
void Assemble_jacobians_3D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *abs_D, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:178
SystemMatrixType type
Definition: SystemMatrix.h:320
#define FINLEY_FACE_ELEMENTS
Definition: Finley.h:62
Base class for escript system matrices.
Definition: AbstractSystemMatrix.h:53
Definition: dudley/src/ElementFile.h:62
bool hasReducedIntegrationOrder(const escript::Data &in)
Definition: Dudley.h:71
DataTypes::real_t * getSampleDataRW(DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0)
Return the sample data for the given sample no. Please do not use this unless you NEED to access samp...
Definition: Data.h:1940
SparseMatrix_ptr mainBlock
main block
Definition: SystemMatrix.h:338
boost::shared_ptr< Coupler< T > > Coupler_ptr
Definition: Coupler.h:53
void Assemble_jacobians_3D_M2D_E3D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:462
#define FINLEY_DEGREES_OF_FREEDOM
Definition: Finley.h:59
bool hasReducedIntegrationOrder(const escript::Data &in)
returns true if the data object is defined on reduced element types
Definition: finley/src/Util.h:59
void Assemble_PDE_System_2D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: dudley/src/Assemble_PDE_System_2D.cpp:78
void Assemble_addToSystemMatrix(escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const Scalar *array)
#define FINLEY_ELEMENTS
Definition: Finley.h:61
SparseMatrix_ptr row_coupleBlock
coupling to neighbouring processors (col - row)
Definition: SystemMatrix.h:342
bool isDataPointShapeEqual(int rank, const int *dimensions) const
Returns true if the shape matches the vector (dimensions[0],..., dimensions[rank-1])....
Definition: Data.h:553
void gather(int len, const index_t *index, int numData, const double *in, double *out)
Definition: finley/src/Util.cpp:66
#define DUDLEY_REDUCED_ELEMENTS
Definition: Dudley.h:56
bool isEmpty() const
Definition: Data.cpp:1135
int getNumDataPoints() const
Return the number of data points.
Definition: Data.h:509
void Assemble_CopyNodalData(const NodeFile *nodes, escript::Data &out, const escript::Data &in)
copies data between different types of nodal representations
Definition: dudley/src/Assemble_CopyNodalData.cpp:37
void Assemble_addToSystemMatrix< cplx_t >(escript::ASM_ptr S, int NN_Equa, const index_t *Nodes_Equa, int num_Equa, int NN_Sol, const index_t *Nodes_Sol, int num_Sol, const cplx_t *array)
Definition: finley/src/Assemble_addToSystemMatrix.cpp:95
dim_t col_block_size
Definition: SystemMatrix.h:327
bool numSamplesEqual(int numDataPointsPerSample, int numSamples) const
Returns true if the number of data points per sample and the number of samples match the respective a...
Definition: Data.h:541
#define DUDLEY_ELEMENTS
Definition: Dudley.h:53
void Assemble_jacobians_2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:97
template void Assemble_integrate< cplx_t >(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, std::vector< cplx_t > &out)
void Assemble_jacobians_2D_M1D_E1D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:132
void Assemble_getSize(const NodeFile *nodes, const ElementFile *elements, escript::Data &size)
Definition: finley/src/Assemble_getSize.cpp:46
void Assemble_PDE_System_C(const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
Definition: Assemble_PDE_System_C.cpp:66
void Assemble_integrate(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, std::vector< Scalar > &integrals)
integrates data on quadrature points
Definition: dudley/src/Assemble_integrate.cpp:39
void Assemble_addToSystemMatrix< real_t >(escript::AbstractSystemMatrix *S, const std::vector< index_t > &Nodes, int numEq, const std::vector< real_t > &array)
Definition: dudley/src/Assemble_addToSystemMatrix.cpp:59
dim_t row_block_size
Definition: SystemMatrix.h:326
#define DUDLEY_REDUCED_FACE_ELEMENTS
Definition: Dudley.h:57
AssembleParameters(const NodeFile *nodes, const ElementFile *ef, escript::ASM_ptr sm, escript::Data &rhs, bool reducedOrder)
Definition: dudley/src/Assemble_getAssembleParameters.cpp:32
SystemMatrixPattern_ptr pattern
Definition: SystemMatrix.h:321
void normalVector(int len, int dim, int dim1, const double *A, double *Normal)
Definition: dudley/src/Util.cpp:132
void Assemble_PDE_Points(const AssembleParameters &p, const escript::Data &d_dirac, const escript::Data &y_dirac)
Definition: dudley/src/Assemble_PDE_Points.cpp:71
void Assemble_gradient(const NodeFile *nodes, const ElementFile *elements, escript::Data &gradient, const escript::Data &data)
Definition: finley/src/Assemble_gradient.cpp:47
void Assemble_LumpedSystem(const NodeFile *nodes, const ElementFile *elements, escript::Data &lumpedMat, const escript::Data &D, bool useHRZ)
Definition: finley/src/Assemble_LumpedSystem.cpp:52
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:82
dim_t logical_row_block_size
Definition: SystemMatrix.h:323
Definition: finley/src/NodeFile.h:39
void smallMatMult(int A1, int A2, double *A, int B2, const double *B, const double *C)
multiplies two matrices: A(1:A1,1:A2) := B(1:A1,1:B2)*C(1:B2,1:A2)
Definition: dudley/src/Util.cpp:96
ElementFile_Jacobians * borrowJacobians(const NodeFile *, bool, bool) const
Definition: finley/src/ElementFile_jacobians.cpp:51
void Assemble_PDE_System_3D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: finley/src/Assemble_PDE_System_3D.cpp:78
void Assemble_jacobians_2D_M1D_E2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:256
void Assemble_PDE(const NodeFile *nodes, const ElementFile *elements, escript::ASM_ptr S, escript::Data &F, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: finley/src/Assemble_PDE.cpp:122
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2
Definition: Finley.h:71
AssembleParameters(const NodeFile *nodes, const ElementFile *ef, escript::ASM_ptr sm, escript::Data &rhs, bool reducedOrder)
Definition: finley/src/Assemble_getAssembleParameters.cpp:31
int getTypeCode() const
Returns the function space type code.
Definition: FunctionSpace.cpp:93
double quadweight
used to compute volume
Definition: dudley/src/ElementFile.h:68
bool isLazy() const
Return true if this Data is lazy.
Definition: Data.cpp:1149
template void Assemble_integrate< real_t >(const NodeFile *nodes, const ElementFile *elements, const escript::Data &data, std::vector< real_t > &out)
Definition: finley/src/ElementFile.h:72
void Assemble_jacobians_2D_M1D_E1D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:196
void Assemble_gradient(const NodeFile *nodes, const ElementFile *elements, escript::Data &gradient, const escript::Data &data)
Definition: dudley/src/Assemble_gradient.cpp:39
#define FINLEY_REDUCED_NODES
Definition: Finley.h:67
void Assemble_getNormal(const NodeFile *nodes, const ElementFile *elements, escript::Data &normals)
calculates the normal vector at quadrature points on face elements
Definition: finley/src/Assemble_getNormal.cpp:46
const index_t * borrowTargetDegreesOfFreedom() const
Definition: finley/src/NodeFile.h:314
dim_t getNumDegreesOfFreedom() const
returns the number of degrees of freedom (on this rank)
Definition: finley/src/NodeFile.h:264
boost::shared_ptr< const ShapeFunction > const_ShapeFunction_ptr
Definition: ShapeFunctions.h:98
bool actsExpanded() const
Return true if this Data is expanded or resolves to expanded. That is, if it has a separate value for...
Definition: Data.cpp:1121
void Assemble_PDE_Single_C(const AssembleParameters &p, const escript::Data &D, const escript::Data &Y)
Definition: Assemble_PDE_Single_C.cpp:64
void Assemble_PDE(const NodeFile *nodes, const ElementFile *elements, escript::ASM_ptr S, escript::Data &F, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: dudley/src/Assemble_PDE.cpp:120
const index_t * borrowTargetReducedDegreesOfFreedom() const
Definition: finley/src/NodeFile.h:319
void gather(int len, const index_t *index, int numData, const double *in, double *out)
Definition: dudley/src/Util.cpp:66
#define DUDLEY_POINTS
Definition: Dudley.h:55
#define S(_J_, _I_)
Definition: ShapeFunctions.cpp:134
void Assemble_jacobians_2D_M1D_E2D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:310
DataTypes::RealVectorType & getExpandedVectorReference(DataTypes::real_t dummy=0)
Ensures that the Data is expanded and returns its underlying vector Does not check for exclusive writ...
Definition: Data.cpp:5844
boost::shared_ptr< AbstractSystemMatrix > ASM_ptr
Definition: AbstractSystemMatrix.h:43
dim_t block_size
Definition: SystemMatrix.h:328
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:76
void Assemble_CopyNodalData(const NodeFile *nodes, escript::Data &out, const escript::Data &in)
copies data between different types of nodal representations
Definition: finley/src/Assemble_CopyNodalData.cpp:37
Data Scalar(double value, const FunctionSpace &what, bool expanded)
A collection of factory functions for creating Data objects which contain data points of various shap...
Definition: DataFactory.cpp:60
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
dim_t getNumDegreesOfFreedom() const
returns the number of degrees of freedom (on this rank)
Definition: dudley/src/NodeFile.h:207
void setNumSamplesError(const char *c, int n0, int n1)
Definition: dudley/src/Assemble_PDE.cpp:92
An exception class that signals an invalid argument value.
Definition: EsysException.h:99
#define DUDLEY_FACE_ELEMENTS
Definition: Dudley.h:54
void Assemble_PDE_System_1D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: Assemble_PDE_System_1D.cpp:78
void Assemble_PDE_Single_2D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: dudley/src/Assemble_PDE_Single_2D.cpp:72
#define FINLEY_CONTACT_ELEMENTS_2
Definition: Finley.h:65
void addScatter(int len, const index_t *index, int numData, const Scalar *in, Scalar *out, index_t upperBound)
Definition: dudley/src/Util.cpp:77
void Assemble_PDE_Single_3D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: finley/src/Assemble_PDE_Single_3D.cpp:72
#define FINLEY_CONTACT_ELEMENTS_1
Definition: Finley.h:64
escript::Distribution_ptr row_distribution
Definition: SystemMatrix.h:330
std::vector< index_t > IndexVector
Definition: DataTypes.h:85
void setShapeError(const char *c, int num, const int *dims)
Definition: dudley/src/Assemble_PDE.cpp:101
#define INDEX6(_X1_, _X2_, _X3_, _X4_, _X5_, _X6_, _N1_, _N2_, _N3_, _N4_, _N5_)
Definition: index.h:29
int numNodes
number of nodes per element
Definition: finley/src/ElementFile.h:148
void Assemble_PDE_Single_1D(const AssembleParameters &p, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y)
Definition: Assemble_PDE_Single_1D.cpp:72
SparseMatrix_ptr col_coupleBlock
coupling to neighbouring processors (row - col)
Definition: SystemMatrix.h:340