Go to the documentation of this file.
18 #ifndef __WEIPA_ESCRIPTDATASET_H__
19 #define __WEIPA_ESCRIPTDATASET_H__
21 #include <weipa/weipa.h>
89 const std::string units =
"");
101 bool loadNetCDF(
const std::string domainFilePattern,
111 void setCycleAndTime(
int c,
double t) { cycle=c; time=t; }
114 int getCycle()
const {
return cycle; }
117 double getTime()
const {
return time; }
121 void setMeshLabels(
const std::string x,
const std::string y,
const std::string z=
"");
125 void setMeshUnits(
const std::string x,
const std::string y,
const std::string z=
"");
129 void setMetadataSchemaString(
const std::string schema,
130 const std::string metadata)
131 { mdSchema=schema; mdString=metadata; }
134 void setSaveMeshData(
bool flag) { wantsMeshVars=flag; }
137 bool saveSilo(
const std::string fileName,
bool useMultiMesh=
true);
140 void saveVTK(
const std::string fileName);
143 DomainChunks getConvertedDomain() {
return domainChunks; }
146 const VarVector& getVariables()
const {
return variables; }
149 const VarVector& getMeshVariables()
const {
return meshVariables; }
156 getMPIComm() {
return mpiComm; }
159 bool loadDomain(
const std::string filePattern,
int nChunks);
161 bool loadData(
const std::string filePattern,
const std::string name,
162 const std::string units);
164 void convertMeshVariables();
165 void updateSampleDistribution(
VarInfo& vi);
166 void putSiloMultiMesh(DBfile* dbfile,
const std::string& meshName);
167 void putSiloMultiTensor(DBfile* dbfile,
const VarInfo& vi);
168 void putSiloMultiVar(DBfile* dbfile,
const VarInfo& vi,
169 bool useMeshFile =
false);
170 void saveVTKsingle(
const std::string& fileName,
171 const std::string& meshName,
const VarVector& vars);
172 void writeVarToVTK(
const VarInfo& varInfo, std::ostream& os);
176 std::string mdSchema, mdString;
178 bool externalDomain, wantsMeshVars;
181 int mpiRank, mpiSize;
191 #endif // __WEIPA_ESCRIPTDATASET_H__
Data ComplexVector(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:144
IntVec sampleDistribution
Definition: EscriptDataset.h:41
Data interpolateFromTable3DP(boost::python::object table, DataTypes::real_t Amin, DataTypes::real_t Astep, Data &B, DataTypes::real_t Bmin, DataTypes::real_t Bstep, Data &C, DataTypes::real_t Cmin, DataTypes::real_t Cstep, DataTypes::real_t undef, bool check_boundaries)
Definition: Data.cpp:4741
void setAcceptanceConvergenceFailure(bool acceptance)
Definition: SolverOptions.cpp:754
Definition: SolverOptions.h:158
DataTypes::dim_t getReferenceIDFromDataPointNo(DataTypes::dim_t dataPointNo) const
Returns the reference number associated with the given data-point number.
Definition: FunctionSpace.cpp:178
double getDropTolerance() const
Definition: SolverOptions.cpp:608
bool isReady() const
Return true if this data is ready.
Definition: Data.cpp:1157
BOOST_PYTHON_MODULE(escriptcpp)
Definition: escriptcpp.cpp:117
Definition: SolverOptions.h:164
virtual void saveMM(const std::string &filename) const
writes the matrix to a file using the Matrix Market file format
Definition: AbstractSystemMatrix.cpp:132
std::string mdSchema
Definition: EscriptDataset.h:175
bool isComplex() const
True if components of this data are stored as complex.
Definition: Data.cpp:1164
void MPIBarrierWorld()
performs a barrier synchronization across all processors.
Definition: Utils.cpp:377
escript::Data getSize() const
Returns the sample size (e.g. the diameter of elements, radius of particles).
Definition: FunctionSpace.cpp:294
Data erf() const
Return the error function erf of each data point of this Data object.
Definition: Data.cpp:2115
Domain_ptr getDomainPython() const
Return the function space domain. Internal use only! This gets around some python difficulties by cas...
Definition: FunctionSpace.cpp:108
int getSvnVersion()
some functions
Definition: Utils.cpp:43
Data sign() const
Return the sign of each data point of this Data object. -1 for negative values, zero for zero values,...
Definition: Data.cpp:2161
void saveDataCSV(const std::string &filename, bp::dict arg, const std::string &sep, const std::string &csep, bool refid, bool append)
Definition: Utils.cpp:388
Reducer_ptr makeDataReducer(std::string type)
Definition: MPIDataReducer.cpp:46
virtual int getTransportTypeId(int solver, int preconditioner, int package, bool symmetry) const
return the identifier of the matrix type to be used for the global stiffness matrix when a particular...
Definition: AbstractContinuousDomain.cpp:142
void setInnerToleranceAdaptionOff()
Definition: SolverOptions.cpp:726
std::string mdString
Definition: EscriptDataset.h:175
void getNumpy(bp::dict arg)
Definition: Utils.cpp:920
void setDropStorage(double drop)
Definition: SolverOptions.cpp:613
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SplitWorld.cpp:29
Data atanh() const
Return the atanh of each data point of this Data object.
Definition: Data.cpp:2140
Reducer_ptr makeScalarReducer(std::string type)
Definition: MPIScalarReducer.cpp:31
double getMaxFloat()
Definition: Utils.cpp:372
Data atan() const
Return the atan of each data point of this Data object.
Definition: Data.cpp:2086
#define REGISTER_ESCRIPT_EXCEPTION_TRANSLATORS
Definition: ExceptionTranslators.h:25
Definition: SolverOptions.h:130
Data rtruedivO(const boost::python::object &left)
Newer style division operator for python.
Definition: Data.h:2204
FunctionSpace reducedFunctionOnBoundary(const AbstractDomain &domain)
Return a function on boundary FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:73
Data antihermitian() const
Return the anti-hermitian part of a matrix which is half the matrix minus its hermitian.
Definition: Data.cpp:2812
FunctionSpace reducedContinuousFunction(const AbstractDomain &domain)
Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order...
Definition: FunctionSpaceFactory.cpp:49
void setToZero()
set all values to zero
Definition: Data.cpp:819
Data cos() const
Return the cos of each data point of this Data object.
Definition: Data.cpp:2057
void saveVTKsingle(const std::string &fileName, const std::string &meshName, const VarVector &vars)
Definition: EscriptDataset.cpp:582
DataTypes::real_t Lsup()
Return the maximum absolute value of this Data object.
Definition: Data.cpp:2219
Data grad() const
Definition: Data.cpp:1354
bool hasConverged() const
Definition: SolverOptions.cpp:325
double getDiagnostics(const std::string name) const
Definition: SolverOptions.cpp:305
bool useLocalPreconditioner() const
Definition: SolverOptions.cpp:762
Definition: SolverOptions.h:129
virtual int getTag(const std::string &name) const =0
Return the tag key for tag name.
Represents a full Speckley domain including nodes and elements.
Definition: weipa/src/SpeckleyDomain.h:48
Definition: SolverOptions.h:131
bool loadDomain(const std::string filePattern, int nChunks)
Definition: EscriptDataset.cpp:837
Data Tensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:376
void removeVariable(std::string name)
Definition: SplitWorld.cpp:299
void setValueOfDataPoint(int dataPointNo, const DataTypes::real_t)
sets the values of a data-point on this process
Definition: Data.cpp:1659
int getDim()
Definition: SolverOptions.cpp:836
bool isEmpty() const
returns true if the matrix is empty
Definition: AbstractSystemMatrix.h:98
boost::python::object getVarPyInfo()
Definition: SplitWorld.cpp:331
void setTruncation(int truncation)
Definition: SolverOptions.cpp:517
Definition: SolverOptions.h:133
virtual ASM_ptr newSystemMatrix(const int row_blocksize, const escript::FunctionSpace &row_functionspace, const int column_blocksize, const escript::FunctionSpace &column_functionspace, const int type) const
creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
Definition: AbstractContinuousDomain.cpp:178
void setVerbosityOff()
Definition: SolverOptions.cpp:703
double getTolerance() const
Definition: SolverOptions.cpp:572
Data whereNonNegative() const
Return a Data with a 1 for +ive or 0 values and a 0 for -ive values.
Definition: Data.cpp:1279
Definition: SolverOptions.h:128
bool loadConfigured()
returns true if the load funtion is configured.
Definition: DataFactory.cpp:931
virtual void saveHB(const std::string &filename) const
writes the matrix to a file using the Harwell-Boeing file format
Definition: AbstractSystemMatrix.cpp:137
Data tan() const
Return the tan of each data point of this Data object.
Definition: Data.cpp:2064
Definition: SolverOptions.h:125
std::string getSummary() const
Definition: SolverOptions.cpp:74
void tag()
If possible convert this Data to DataTagged. This will only allow Constant data to be converted to ta...
Definition: Data.cpp:1208
boost::python::object integrateToTuple()
Calculate the integral over the function space domain as a python tuple.
Definition: Data.cpp:1788
double getAbsoluteTolerance() const
Definition: SolverOptions.cpp:584
int getSubWorldCount()
Definition: SplitWorld.cpp:427
Definition: SolverOptions.h:152
void setAcceptanceConvergenceFailureOn()
Definition: SolverOptions.cpp:744
virtual bool isValidTagName(const std::string &name) const
Returns True if name is a defined tag name.
Definition: AbstractDomain.cpp:66
int getTruncation() const
Definition: SolverOptions.cpp:524
Data sinh() const
Return the sinh of each data point of this Data object.
Definition: Data.cpp:2093
Data abs() const
Return the absolute value of each data point of this Data object.
Definition: Data.cpp:2169
WeipaException exception class.
Definition: WeipaException.h:40
virtual DataTypes::dim_t getNumDataPointsGlobal() const
Return the number of data points summed across all MPI processes.
Definition: AbstractContinuousDomain.cpp:198
void setTaggedValueByName(std::string name, const boost::python::object &value)
Assign the given value to the tag assocciated with name. Implicitly converts this object to type Data...
Definition: Data.cpp:3581
Data ComplexTensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:243
Data ComplexVectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:170
Data getItem(const boost::python::object &key) const
Returns a slice from this Data object.
Definition: Data.cpp:3472
Definition: SolverOptions.h:144
Data swapaxes(const int axis0, const int axis1) const
swaps the components axis0 and axis1
Definition: Data.cpp:2669
SolverOptions getPackage() const
Definition: SolverOptions.cpp:471
void resetDiagnostics(bool all=false)
Definition: SolverOptions.cpp:180
VarVector meshVariables
Definition: EscriptDataset.h:179
FunctionSpace continuousFunction(const AbstractDomain &domain)
Create function space objects.
Definition: FunctionSpaceFactory.cpp:43
bool saveSilo(const std::string fileName, bool useMultiMesh=true)
Saves the dataset in the Silo file format.
Definition: EscriptDataset.cpp:308
int getNumSweeps() const
Definition: SolverOptions.cpp:560
void setReordering(int ordering)
Definition: SolverOptions.cpp:476
void resolveGroup(bp::object obj)
Definition: Utils.cpp:986
int getEscriptParamInt(const std::string &name, int sentinel=0)
get the value of a named parameter. See listEscriptParams() for available parameters.
Definition: EscriptParams.h:90
virtual void addPDEToSystem(AbstractSystemMatrix &mat, escript::Data &rhs, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y, const escript::Data &d, const escript::Data &y, const escript::Data &d_contact, const escript::Data &y_contact, const escript::Data &d_dirac, const escript::Data &y_dirac) const
Return the domain as const AbstractContinuousDomain& / static const AbstractContinuousDomain& asAbst...
Definition: AbstractContinuousDomain.cpp:147
Data interpolate(const FunctionSpace &functionspace) const
Interpolates this onto the given functionspace and returns the result as a Data object.
Definition: Data.cpp:1315
Data exp() const
Return the exponential function of each data point of this Data object.
Definition: Data.cpp:2195
boost::python::object __mul__(const boost::python::object &right)
wrapper for python multiply operation
Definition: Data.cpp:5989
void setSymmetryOn()
Definition: SolverOptions.cpp:652
Definition: FileWriter.h:41
Data interpolateFromTable2DP(boost::python::object table, DataTypes::real_t Amin, DataTypes::real_t Astep, Data &B, DataTypes::real_t Bmin, DataTypes::real_t Bstep, DataTypes::real_t undef, bool check_boundaries)
Definition: Data.cpp:4751
SolverOptions getSolverMethod() const
Definition: SolverOptions.cpp:408
bool isTagged() const
Return true if this Data is tagged.
Definition: Data.cpp:1129
Data ScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Scalar factory.
Definition: DataFactory.cpp:95
Data besselSecondKind(int order)
Return the Bessel function of the second kind for each data point of this Data object.
Definition: Data.cpp:1868
#define MPI_SUM
Definition: EsysMPI.h:51
virtual bool isCellOriented(int functionSpaceCode) const =0
returns true if data on this domain and a function space of type functionSpaceCode has to considered ...
boost::python::object raw_addJob(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:472
Data TensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:218
void writeVarToVTK(const VarInfo &varInfo, std::ostream &os)
Definition: EscriptDataset.cpp:809
bool loadNetCDF(const std::string domainFilePattern, const StringVec &varFiles, const StringVec &varNames, int nChunks)
Loads domain and variables from escript NetCDF files.
Definition: EscriptDataset.cpp:254
int getNumRefinements() const
Definition: SolverOptions.cpp:792
Data gradOn(const FunctionSpace &functionspace) const
Calculates the gradient of the data at the data points of functionspace. If functionspace is not pres...
Definition: Data.cpp:1327
StringVec meshUnits
Definition: EscriptDataset.h:176
virtual escript::Data getX() const =0
Returns locations in the domain. The function space is chosen appropriately.
void setRestart(int restart)
Definition: SolverOptions.cpp:496
std::string units
Definition: EscriptDataset.h:39
Data vectorMultiply(const Data &right) const
returns the matrix-vector product this*right
Definition: AbstractSystemMatrix.cpp:77
Definition: SolverOptions.h:154
std::vector< DomainChunk_ptr > DomainChunks
Definition: EscriptDataset.h:35
Data phase() const
Return the phase/arg/angular-part of complex values.
Definition: Data.cpp:2027
DataTypes::real_t sup()
Return the maximum value of this Data object.
Definition: Data.cpp:2268
void setSymmetryOff()
Definition: SolverOptions.cpp:657
Definition: SolverOptions.h:148
bool isConstant() const
Return true if this Data is constant.
Definition: Data.cpp:1143
Definition: SolverOptions.h:162
void putSiloMultiTensor(DBfile *dbfile, const VarInfo &vi)
Definition: EscriptDataset.cpp:1178
int getMPISizeWorld()
returns the total number of available MPI processes for MPI_COMM_WORLD
Definition: Utils.cpp:94
Definition: SolverOptions.h:145
bool addData(escript::Data &data, const std::string name, const std::string units="")
Adds an escript data instance to this dataset. You must ensure that the data is defined on the domain...
Definition: EscriptDataset.cpp:218
bool isHermitian() const
Definition: SolverOptions.cpp:670
boost::python::object __add__(const boost::python::object &right)
wrapper for python add operation
Definition: Data.cpp:5916
boost::python::list listFeatures()
returns a list of features escript was compiled with.
Definition: EscriptParams.h:117
bool isComplex() const
Definition: SolverOptions.cpp:637
void setHermitianOn()
Definition: SolverOptions.cpp:675
Data interpolateFromTable1DP(boost::python::object table, DataTypes::real_t Amin, DataTypes::real_t Astep, DataTypes::real_t undef, bool check_boundaries)
Definition: Data.cpp:4760
Definition: FunctionSpace.h:47
Data truedivO(const boost::python::object &right)
Newer style division operator for python.
Definition: Data.h:2191
Domain_ptr getDomainPython() const
Return the domain. TODO: For internal use only. This should be removed.
Definition: Data.h:500
void updateDiagnosticsPy(const std::string &key, const boost::python::object &value)
Definition: SolverOptions.cpp:246
Data tanh() const
Return the tanh of each data point of this Data object.
Definition: Data.cpp:2107
Definition: SolverOptions.h:135
Definition: SolverOptions.h:159
const FunctionSpace & getFunctionSpace() const
Return the function space.
Definition: Data.h:462
void complicate()
Definition: Data.cpp:6061
void setIterMax(int iter_max)
Definition: SolverOptions.cpp:541
void setNumSweeps(int sweeps)
Definition: SolverOptions.cpp:553
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:64
Definition: DataVar.cpp:50
VarVector variables
Definition: EscriptDataset.h:179
void insertConstraint(Data &source, Data &q, Data &r)
inserts constraint u_{,t}=r where q>0 into the problem
Definition: AbstractTransportProblem.cpp:85
#define MPI_INT
Definition: EsysMPI.h:45
void setNumRefinements(int refinements)
Definition: SolverOptions.cpp:785
void copyVariable(const std::string &src, const std::string &dest)
Definition: SplitWorld.cpp:437
Data ComplexTensor4(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:354
Data whereZero(DataTypes::real_t tol=0.0) const
Return a Data with a 1 for 0 values and a 0 for +ive or -ive values.
Definition: Data.cpp:1301
Represents a full Ripley domain including nodes and elements.
Definition: weipa/src/RipleyDomain.h:48
#define MPI_MAX
Definition: EsysMPI.h:53
Data C_GeneralTensorProduct(Data &arg_0, Data &arg_1, int axis_offset=0, int transpose=0)
Compute a tensor product of two Data objects.
Definition: Data.cpp:3694
void setMeshLabels(const std::string x, const std::string y, const std::string z="")
Sets labels for the mesh axes.
Definition: EscriptDataset.cpp:558
void setDim(int dim)
Definition: SolverOptions.cpp:829
void setAbsoluteTolerance(double atol)
Definition: SolverOptions.cpp:577
void setLocalPreconditioner(bool local)
Definition: SolverOptions.cpp:777
virtual StatusType getStatus() const
Returns a status indicator of the domain. The status identifier should be unique over the live time i...
Definition: AbstractDomain.cpp:61
FunctionSpace reducedSolution(const AbstractDomain &domain)
Return a FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:109
std::vector< DataVar_ptr > DataChunks
Definition: EscriptDataset.h:34
virtual void resetValues(bool preserveSolverData=false)
resets the matrix entries
Definition: AbstractSystemMatrix.cpp:142
boost::python::list listEscriptParams()
describe available parameters.
Definition: EscriptParams.h:99
bool isVerbose() const
Definition: SolverOptions.cpp:693
Definition: SolverOptions.h:115
Reducer_ptr makeNonReducedVariable()
Definition: NonReducedVariable.cpp:122
virtual void addPDEToRHS(escript::Data &rhs, const escript::Data &X, const escript::Data &Y, const escript::Data &y, const escript::Data &y_contact, const escript::Data &y_dirac) const
adds a PDE onto the lumped stiffness matrix matrix / virtual void addPDEToLumpedSystem( escript::Dat...
Definition: AbstractContinuousDomain.cpp:158
int getNumberOfThreads()
returns the number of threads
Definition: Utils.cpp:85
virtual void nullifyRowsAndCols(Data &row_q, Data &col_q, double mdv)
sets matrix entries to zero in specified rows and columns. The rows and columns are marked by positiv...
Definition: AbstractSystemMatrix.cpp:125
escript::Data getNormal() const
Returns the surface normal field.
Definition: FunctionSpace.cpp:285
Data powD(const Data &right) const
Return the given power of each data point of this Data object.
Definition: Data.cpp:3341
FunctionSpace functionOnContactZero(const AbstractDomain &domain)
Return a FunctionSpace on left side of contact.
Definition: FunctionSpaceFactory.cpp:79
void setRelaxationFactor(double factor)
Definition: SolverOptions.cpp:625
char NcFType(const std::string &name)
Definition: NCHelper.cpp:40
virtual bool onMasterProcessor() const =0
Return true if on MPI master, else false.
Data represents a collection of datapoints.
Definition: Data.h:63
std::string toString() const
Write the data as a string. For large amounts of data, a summary is printed.
Definition: Data.cpp:4647
DomainChunks domainChunks
Definition: EscriptDataset.h:178
FunctionSpace reducedFunctionOnContactZero(const AbstractDomain &domain)
Return a FunctionSpace on left side of contact with reduced integration order.
Definition: FunctionSpaceFactory.cpp:85
Data whereNonPositive() const
Return a Data with a 1 for -ive or 0 values and a 0 for +ive values.
Definition: Data.cpp:1290
bool valid
Definition: EscriptDataset.h:42
DataChunks dataChunks
Definition: EscriptDataset.h:40
void resolve()
If this data is lazy, then convert it to ready data. What type of ready data depends on the expressio...
Definition: Data.cpp:1234
escript::Data getX() const
Returns the spatial locations of the data points.
Definition: FunctionSpace.cpp:228
Data powO(const boost::python::object &right) const
Return the given power of each data point of this boost python object.
Definition: Data.cpp:3334
const boost::python::tuple getShapeTuple() const
Return the data point shape as a tuple of integers.
Definition: Data.cpp:728
bool externalDomain
Definition: EscriptDataset.h:177
int runMPIProgram(bp::list args)
Definition: Utils.cpp:312
Definition: SolverOptions.h:161
void putSiloMultiMesh(DBfile *dbfile, const std::string &meshName)
Definition: EscriptDataset.cpp:1054
Data symmetric() const
Return the symmetric part of a matrix which is half the matrix plus its transpose.
Definition: Data.cpp:2726
int cycle
Definition: EscriptDataset.h:173
bool acceptConvergenceFailure() const
Definition: SolverOptions.cpp:739
void setComplex(bool complex)
Definition: SolverOptions.cpp:642
virtual double getUnlimitedTimeStepSize() const
Definition: AbstractTransportProblem.cpp:130
void setTags(const int newTag, const escript::Data &mask) const
Assigns new tag newTag to all samples with a positive value of mask for any of its sample points.
Definition: FunctionSpace.cpp:303
const boost::python::object toListOfTuples(bool scalarastuple=true)
returns the values of the object as a list of tuples (one for each datapoint).
Definition: Data.cpp:1382
FunctionSpace diracDeltaFunctions(const AbstractDomain &domain)
Return a FunctionSpace.
Definition: FunctionSpaceFactory.cpp:115
virtual std::string getDescription() const
Return a description for this domain.
Definition: AbstractContinuousDomain.cpp:39
int getApproximationOrder() const
Returns the approximation order used for this function space.
Definition: FunctionSpace.cpp:358
virtual void dump(const std::string &filename) const =0
dumps the domain to an external file filename.
Data real() const
Definition: Data.cpp:1988
virtual void setTagMap(const std::string &name, int tag)=0
sets a map from a clear tag name to a tag key
Data sin() const
Return the sin of each data point of this Data object.
Definition: Data.cpp:2050
Data maxval() const
Return the maximum value of each data point of this Data object.
Definition: Data.cpp:2651
double getRelaxationFactor() const
Definition: SolverOptions.cpp:632
Data solve(const Data &in, boost::python::object &options) const
returns the solution u of the linear system this*u=in
Definition: AbstractSystemMatrix.cpp:101
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:66
Data besselFirstKind(int order)
Return the Bessel function of the first kind for each data point of this Data object.
Definition: Data.cpp:1861
void * mpiComm
Definition: EscriptDataset.h:184
int getInnerIterMax() const
Definition: SolverOptions.cpp:536
int mpiRank
Definition: EscriptDataset.h:180
virtual void resetTransport(bool preserveSolverData) const
resets the transport operator typically as they have been updated.
Definition: AbstractTransportProblem.cpp:122
Data acosh() const
Return the acosh of each data point of this Data object.
Definition: Data.cpp:2133
int getMPIWorldSum(int val)
returns sum of an integer over all processors with MPI_COMM_WORLD
Definition: Utils.cpp:124
double getInnerTolerance() const
Definition: SolverOptions.cpp:596
void setTolerance(double rtol)
Definition: SolverOptions.cpp:565
virtual bool supportsContactElements() const =0
Data cosh() const
Return the cosh of each data point of this Data object.
Definition: Data.cpp:2100
virtual escript::Data getNormal() const =0
Return boundary normals. The function space is chosen appropriately.
Definition: SolverOptions.h:153
boost::python::list getListOfTags() const
Returns a list of the tags used in this function space.
Definition: FunctionSpace.cpp:342
const boost::python::tuple eigenvalues_and_eigenvectors(const DataTypes::real_t tol=1.e-12) const
Return the eigenvalues and corresponding eigenvcetors of the symmetric part at each data point of thi...
Definition: Data.cpp:2958
Data trace(int axis_offset) const
Return the trace of a matrix.
Definition: Data.cpp:2852
void setTaggedValue(int tagKey, const boost::python::object &value)
Assign the given value to the tag. Implicitly converts this object to type DataTagged if it is consta...
Definition: Data.cpp:3598
const char * getName(int key) const
Definition: SolverOptions.cpp:118
Definition: SolverOptions.h:122
const boost::python::tuple minGlobalDataPoint() const
Definition: Data.cpp:2984
FunctionSpace reducedFunction(const AbstractDomain &domain)
Return a function FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:61
Data copySelf() const
Return a pointer to a deep copy of this object.
Definition: Data.cpp:774
Definition: SolverOptions.h:121
bool isEmpty() const
Definition: Data.cpp:1136
void replaceInfPython(boost::python::object obj)
Definition: Data.cpp:2469
Data ComplexData(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:427
int getNumDataPoints() const
Return the number of data points.
Definition: Data.h:522
EscriptDataset()
Default constructor.
Definition: EscriptDataset.cpp:75
void runJobs()
Definition: SplitWorld.cpp:123
bool setExternalDomain(const DomainChunks &domain)
Definition: EscriptDataset.cpp:910
Definition: EscriptDataset.h:37
void dump(const std::string fileName) const
dumps the object into a netCDF file
Definition: Data.cpp:5421
void setPackage(int package)
Definition: SolverOptions.cpp:413
virtual int getDim() const =0
Returns the spatial dimension of the domain.
const boost::python::object getValueOfGlobalDataPointAsTuple(int procNo, int dataPointNo)
Return a data point across all processors as a python tuple.
Definition: Data.cpp:1703
int getIterMax() const
Definition: SolverOptions.cpp:548
Definition: SolverOptions.h:138
Definition: SolverOptions.h:142
FunctionSpace functionOnContactOne(const AbstractDomain &domain)
Return a FunctionSpace on right side of contact.
Definition: FunctionSpaceFactory.cpp:91
void setItemD(const boost::python::object &key, const Data &value)
Copies slice from value into this Data object.
Definition: Data.cpp:3502
Definition: SolverOptions.h:132
void setInnerToleranceAdaption(bool adaption)
Definition: SolverOptions.cpp:731
const boost::python::tuple maxGlobalDataPoint() const
Definition: Data.cpp:3087
virtual void setNewX(const escript::Data &arg)
assigns new location to the domain
Definition: AbstractContinuousDomain.cpp:210
Data Tensor3(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.
Definition: DataFactory.cpp:269
void copyWithMask(const Data &other, const Data &mask)
Copy other Data object into this Data object where mask is positive.
Definition: Data.cpp:855
virtual int getSystemMatrixTypeId(const boost::python::object &options) const
return the identifier of the matrix type to be used for the global stiffness matrix when particular s...
Definition: AbstractContinuousDomain.cpp:137
SolverOptions getReordering() const
Definition: SolverOptions.cpp:491
FunctionSpace reducedFunctionOnContactOne(const AbstractDomain &domain)
Return a FunctionSpace on right side of contact with reduced integration order.
Definition: FunctionSpaceFactory.cpp:97
bool isSymmetric() const
Definition: SolverOptions.cpp:647
boost::python::object __rsub__(const boost::python::object &right)
wrapper for python reverse subtract operation
Definition: Data.cpp:5964
Data transpose(int axis_offset) const
Transpose each data point of this Data object around the given axis.
Definition: Data.cpp:2907
Data delay()
produce a delayed evaluation version of this Data.
Definition: Data.cpp:790
Definition: SolverOptions.h:163
void setEscriptParamInt(const std::string &name, int value)
Set the value of a named parameter. See listEscriptParams() for available parameters.
Definition: EscriptParams.h:81
Definition: SolverOptions.h:120
FunctionSpace getTestDomainFunctionSpace(int dpps, DataTypes::dim_t samples, int dpsize)
Definition: TestDomain.cpp:351
SolverOptions getPreconditioner() const
Definition: SolverOptions.cpp:352
void releaseUnusedMemory()
releases unused memory in the memory manager.
Definition: DataVectorTaipan.cpp:40
virtual escript::Data getSize() const =0
Returns the local size of samples. The function space is chosen appropriately.
Data hermitian() const
Return the hermitian part of a matrix which is half the matrix plus its adjoint.
Definition: Data.cpp:2785
virtual MPI_Comm getMPIComm() const =0
get the communicator for this domain. Returns an integer on non-MPI builds Routine must be implemente...
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:721
Data solve(Data &u0, Data &source, const double dt, boost::python::object &options)
returns the solution u for a time step dt>0 with initial value u0 at time t=0
Definition: AbstractTransportProblem.cpp:62
Data whereNegative() const
Return a Data with a 1 for -ive values and a 0 for +ive or 0 values.
Definition: Data.cpp:1268
Data minval() const
Return the minimum value of each data point of this Data object.
Definition: Data.cpp:2660
int getSubWorldID()
Definition: SplitWorld.cpp:432
void setHermitianOff()
Definition: SolverOptions.cpp:680
virtual double getSafeTimeStepSize() const
Definition: AbstractTransportProblem.cpp:126
const boost::python::object getValueOfDataPointAsTuple(int dataPointNo)
Return the value of a data point as a python tuple.
Definition: Data.cpp:1524
void setInnerIterMax(int iter_max)
Definition: SolverOptions.cpp:529
void setInnerToleranceAdaptionOn()
Definition: SolverOptions.cpp:721
Definition: SolverOptions.h:134
escript::Data getXFromFunctionSpace() const
Returns the spatial locations of the data points.
Definition: Data.h:473
Data log() const
Return the natural log of each data point of this Data object.
Definition: Data.cpp:2154
Data truedivD(const Data &right)
Newer style division operator for python.
Definition: Data.h:2179
void printParallelThreadCnt()
print a message about how many MPI CPUs and OpenMP threads we're using
Definition: Utils.cpp:136
Data rpowO(const boost::python::object &left) const
Return the given power of each data point of this boost python object.
Definition: Data.cpp:3327
boost::python::object __div__(const boost::python::object &right)
wrapper for python divide operation
Definition: Data.cpp:6013
void updateSampleDistribution(VarInfo &vi)
Definition: EscriptDataset.cpp:1030
void setVerbosityOn()
Definition: SolverOptions.cpp:698
Definition: SolverOptions.h:127
void setSolverMethod(int method)
Definition: SolverOptions.cpp:357
bool canInterpolate(FunctionSpace src, FunctionSpace dest)
Definition: FunctionSpace.cpp:33
#define WEIPA_DLL_API
Definition: weipa.h:37
Definition: AbstractContinuousDomain.cpp:23
Data matrixInverse() const
return inverse of matricies.
Definition: Data.cpp:3299
DataTypes::real_t inf()
Return the minimum value of this Data object.
Definition: Data.cpp:2307
StringVec meshLabels
Definition: EscriptDataset.h:176
Data wherePositive() const
Return a Data with a 1 for +ive values and a 0 for 0 or -ive values.
Definition: Data.cpp:1257
double time
Definition: EscriptDataset.h:174
bool isExpanded() const
Return true if this Data is expanded.
Definition: Data.cpp:1115
Definition: SolverOptions.h:124
void setPreconditioner(int preconditioner)
Definition: SolverOptions.cpp:330
Definition: SolverOptions.h:126
Data ComplexTensor3(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:275
bool hasInf()
Definition: Data.cpp:2438
void setSymmetry(bool symmetry)
Definition: SolverOptions.cpp:662
Data Tensor(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor datapoints. ie: rank 2 data-points.
Definition: DataFactory.cpp:189
Data nonuniformslope(boost::python::object in, boost::python::object out, bool check_boundaries)
Definition: Data.cpp:5312
int getTagNumber(int dpno)
Return the tag number associated with the given data-point.
Definition: Data.cpp:3677
boost::python::object __sub__(const boost::python::object &right)
wrapper for python subtract operation
Definition: Data.cpp:5940
Data antisymmetric() const
Return the antisymmetric part of a matrix which is half the matrix minus its transpose.
Definition: Data.cpp:2749
void saveVTK(const std::string fileName)
Saves the dataset in the VTK XML file format.
Definition: EscriptDataset.cpp:487
void setTagsByString(const std::string &name, const escript::Data &mask) const
Definition: FunctionSpace.cpp:313
Definition: SolverOptions.h:143
Definition: SolverOptions.h:107
int getMPIWorldMax(int val)
returns the maximum value of an integer over all processors within MPI_COMM_WORLD
Definition: Utils.cpp:112
int mpiSize
Definition: EscriptDataset.h:180
bool hasFeature(const std::string &name)
returns true if escript was compiled with the feature name, false otherwise.
Definition: EscriptParams.h:108
Definition: SolverOptions.h:147
std::vector< std::string > StringVec
Definition: weipa.h:60
int getTypeCode() const
Returns the function space type code.
Definition: FunctionSpace.cpp:94
Data asinh() const
Return the asinh of each data point of this Data object.
Definition: Data.cpp:2126
void setDropTolerance(double drop_tol)
Definition: SolverOptions.cpp:601
boost::python::object getVarPyList()
Definition: SplitWorld.cpp:316
int getDim() const
Return the number of spatial dimensions of the underlying domain.
Definition: FunctionSpace.h:195
std::string toString() const
Returns a text description of the function space.
Definition: FunctionSpace.cpp:117
virtual void MPIBarrier() const =0
If compiled for MPI then execute an MPI_Barrier, else do nothing.
bool isLazy() const
Return true if this Data is lazy.
Definition: Data.cpp:1150
int isEmpty() const
Definition: AbstractTransportProblem.cpp:56
FunctionSpace function(const AbstractDomain &domain)
Return a function FunctionSpace.
Definition: FunctionSpaceFactory.cpp:55
Data Vector(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing vector data-points. ie: rank 1 data-points.
Definition: DataFactory.cpp:138
Data whereNonZero(DataTypes::real_t tol=0.0) const
Return a Data with a 0 for 0 values and a 1 for +ive or -ive values.
Definition: Data.cpp:1308
std::vector< VarInfo > VarVector
Definition: EscriptDataset.h:45
Data ComplexTensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:322
void setTupleForGlobalDataPoint(int id, int proc, boost::python::object)
Set the value of a global data point.
Definition: Data.cpp:1571
void setVerbosity(bool verbose)
Definition: SolverOptions.cpp:708
virtual int getMPISize() const =0
return the number of processors used for this domain
Represents an escript dataset including a domain and data variables for one timestep.
Definition: EscriptDataset.h:62
void setValueOfDataPointToArray(int dataPointNo, const boost::python::object &)
sets the values of a data-point from a array-like object on this process
Definition: Data.cpp:1616
FunctionSpace functionOnBoundary(const AbstractDomain &domain)
Return a function on boundary FunctionSpace.
Definition: FunctionSpaceFactory.cpp:67
void setItemO(const boost::python::object &key, const boost::python::object &value)
Definition: Data.cpp:3494
Data condEval(escript::Data &mask, escript::Data &trueval, escript::Data &falseval)
Definition: Data.cpp:5652
void setODESolver(int solver)
Definition: SolverOptions.cpp:797
int MPI_Comm
Definition: EsysMPI.h:41
Data log10() const
Return the log to base 10 of each data point of this Data object.
Definition: Data.cpp:2147
Data pos() const
Return the identity of each data point of this Data object. Simply returns this object unmodified.
Definition: Data.cpp:2183
Data ComplexScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Complex Scalar factory.
Definition: DataFactory.cpp:117
boost::python::object __rdiv__(const boost::python::object &right)
wrapper for python reverse divide operation
Definition: Data.cpp:6037
void setHermitian(bool hermitian)
Definition: SolverOptions.cpp:685
void replaceNaNPython(boost::python::object obj)
replaces all NaN values with value
Definition: Data.cpp:2424
Data VectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:152
Data imag() const
Definition: Data.cpp:2007
bool hasNaN()
returns return true if data contains NaN.
Definition: Data.cpp:2393
void setAcceptanceConvergenceFailureOff()
Definition: SolverOptions.cpp:749
virtual std::pair< int, DataTypes::dim_t > getDataShape(int functionSpaceCode) const
Return the number of data points per sample, and the number of samples as a pair.
Definition: AbstractContinuousDomain.cpp:204
void setInnerTolerance(double rtol)
Definition: SolverOptions.cpp:589
std::string varName
Definition: EscriptDataset.h:38
Base class for all escript domains.
Definition: AbstractDomain.h:62
Data Tensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:297
virtual ATP_ptr newTransportProblem(const int blocksize, const escript::FunctionSpace &functionspace, const int type) const
creates a TransportProblemAdapter
Definition: AbstractContinuousDomain.cpp:189
bool setDomain(const escript::AbstractDomain *domain)
Sets the escript domain for this dataset. This method can only be called once and should be the first...
Definition: EscriptDataset.cpp:111
const char * MESH_VARS
Definition: EscriptDataset.cpp:70
void copy(const Data &other)
Make this object a deep copy of "other".
Definition: Data.cpp:781
int getMPIRankWorld()
returns the MPI processor number within MPI_COMM_WORLD
Definition: Utils.cpp:103
virtual std::string showTagNames() const =0
Returns all tag names in a single string sperated by commas.
boost::python::object raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:491
bool loadData(const std::string filePattern, const std::string name, const std::string units)
Definition: EscriptDataset.cpp:946
void convertToNumpy(escript::Data data)
Definition: Utils.cpp:981
boost::python::object raw_addVariable(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:512
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SplitWorld.cpp:35
Data neg() const
Return the negation of each data point of this Data object.
Definition: Data.cpp:2176
Definition: SolverOptions.h:149
Data nonuniforminterp(boost::python::object in, boost::python::object out, bool check_boundaries)
Definition: Data.cpp:5236
Definition: SolverOptions.h:116
void setTrilinosParameter(const std::string &name, const boost::python::object &value)
Definition: SolverOptions.cpp:816
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:65
bool adaptInnerTolerance() const
Definition: SolverOptions.cpp:716
void setValueOfDataPointToPyObject(int dataPointNo, const boost::python::object &py_object)
sets the values of a data-point from a python object on this process
Definition: Data.cpp:1563
Data acos() const
Return the acos of each data point of this Data object.
Definition: Data.cpp:2078
virtual void Print_Mesh_Info(const bool full=false) const
Definition: AbstractContinuousDomain.cpp:216
Definition: SolverOptions.h:114
Data ComplexTensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:401
Definition: SolverOptions.h:146
void expand()
Whatever the current Data type make this into a DataExpanded.
Definition: Data.cpp:1184
std::vector< int > IntVec
Definition: weipa.h:59
void setLocalPreconditionerOn()
Definition: SolverOptions.cpp:767
Definition: SolverOptions.h:137
~EscriptDataset()
Destructor.
Definition: EscriptDataset.cpp:104
bool wantsMeshVars
Definition: EscriptDataset.h:177
double getDropStorage() const
Definition: SolverOptions.cpp:620
Definition: SolverOptions.h:117
void setNumberOfThreads(int num_threads)
set the number of threads
Definition: Utils.cpp:78
void setLocalPreconditionerOff()
Definition: SolverOptions.cpp:772
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.
Definition: Data.cpp:5876
Data conjugate() const
For complex values return the conjugate values. For non-complex data return a copy.
Definition: Data.cpp:1968
Definition: SolverOptions.h:139
Definition: SolverOptions.h:136
A class that provides functionality to read an escript data object from a dump file or an escript::Da...
Definition: DataVar.h:35
void setProtection()
switches on update protection
Definition: Data.cpp:1170
Data Tensor4(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.
Definition: DataFactory.cpp:348
Data asin() const
Return the asin of each data point of this Data object.
Definition: Data.cpp:2071
boost::python::dict getTrilinosParameters() const
Definition: SolverOptions.cpp:824
Data sqrt() const
Return the square root of each data point of this Data object.
Definition: Data.cpp:2202
boost::python::object raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:455
Data ComplexTensor(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:195
void setMeshUnits(const std::string x, const std::string y, const std::string z="")
Sets units for the mesh axes.
Definition: EscriptDataset.cpp:570
bool isProtected() const
Returns true, if the data object is protected against update.
Definition: Data.cpp:1176
SolverOptions getODESolver() const
Definition: SolverOptions.cpp:811
void clearVariable(std::string name)
Definition: SplitWorld.cpp:305
virtual int getMPIRank() const =0
return the number MPI rank of this processor
double getMachinePrecision()
returns the machine precision
Definition: Utils.cpp:367
Data eigenvalues() const
Return the eigenvalues of the symmetric part at each data point of this Data object in increasing val...
Definition: Data.cpp:2931
int getTagFromDataPointNo(DataTypes::dim_t dataPointNo) const
Returns the tag associated with the given data-point number.
Definition: FunctionSpace.cpp:149
void convertMeshVariables()
Definition: EscriptDataset.cpp:1003
Definition: SolverOptions.h:123
int getRestart() const
Definition: SolverOptions.cpp:504
FunctionSpace solution(const AbstractDomain &domain)
Return a FunctionSpace.
Definition: FunctionSpaceFactory.cpp:103
virtual void addPDEToTransportProblem(AbstractTransportProblem &tp, escript::Data &source, const escript::Data &M, const escript::Data &A, const escript::Data &B, const escript::Data &C, const escript::Data &D, const escript::Data &X, const escript::Data &Y, const escript::Data &d, const escript::Data &y, const escript::Data &d_contact, const escript::Data &y_contact, const escript::Data &d_dirac, const escript::Data &y_dirac) const
adds a PDE onto a transport problem
Definition: AbstractContinuousDomain.cpp:166
void putSiloMultiVar(DBfile *dbfile, const VarInfo &vi, bool useMeshFile=false)
Definition: EscriptDataset.cpp:1122
Represents a full Finley or Dudley domain including nodes and elements.
Definition: weipa/src/FinleyDomain.h:41
Definition: SolverOptions.h:157
unsigned int getDataPointRank() const
Return the rank of the point data.
Definition: Data.h:511