escript  Revision_
EscriptDataset.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 #ifndef __WEIPA_ESCRIPTDATASET_H__
19 #define __WEIPA_ESCRIPTDATASET_H__
20 
21 #include <weipa/weipa.h>
22 
23 #include <ostream>
24 
25 class DBfile;
26 
27 namespace escript {
28  class AbstractDomain;
29  class Data;
30 }
31 
32 
33 namespace weipa {
34 
35 typedef std::vector<DataVar_ptr> DataChunks;
36 typedef std::vector<DomainChunk_ptr> DomainChunks;
37 
38 struct VarInfo {
39  std::string varName;
40  std::string units;
43  bool valid;
44 };
45 
46 typedef std::vector<VarInfo> VarVector;
47 
48 
51 //
64 {
65 public:
68 
69 #if WEIPA_HAVE_MPI
72 #endif
73 
75  ~EscriptDataset();
76 
83  bool setDomain(const escript::AbstractDomain* domain);
84 
87  // setDomain(), otherwise you will get undefined behaviour later!
88  bool addData(escript::Data& data, const std::string name,
89  const std::string units = "");
90 
101  bool loadNetCDF(const std::string domainFilePattern,
102  const StringVec& varFiles, const StringVec& varNames,
103  int nChunks);
104 
107  bool loadNetCDF(const DomainChunks& domain, const StringVec& varFiles,
108  const StringVec& varNames);
109 
111  void setCycleAndTime(int c, double t) { cycle=c; time=t; }
112 
114  int getCycle() const { return cycle; }
115 
117  double getTime() const { return time; }
118 
121  void setMeshLabels(const std::string x, const std::string y, const std::string z="");
122 
125  void setMeshUnits(const std::string x, const std::string y, const std::string z="");
126 
129  void setMetadataSchemaString(const std::string schema,
130  const std::string metadata)
131  { mdSchema=schema; mdString=metadata; }
132 
134  void setSaveMeshData(bool flag) { wantsMeshVars=flag; }
135 
137  bool saveSilo(const std::string fileName, bool useMultiMesh=true);
138 
140  void saveVTK(const std::string fileName);
141 
143  DomainChunks getConvertedDomain() { return domainChunks; }
144 
146  const VarVector& getVariables() const { return variables; }
147 
149  const VarVector& getMeshVariables() const { return meshVariables; }
150 
151 #if WEIPA_HAVE_MPI
152  MPI_Comm
153 #else
154  void*
155 #endif
156  getMPIComm() { return mpiComm; }
157 
158 private:
159  bool loadDomain(const std::string filePattern, int nChunks);
160  bool setExternalDomain(const DomainChunks& domain);
161  bool loadData(const std::string filePattern, const std::string name,
162  const std::string units);
163 
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);
173 
174  int cycle;
175  double time;
176  std::string mdSchema, mdString;
177  StringVec meshLabels, meshUnits;
178  bool externalDomain, wantsMeshVars;
180  VarVector variables, meshVariables;
181  int mpiRank, mpiSize;
182 #if WEIPA_HAVE_MPI
183  MPI_Comm mpiComm;
184 #else
185  void* mpiComm;
186 #endif
187 };
188 
189 } // namespace weipa
190 
191 #endif // __WEIPA_ESCRIPTDATASET_H__
192 
escript::ComplexVector
Data ComplexVector(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:131
weipa::VarInfo::sampleDistribution
IntVec sampleDistribution
Definition: EscriptDataset.h:42
escript::Data::interpolateFromTable3DP
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:4737
escript::SolverBuddy::setAcceptanceConvergenceFailure
void setAcceptanceConvergenceFailure(bool acceptance)
Definition: SolverOptions.cpp:755
escript::SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING
@ SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING
Definition: SolverOptions.h:133
escript::FunctionSpace::getReferenceIDFromDataPointNo
DataTypes::dim_t getReferenceIDFromDataPointNo(DataTypes::dim_t dataPointNo) const
Returns the reference number associated with the given data-point number.
Definition: FunctionSpace.cpp:179
escript::SolverBuddy::getDropTolerance
double getDropTolerance() const
Definition: SolverOptions.cpp:609
escript::Data::isReady
bool isReady() const
Return true if this data is ready.
Definition: Data.cpp:1153
BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(escriptcpp)
Definition: escriptcpp.cpp:117
DataFactory.h
escript::SO_REORDERING_NONE
@ SO_REORDERING_NONE
Definition: SolverOptions.h:139
escript::AbstractSystemMatrix::saveMM
virtual void saveMM(const std::string &filename) const
writes the matrix to a file using the Matrix Market file format
Definition: AbstractSystemMatrix.cpp:120
weipa::EscriptDataset::mdSchema
std::string mdSchema
Definition: EscriptDataset.h:176
escript::Data::isComplex
bool isComplex() const
True if components of this data are stored as complex.
Definition: Data.cpp:1160
escript::MPIBarrierWorld
void MPIBarrierWorld()
performs a barrier synchronization across all processors.
Definition: Utils.cpp:377
escript::FunctionSpace::getSize
escript::Data getSize() const
Returns the sample size (e.g. the diameter of elements, radius of particles).
Definition: FunctionSpace.cpp:295
escript::Data::erf
Data erf() const
Return the error function erf of each data point of this Data object.
Definition: Data.cpp:2111
escript::FunctionSpace::getDomainPython
Domain_ptr getDomainPython() const
Return the function space domain. Internal use only! This gets around some python difficulties by cas...
Definition: FunctionSpace.cpp:109
escript::getSvnVersion
int getSvnVersion()
some functions
Definition: Utils.cpp:43
escript::Data::sign
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:2157
escript::saveDataCSV
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
escript::makeDataReducer
Reducer_ptr makeDataReducer(std::string type)
Definition: MPIDataReducer.cpp:47
escript::AbstractContinuousDomain::getTransportTypeId
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
finley::FinleyDomain
FinleyDomain implements the AbstractContinuousDomain interface for the Finley library.
Definition: finley/src/FinleyDomain.h:95
escript::SolverBuddy::setInnerToleranceAdaptionOff
void setInnerToleranceAdaptionOff()
Definition: SolverOptions.cpp:727
weipa::EscriptDataset::mdString
std::string mdString
Definition: EscriptDataset.h:176
escript::getNumpy
void getNumpy(bp::dict arg)
Definition: Utils.cpp:920
escript::SolverBuddy::setDropStorage
void setDropStorage(double drop)
Definition: SolverOptions.cpp:614
NonReducedVariable.h
escript::SplitWorld::getScalarVariable
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SplitWorld.cpp:30
escript::Data::atanh
Data atanh() const
Return the atanh of each data point of this Data object.
Definition: Data.cpp:2136
escript::makeScalarReducer
Reducer_ptr makeScalarReducer(std::string type)
Definition: MPIScalarReducer.cpp:32
AbstractReducer.h
escript::getMaxFloat
double getMaxFloat()
Definition: Utils.cpp:372
escript::Data::atan
Data atan() const
Return the atan of each data point of this Data object.
Definition: Data.cpp:2082
REGISTER_ESCRIPT_EXCEPTION_TRANSLATORS
#define REGISTER_ESCRIPT_EXCEPTION_TRANSLATORS
Definition: ExceptionTranslators.h:26
escript::SO_METHOD_GMRES
@ SO_METHOD_GMRES
Definition: SolverOptions.h:105
escript::Data::rtruedivO
Data rtruedivO(const boost::python::object &left)
Newer style division operator for python.
Definition: Data.h:2205
escript::reducedFunctionOnBoundary
FunctionSpace reducedFunctionOnBoundary(const AbstractDomain &domain)
Return a function on boundary FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:61
escript::Data::antihermitian
Data antihermitian() const
Return the anti-hermitian part of a matrix which is half the matrix minus its hermitian.
Definition: Data.cpp:2808
escript::reducedContinuousFunction
FunctionSpace reducedContinuousFunction(const AbstractDomain &domain)
Return a continuous with reduced order FunctionSpace (overlapped node values on reduced element order...
Definition: FunctionSpaceFactory.cpp:37
escript::Data::setToZero
void setToZero()
set all values to zero
Definition: Data.cpp:815
escript::Data::cos
Data cos() const
Return the cos of each data point of this Data object.
Definition: Data.cpp:2053
weipa::EscriptDataset::saveVTKsingle
void saveVTKsingle(const std::string &fileName, const std::string &meshName, const VarVector &vars)
Definition: EscriptDataset.cpp:583
escript::Data::Lsup
DataTypes::real_t Lsup()
Return the maximum absolute value of this Data object.
Definition: Data.cpp:2215
FunctionSpaceFactory.h
escript::Data::grad
Data grad() const
Definition: Data.cpp:1350
escript::SolverBuddy::hasConverged
bool hasConverged() const
Definition: SolverOptions.cpp:326
escript::SolverBuddy::getDiagnostics
double getDiagnostics(const std::string name) const
Definition: SolverOptions.cpp:306
AbstractTransportProblem.h
escript::SolverBuddy::useLocalPreconditioner
bool useLocalPreconditioner() const
Definition: SolverOptions.cpp:763
escript::SO_METHOD_DIRECT_TRILINOS
@ SO_METHOD_DIRECT_TRILINOS
Definition: SolverOptions.h:104
escript::AbstractDomain::getTag
virtual int getTag(const std::string &name) const =0
Return the tag key for tag name.
weipa::SpeckleyDomain
Represents a full Speckley domain including nodes and elements.
Definition: weipa/src/SpeckleyDomain.h:37
escript::SO_METHOD_HRZ_LUMPING
@ SO_METHOD_HRZ_LUMPING
Definition: SolverOptions.h:106
weipa::EscriptDataset::loadDomain
bool loadDomain(const std::string filePattern, int nChunks)
Definition: EscriptDataset.cpp:838
escript::Tensor4FromObj
Data Tensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:363
escript::SplitWorld::removeVariable
void removeVariable(std::string name)
Definition: SplitWorld.cpp:300
escript::Data::setValueOfDataPoint
void setValueOfDataPoint(int dataPointNo, const DataTypes::real_t)
sets the values of a data-point on this process
Definition: Data.cpp:1655
escript::SolverBuddy::getDim
int getDim()
Definition: SolverOptions.cpp:837
escript::AbstractSystemMatrix::isEmpty
bool isEmpty() const
returns true if the matrix is empty
Definition: AbstractSystemMatrix.h:86
escript::SplitWorld::getVarPyInfo
boost::python::object getVarPyInfo()
Definition: SplitWorld.cpp:332
escript::SolverBuddy::setTruncation
void setTruncation(int truncation)
Definition: SolverOptions.cpp:518
escript::SO_METHOD_LSQR
@ SO_METHOD_LSQR
Definition: SolverOptions.h:108
escript::AbstractContinuousDomain::newSystemMatrix
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
escript::SolverBuddy::setVerbosityOff
void setVerbosityOff()
Definition: SolverOptions.cpp:704
escript::SolverBuddy::getTolerance
double getTolerance() const
Definition: SolverOptions.cpp:573
escript::Data::whereNonNegative
Data whereNonNegative() const
Return a Data with a 1 for +ive or 0 values and a 0 for -ive values.
Definition: Data.cpp:1275
escript::SO_METHOD_DIRECT_SUPERLU
@ SO_METHOD_DIRECT_SUPERLU
Definition: SolverOptions.h:103
escript::loadConfigured
bool loadConfigured()
returns true if the load funtion is configured.
Definition: DataFactory.cpp:918
escript::AbstractSystemMatrix::saveHB
virtual void saveHB(const std::string &filename) const
writes the matrix to a file using the Harwell-Boeing file format
Definition: AbstractSystemMatrix.cpp:125
escript::Data::tan
Data tan() const
Return the tan of each data point of this Data object.
Definition: Data.cpp:2060
weipa::EscriptDataset::getCycle
int getCycle() const
Returns the cycle number.
Definition: EscriptDataset.h:114
escript::SO_METHOD_DIRECT
@ SO_METHOD_DIRECT
Definition: SolverOptions.h:100
escript::SolverBuddy::getSummary
std::string getSummary() const
Definition: SolverOptions.cpp:75
escript::Data::tag
void tag()
If possible convert this Data to DataTagged. This will only allow Constant data to be converted to ta...
Definition: Data.cpp:1204
escript::Data::integrateToTuple
boost::python::object integrateToTuple()
Calculate the integral over the function space domain as a python tuple.
Definition: Data.cpp:1784
escript::SolverBuddy::getAbsoluteTolerance
double getAbsoluteTolerance() const
Definition: SolverOptions.cpp:585
escript::SplitWorld::getSubWorldCount
int getSubWorldCount()
Definition: SplitWorld.cpp:428
escript::SO_ODESOLVER_BACKWARD_EULER
@ SO_ODESOLVER_BACKWARD_EULER
Definition: SolverOptions.h:127
escript::SolverBuddy::setAcceptanceConvergenceFailureOn
void setAcceptanceConvergenceFailureOn()
Definition: SolverOptions.cpp:745
escript::AbstractDomain::isValidTagName
virtual bool isValidTagName(const std::string &name) const
Returns True if name is a defined tag name.
Definition: AbstractDomain.cpp:53
escript::SolverBuddy::getTruncation
int getTruncation() const
Definition: SolverOptions.cpp:525
escript::Data::sinh
Data sinh() const
Return the sinh of each data point of this Data object.
Definition: Data.cpp:2089
escript::Data::abs
Data abs() const
Return the absolute value of each data point of this Data object.
Definition: Data.cpp:2165
weipa::EscriptDataset::getConvertedDomain
DomainChunks getConvertedDomain()
Returns the dataset's converted domain so it can be reused.
Definition: EscriptDataset.h:143
weipa::WeipaException
WeipaException exception class.
Definition: WeipaException.h:29
escript::AbstractContinuousDomain::getNumDataPointsGlobal
virtual DataTypes::dim_t getNumDataPointsGlobal() const
Return the number of data points summed across all MPI processes.
Definition: AbstractContinuousDomain.cpp:198
escript::Data::setTaggedValueByName
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:3577
escript::ComplexTensorFromObj
Data ComplexTensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:230
escript::ComplexVectorFromObj
Data ComplexVectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:157
escript::Data::getItem
Data getItem(const boost::python::object &key) const
Returns a slice from this Data object.
Definition: Data.cpp:3468
escript::SO_PRECONDITIONER_ILU0
@ SO_PRECONDITIONER_ILU0
Definition: SolverOptions.h:119
escript::Data::swapaxes
Data swapaxes(const int axis0, const int axis1) const
swaps the components axis0 and axis1
Definition: Data.cpp:2665
escript::SolverBuddy::getPackage
SolverOptions getPackage() const
Definition: SolverOptions.cpp:472
escript::SolverBuddy::resetDiagnostics
void resetDiagnostics(bool all=false)
Definition: SolverOptions.cpp:181
weipa::EscriptDataset::meshVariables
VarVector meshVariables
Definition: EscriptDataset.h:180
escript::continuousFunction
FunctionSpace continuousFunction(const AbstractDomain &domain)
Create function space objects.
Definition: FunctionSpaceFactory.cpp:31
weipa::EscriptDataset::saveSilo
bool saveSilo(const std::string fileName, bool useMultiMesh=true)
Saves the dataset in the Silo file format.
Definition: EscriptDataset.cpp:309
escript::SolverBuddy::getNumSweeps
int getNumSweeps() const
Definition: SolverOptions.cpp:561
escript::SolverBuddy::setReordering
void setReordering(int ordering)
Definition: SolverOptions.cpp:477
escript::resolveGroup
void resolveGroup(bp::object obj)
Definition: Utils.cpp:986
escript::getEscriptParamInt
int getEscriptParamInt(const std::string &name, int sentinel=0)
get the value of a named parameter. See listEscriptParams() for available parameters.
Definition: EscriptParams.h:78
escript::AbstractContinuousDomain::addPDEToSystem
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
adds a PDE onto the stiffness matrix mat and a rhs
Definition: AbstractContinuousDomain.cpp:147
escript::Data::interpolate
Data interpolate(const FunctionSpace &functionspace) const
Interpolates this onto the given functionspace and returns the result as a Data object.
Definition: Data.cpp:1311
escript::Data::exp
Data exp() const
Return the exponential function of each data point of this Data object.
Definition: Data.cpp:2191
escript::Data::__mul__
boost::python::object __mul__(const boost::python::object &right)
wrapper for python multiply operation
Definition: Data.cpp:5985
escript::SolverBuddy::setSymmetryOn
void setSymmetryOn()
Definition: SolverOptions.cpp:653
escript::FileWriter
Definition: FileWriter.h:30
escript::Data::interpolateFromTable2DP
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:4747
escript::SolverBuddy::getSolverMethod
SolverOptions getSolverMethod() const
Definition: SolverOptions.cpp:409
escript::Data::isTagged
bool isTagged() const
Return true if this Data is tagged.
Definition: Data.cpp:1125
escript::ScalarFromObj
Data ScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Scalar factory.
Definition: DataFactory.cpp:82
escript::Data::besselSecondKind
Data besselSecondKind(int order)
Return the Bessel function of the second kind for each data point of this Data object.
Definition: Data.cpp:1864
MPI_SUM
#define MPI_SUM
Definition: EsysMPI.h:52
escript::AbstractDomain::isCellOriented
virtual bool isCellOriented(int functionSpaceCode) const =0
returns true if data on this domain and a function space of type functionSpaceCode has to considered ...
escript::raw_addJob
boost::python::object raw_addJob(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:473
escript::TensorFromObj
Data TensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:205
weipa::EscriptDataset::writeVarToVTK
void writeVarToVTK(const VarInfo &varInfo, std::ostream &os)
Definition: EscriptDataset.cpp:810
weipa::EscriptDataset::loadNetCDF
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:255
escript::SolverBuddy::getNumRefinements
int getNumRefinements() const
Definition: SolverOptions.cpp:793
escript::Data::gradOn
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:1323
weipa::EscriptDataset::meshUnits
StringVec meshUnits
Definition: EscriptDataset.h:177
escript::AbstractDomain::getX
virtual escript::Data getX() const =0
Returns locations in the domain. The function space is chosen appropriately.
escript::SolverBuddy::setRestart
void setRestart(int restart)
Definition: SolverOptions.cpp:497
weipa::VarInfo::units
std::string units
Definition: EscriptDataset.h:40
escript::AbstractSystemMatrix::vectorMultiply
Data vectorMultiply(const Data &right) const
returns the matrix-vector product this*right
Definition: AbstractSystemMatrix.cpp:65
escript::SO_ODESOLVER_LINEAR_CRANK_NICOLSON
@ SO_ODESOLVER_LINEAR_CRANK_NICOLSON
Definition: SolverOptions.h:129
weipa::DomainChunks
std::vector< DomainChunk_ptr > DomainChunks
Definition: EscriptDataset.h:36
escript::Data::phase
Data phase() const
Return the phase/arg/angular-part of complex values.
Definition: Data.cpp:2023
escript::Data::sup
DataTypes::real_t sup()
Return the maximum value of this Data object.
Definition: Data.cpp:2264
escript::SolverBuddy::setSymmetryOff
void setSymmetryOff()
Definition: SolverOptions.cpp:658
escript::SO_PRECONDITIONER_REC_ILU
@ SO_PRECONDITIONER_REC_ILU
Definition: SolverOptions.h:123
escript::Data::isConstant
bool isConstant() const
Return true if this Data is constant.
Definition: Data.cpp:1139
escript::SO_REORDERING_MINIMUM_FILL_IN
@ SO_REORDERING_MINIMUM_FILL_IN
Definition: SolverOptions.h:137
weipa::EscriptDataset::putSiloMultiTensor
void putSiloMultiTensor(DBfile *dbfile, const VarInfo &vi)
Definition: EscriptDataset.cpp:1179
escript::getMPISizeWorld
int getMPISizeWorld()
returns the total number of available MPI processes for MPI_COMM_WORLD
Definition: Utils.cpp:94
escript::SO_PRECONDITIONER_ILUT
@ SO_PRECONDITIONER_ILUT
Definition: SolverOptions.h:120
weipa::EscriptDataset::addData
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:219
escript::SolverBuddy::isHermitian
bool isHermitian() const
Definition: SolverOptions.cpp:671
escript::Data::__add__
boost::python::object __add__(const boost::python::object &right)
wrapper for python add operation
Definition: Data.cpp:5912
escript::listFeatures
boost::python::list listFeatures()
returns a list of features escript was compiled with.
Definition: EscriptParams.h:105
escript::SolverBuddy::isComplex
bool isComplex() const
Definition: SolverOptions.cpp:638
escript::SolverBuddy::setHermitianOn
void setHermitianOn()
Definition: SolverOptions.cpp:676
escript::Data::interpolateFromTable1DP
Data interpolateFromTable1DP(boost::python::object table, DataTypes::real_t Amin, DataTypes::real_t Astep, DataTypes::real_t undef, bool check_boundaries)
Definition: Data.cpp:4756
escript::FunctionSpace
Definition: FunctionSpace.h:36
escript::Data::truedivO
Data truedivO(const boost::python::object &right)
Newer style division operator for python.
Definition: Data.h:2192
escript::Data::getDomainPython
Domain_ptr getDomainPython() const
Return the domain. TODO: For internal use only. This should be removed.
Definition: Data.h:501
escript::SolverBuddy::updateDiagnosticsPy
void updateDiagnosticsPy(const std::string &key, const boost::python::object &value)
Definition: SolverOptions.cpp:247
escript::Data::tanh
Data tanh() const
Return the tanh of each data point of this Data object.
Definition: Data.cpp:2103
escript::SO_METHOD_NONLINEAR_GMRES
@ SO_METHOD_NONLINEAR_GMRES
Definition: SolverOptions.h:110
escript::SO_INTERPOLATION_DIRECT
@ SO_INTERPOLATION_DIRECT
Definition: SolverOptions.h:134
escript::Data::getFunctionSpace
const FunctionSpace & getFunctionSpace() const
Return the function space.
Definition: Data.h:463
escript::Data::complicate
void complicate()
Definition: Data.cpp:6057
escript::SolverBuddy::setIterMax
void setIterMax(int iter_max)
Definition: SolverOptions.cpp:542
escript::SolverBuddy::setNumSweeps
void setNumSweeps(int sweeps)
Definition: SolverOptions.cpp:554
weipa::DataVar_ptr
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:65
weipa
Definition: DataVar.cpp:51
MPIDataReducer.h
weipa::EscriptDataset::variables
VarVector variables
Definition: EscriptDataset.h:180
escript::AbstractTransportProblem::insertConstraint
void insertConstraint(Data &source, Data &q, Data &r)
inserts constraint u_{,t}=r where q>0 into the problem
Definition: AbstractTransportProblem.cpp:73
MPI_INT
#define MPI_INT
Definition: EsysMPI.h:46
escript::SolverBuddy::setNumRefinements
void setNumRefinements(int refinements)
Definition: SolverOptions.cpp:786
escript::SplitWorld::copyVariable
void copyVariable(const std::string &src, const std::string &dest)
Definition: SplitWorld.cpp:438
escript::ComplexTensor4
Data ComplexTensor4(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:341
escript::Data::whereZero
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:1297
weipa::RipleyDomain
Represents a full Ripley domain including nodes and elements.
Definition: weipa/src/RipleyDomain.h:37
MPI_MAX
#define MPI_MAX
Definition: EsysMPI.h:54
escript::C_GeneralTensorProduct
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:3690
weipa::EscriptDataset::setMeshLabels
void setMeshLabels(const std::string x, const std::string y, const std::string z="")
Sets labels for the mesh axes.
Definition: EscriptDataset.cpp:559
escript::SolverBuddy::setDim
void setDim(int dim)
Definition: SolverOptions.cpp:830
escript::SolverBuddy::setAbsoluteTolerance
void setAbsoluteTolerance(double atol)
Definition: SolverOptions.cpp:578
escript::SolverBuddy::setLocalPreconditioner
void setLocalPreconditioner(bool local)
Definition: SolverOptions.cpp:778
escript::AbstractDomain::getStatus
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:48
escript::reducedSolution
FunctionSpace reducedSolution(const AbstractDomain &domain)
Return a FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:97
weipa::DataChunks
std::vector< DataVar_ptr > DataChunks
Definition: EscriptDataset.h:35
escript::AbstractSystemMatrix::resetValues
virtual void resetValues(bool preserveSolverData=false)
resets the matrix entries
Definition: AbstractSystemMatrix.cpp:130
escript::listEscriptParams
boost::python::list listEscriptParams()
describe available parameters.
Definition: EscriptParams.h:87
escript::SolverBuddy::isVerbose
bool isVerbose() const
Definition: SolverOptions.cpp:694
weipa::EscriptDataset::getMeshVariables
const VarVector & getMeshVariables() const
Returns a vector with the mesh variables.
Definition: EscriptDataset.h:149
escript::SO_PACKAGE_PASO
@ SO_PACKAGE_PASO
Definition: SolverOptions.h:90
escript::makeNonReducedVariable
Reducer_ptr makeNonReducedVariable()
Definition: NonReducedVariable.cpp:123
escript::AbstractContinuousDomain::addPDEToRHS
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 stiffness matrix mat and a rhs
Definition: AbstractContinuousDomain.cpp:158
escript::getNumberOfThreads
int getNumberOfThreads()
returns the number of threads
Definition: Utils.cpp:85
escript::AbstractSystemMatrix::nullifyRowsAndCols
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:113
escript::FunctionSpace::getNormal
escript::Data getNormal() const
Returns the surface normal field.
Definition: FunctionSpace.cpp:286
escript::Data::powD
Data powD(const Data &right) const
Return the given power of each data point of this Data object.
Definition: Data.cpp:3337
escript::functionOnContactZero
FunctionSpace functionOnContactZero(const AbstractDomain &domain)
Return a FunctionSpace on left side of contact.
Definition: FunctionSpaceFactory.cpp:67
escript::SolverBuddy::setRelaxationFactor
void setRelaxationFactor(double factor)
Definition: SolverOptions.cpp:626
escript::NcFType
char NcFType(const std::string &name)
Definition: NCHelper.cpp:28
SplitWorld.h
escript::AbstractDomain::onMasterProcessor
virtual bool onMasterProcessor() const =0
Return true if on MPI master, else false.
Utils.h
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:64
escript::Data::toString
std::string toString() const
Write the data as a string. For large amounts of data, a summary is printed.
Definition: Data.cpp:4643
ripley::RipleyDomain
RipleyDomain extends the AbstractContinuousDomain interface for the Ripley library and is the base cl...
Definition: ripley/src/RipleyDomain.h:103
weipa::EscriptDataset::domainChunks
DomainChunks domainChunks
Definition: EscriptDataset.h:179
escript::reducedFunctionOnContactZero
FunctionSpace reducedFunctionOnContactZero(const AbstractDomain &domain)
Return a FunctionSpace on left side of contact with reduced integration order.
Definition: FunctionSpaceFactory.cpp:73
escript::Data::whereNonPositive
Data whereNonPositive() const
Return a Data with a 1 for -ive or 0 values and a 0 for +ive values.
Definition: Data.cpp:1286
weipa::VarInfo::valid
bool valid
Definition: EscriptDataset.h:43
weipa::VarInfo::dataChunks
DataChunks dataChunks
Definition: EscriptDataset.h:41
escript::Data::resolve
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:1230
escript::FunctionSpace::getX
escript::Data getX() const
Returns the spatial locations of the data points.
Definition: FunctionSpace.cpp:229
escript::Data::powO
Data powO(const boost::python::object &right) const
Return the given power of each data point of this boost python object.
Definition: Data.cpp:3330
escript::Data::getShapeTuple
const boost::python::tuple getShapeTuple() const
Return the data point shape as a tuple of integers.
Definition: Data.cpp:724
weipa::EscriptDataset::externalDomain
bool externalDomain
Definition: EscriptDataset.h:178
escript::runMPIProgram
int runMPIProgram(bp::list args)
Definition: Utils.cpp:312
escript::SO_REORDERING_DEFAULT
@ SO_REORDERING_DEFAULT
Definition: SolverOptions.h:136
weipa::EscriptDataset::putSiloMultiMesh
void putSiloMultiMesh(DBfile *dbfile, const std::string &meshName)
Definition: EscriptDataset.cpp:1055
escript::Data::symmetric
Data symmetric() const
Return the symmetric part of a matrix which is half the matrix plus its transpose.
Definition: Data.cpp:2722
EscriptParams.h
weipa::EscriptDataset::cycle
int cycle
Definition: EscriptDataset.h:174
escript::SolverBuddy::acceptConvergenceFailure
bool acceptConvergenceFailure() const
Definition: SolverOptions.cpp:740
escript::SolverBuddy::setComplex
void setComplex(bool complex)
Definition: SolverOptions.cpp:643
escript::AbstractTransportProblem::getUnlimitedTimeStepSize
virtual double getUnlimitedTimeStepSize() const
Definition: AbstractTransportProblem.cpp:118
escript::FunctionSpace::setTags
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:304
escript::Data::toListOfTuples
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:1378
escript::diracDeltaFunctions
FunctionSpace diracDeltaFunctions(const AbstractDomain &domain)
Return a FunctionSpace.
Definition: FunctionSpaceFactory.cpp:103
escript::AbstractContinuousDomain::getDescription
virtual std::string getDescription() const
Return a description for this domain.
Definition: AbstractContinuousDomain.cpp:39
escript::FunctionSpace::getApproximationOrder
int getApproximationOrder() const
Returns the approximation order used for this function space.
Definition: FunctionSpace.cpp:359
escript::AbstractDomain::dump
virtual void dump(const std::string &filename) const =0
dumps the domain to an external file filename.
escript::Data::real
Data real() const
Definition: Data.cpp:1984
escript::AbstractDomain::setTagMap
virtual void setTagMap(const std::string &name, int tag)=0
sets a map from a clear tag name to a tag key
escript::Data::sin
Data sin() const
Return the sin of each data point of this Data object.
Definition: Data.cpp:2046
escript::Data::maxval
Data maxval() const
Return the maximum value of each data point of this Data object.
Definition: Data.cpp:2647
escript::SolverBuddy::getRelaxationFactor
double getRelaxationFactor() const
Definition: SolverOptions.cpp:633
escript::AbstractSystemMatrix::solve
Data solve(const Data &in, boost::python::object &options) const
returns the solution u of the linear system this*u=in
Definition: AbstractSystemMatrix.cpp:89
weipa::ElementData_ptr
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:67
escript::Data::besselFirstKind
Data besselFirstKind(int order)
Return the Bessel function of the first kind for each data point of this Data object.
Definition: Data.cpp:1857
weipa::EscriptDataset::mpiComm
void * mpiComm
Definition: EscriptDataset.h:185
escript::SolverBuddy::getInnerIterMax
int getInnerIterMax() const
Definition: SolverOptions.cpp:537
weipa::EscriptDataset::mpiRank
int mpiRank
Definition: EscriptDataset.h:181
escript::AbstractTransportProblem::resetTransport
virtual void resetTransport(bool preserveSolverData) const
resets the transport operator typically as they have been updated.
Definition: AbstractTransportProblem.cpp:110
escript::Data::acosh
Data acosh() const
Return the acosh of each data point of this Data object.
Definition: Data.cpp:2129
weipa::EscriptDataset::setSaveMeshData
void setSaveMeshData(bool flag)
Enables/Disables saving of mesh-related data.
Definition: EscriptDataset.h:134
escript::getMPIWorldSum
int getMPIWorldSum(int val)
returns sum of an integer over all processors with MPI_COMM_WORLD
Definition: Utils.cpp:124
escript::SolverBuddy::getInnerTolerance
double getInnerTolerance() const
Definition: SolverOptions.cpp:597
escript::SolverBuddy::setTolerance
void setTolerance(double rtol)
Definition: SolverOptions.cpp:566
escript::AbstractDomain::supportsContactElements
virtual bool supportsContactElements() const =0
escript::Data::cosh
Data cosh() const
Return the cosh of each data point of this Data object.
Definition: Data.cpp:2096
escript::AbstractDomain::getNormal
virtual escript::Data getNormal() const =0
Return boundary normals. The function space is chosen appropriately.
escript::SO_ODESOLVER_CRANK_NICOLSON
@ SO_ODESOLVER_CRANK_NICOLSON
Definition: SolverOptions.h:128
escript::FunctionSpace::getListOfTags
boost::python::list getListOfTags() const
Returns a list of the tags used in this function space.
Definition: FunctionSpace.cpp:343
escript::Data::eigenvalues_and_eigenvectors
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:2954
escript::Data::trace
Data trace(int axis_offset) const
Return the trace of a matrix.
Definition: Data.cpp:2848
speckley::SpeckleyDomain
SpeckleyDomain extends the AbstractContinuousDomain interface for the Speckley library and is the bas...
Definition: speckley/src/SpeckleyDomain.h:86
escript::Data::setTaggedValue
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:3594
escript::SolverBuddy::getName
const char * getName(int key) const
Definition: SolverOptions.cpp:119
escript::SO_METHOD_CGS
@ SO_METHOD_CGS
Definition: SolverOptions.h:97
escript::Data::minGlobalDataPoint
const boost::python::tuple minGlobalDataPoint() const
Definition: Data.cpp:2980
escript::reducedFunction
FunctionSpace reducedFunction(const AbstractDomain &domain)
Return a function FunctionSpace with reduced integration order.
Definition: FunctionSpaceFactory.cpp:49
SolverOptions.h
escript::Data::copySelf
Data copySelf() const
Return a pointer to a deep copy of this object.
Definition: Data.cpp:770
escript::SO_METHOD_CGLS
@ SO_METHOD_CGLS
Definition: SolverOptions.h:96
escript::Data::isEmpty
bool isEmpty() const
Definition: Data.cpp:1132
escript::Data::replaceInfPython
void replaceInfPython(boost::python::object obj)
Definition: Data.cpp:2465
escript::ComplexData
Data ComplexData(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:414
escript::Data::getNumDataPoints
int getNumDataPoints() const
Return the number of data points.
Definition: Data.h:523
weipa::EscriptDataset::EscriptDataset
EscriptDataset()
Default constructor.
Definition: EscriptDataset.cpp:76
escript::SplitWorld::runJobs
void runJobs()
Definition: SplitWorld.cpp:124
weipa::EscriptDataset::setExternalDomain
bool setExternalDomain(const DomainChunks &domain)
Definition: EscriptDataset.cpp:911
SubWorld.h
weipa::VarInfo
Definition: EscriptDataset.h:38
escript::Data::dump
void dump(const std::string fileName) const
dumps the object into a netCDF file
Definition: Data.cpp:5417
escript::SolverBuddy::setPackage
void setPackage(int package)
Definition: SolverOptions.cpp:414
weipa::EscriptDataset::getVariables
const VarVector & getVariables() const
Returns a vector with the dataset's variables.
Definition: EscriptDataset.h:146
escript::AbstractDomain::getDim
virtual int getDim() const =0
Returns the spatial dimension of the domain.
escript::Data::getValueOfGlobalDataPointAsTuple
const boost::python::object getValueOfGlobalDataPointAsTuple(int procNo, int dataPointNo)
Return a data point across all processors as a python tuple.
Definition: Data.cpp:1699
escript::SolverBuddy::getIterMax
int getIterMax() const
Definition: SolverOptions.cpp:549
escript::SO_METHOD_ROWSUM_LUMPING
@ SO_METHOD_ROWSUM_LUMPING
Definition: SolverOptions.h:113
escript::SO_PRECONDITIONER_AMG
@ SO_PRECONDITIONER_AMG
Definition: SolverOptions.h:117
escript::functionOnContactOne
FunctionSpace functionOnContactOne(const AbstractDomain &domain)
Return a FunctionSpace on right side of contact.
Definition: FunctionSpaceFactory.cpp:79
escript::Data::setItemD
void setItemD(const boost::python::object &key, const Data &value)
Copies slice from value into this Data object.
Definition: Data.cpp:3498
escript::SO_METHOD_ITERATIVE
@ SO_METHOD_ITERATIVE
Definition: SolverOptions.h:107
escript::SolverBuddy::setInnerToleranceAdaption
void setInnerToleranceAdaption(bool adaption)
Definition: SolverOptions.cpp:732
escript::Data::maxGlobalDataPoint
const boost::python::tuple maxGlobalDataPoint() const
Definition: Data.cpp:3083
escript::AbstractContinuousDomain::setNewX
virtual void setNewX(const escript::Data &arg)
assigns new location to the domain
Definition: AbstractContinuousDomain.cpp:210
escript::Tensor3
Data Tensor3(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.
Definition: DataFactory.cpp:256
NCHelper.h
escript::Data::copyWithMask
void copyWithMask(const Data &other, const Data &mask)
Copy other Data object into this Data object where mask is positive.
Definition: Data.cpp:851
escript::AbstractContinuousDomain::getSystemMatrixTypeId
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
escript::SolverBuddy::getReordering
SolverOptions getReordering() const
Definition: SolverOptions.cpp:492
escript::reducedFunctionOnContactOne
FunctionSpace reducedFunctionOnContactOne(const AbstractDomain &domain)
Return a FunctionSpace on right side of contact with reduced integration order.
Definition: FunctionSpaceFactory.cpp:85
escript::SolverBuddy::isSymmetric
bool isSymmetric() const
Definition: SolverOptions.cpp:648
escript::Data::__rsub__
boost::python::object __rsub__(const boost::python::object &right)
wrapper for python reverse subtract operation
Definition: Data.cpp:5960
escript::Data::transpose
Data transpose(int axis_offset) const
Transpose each data point of this Data object around the given axis.
Definition: Data.cpp:2903
escript::Data::delay
Data delay()
produce a delayed evaluation version of this Data.
Definition: Data.cpp:786
escript::SO_REORDERING_NESTED_DISSECTION
@ SO_REORDERING_NESTED_DISSECTION
Definition: SolverOptions.h:138
escript::setEscriptParamInt
void setEscriptParamInt(const std::string &name, int value)
Set the value of a named parameter. See listEscriptParams() for available parameters.
Definition: EscriptParams.h:69
escript::SO_METHOD_BICGSTAB
@ SO_METHOD_BICGSTAB
Definition: SolverOptions.h:95
escript::getTestDomainFunctionSpace
FunctionSpace getTestDomainFunctionSpace(int dpps, DataTypes::dim_t samples, int dpsize)
Definition: TestDomain.cpp:338
escript::SolverBuddy::getPreconditioner
SolverOptions getPreconditioner() const
Definition: SolverOptions.cpp:353
escript::DataTypes::releaseUnusedMemory
void releaseUnusedMemory()
releases unused memory in the memory manager.
Definition: DataVectorTaipan.cpp:41
escript::AbstractDomain::getSize
virtual escript::Data getSize() const =0
Returns the local size of samples. The function space is chosen appropriately.
escript::Data::hermitian
Data hermitian() const
Return the hermitian part of a matrix which is half the matrix plus its adjoint.
Definition: Data.cpp:2781
escript::AbstractDomain::getMPIComm
virtual MPI_Comm getMPIComm() const =0
get the communicator for this domain. Returns an integer on non-MPI builds Routine must be implemente...
escript::load
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:708
escript::AbstractTransportProblem::solve
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:50
escript::Data::whereNegative
Data whereNegative() const
Return a Data with a 1 for -ive values and a 0 for +ive or 0 values.
Definition: Data.cpp:1264
escript::Data::minval
Data minval() const
Return the minimum value of each data point of this Data object.
Definition: Data.cpp:2656
escript::SplitWorld::getSubWorldID
int getSubWorldID()
Definition: SplitWorld.cpp:433
escript::SolverBuddy::setHermitianOff
void setHermitianOff()
Definition: SolverOptions.cpp:681
AbstractContinuousDomain.h
escript::AbstractTransportProblem::getSafeTimeStepSize
virtual double getSafeTimeStepSize() const
Definition: AbstractTransportProblem.cpp:114
escript::Data::getValueOfDataPointAsTuple
const boost::python::object getValueOfDataPointAsTuple(int dataPointNo)
Return the value of a data point as a python tuple.
Definition: Data.cpp:1520
escript::SolverBuddy::setInnerIterMax
void setInnerIterMax(int iter_max)
Definition: SolverOptions.cpp:530
escript::SolverBuddy::setInnerToleranceAdaptionOn
void setInnerToleranceAdaptionOn()
Definition: SolverOptions.cpp:722
escript::SO_METHOD_MINRES
@ SO_METHOD_MINRES
Definition: SolverOptions.h:109
escript::Data::getXFromFunctionSpace
escript::Data getXFromFunctionSpace() const
Returns the spatial locations of the data points.
Definition: Data.h:474
escript::Data::log
Data log() const
Return the natural log of each data point of this Data object.
Definition: Data.cpp:2150
escript::Data::truedivD
Data truedivD(const Data &right)
Newer style division operator for python.
Definition: Data.h:2180
escript::printParallelThreadCnt
void printParallelThreadCnt()
print a message about how many MPI CPUs and OpenMP threads we're using
Definition: Utils.cpp:136
escript::Data::rpowO
Data rpowO(const boost::python::object &left) const
Return the given power of each data point of this boost python object.
Definition: Data.cpp:3323
escript::Data::__div__
boost::python::object __div__(const boost::python::object &right)
wrapper for python divide operation
Definition: Data.cpp:6009
weipa::EscriptDataset::updateSampleDistribution
void updateSampleDistribution(VarInfo &vi)
Definition: EscriptDataset.cpp:1031
escript::SolverBuddy::setVerbosityOn
void setVerbosityOn()
Definition: SolverOptions.cpp:699
escript::SO_METHOD_DIRECT_PARDISO
@ SO_METHOD_DIRECT_PARDISO
Definition: SolverOptions.h:102
escript::SolverBuddy::setSolverMethod
void setSolverMethod(int method)
Definition: SolverOptions.cpp:358
escript::canInterpolate
bool canInterpolate(FunctionSpace src, FunctionSpace dest)
Definition: FunctionSpace.cpp:34
WEIPA_DLL_API
#define WEIPA_DLL_API
Definition: weipa.h:38
escript
Definition: AbstractContinuousDomain.cpp:23
escript::Data::matrixInverse
Data matrixInverse() const
return inverse of matricies.
Definition: Data.cpp:3295
DataVector.h
escript::Data::inf
DataTypes::real_t inf()
Return the minimum value of this Data object.
Definition: Data.cpp:2303
weipa::EscriptDataset::meshLabels
StringVec meshLabels
Definition: EscriptDataset.h:177
escript::Data::wherePositive
Data wherePositive() const
Return a Data with a 1 for +ive values and a 0 for 0 or -ive values.
Definition: Data.cpp:1253
weipa::EscriptDataset::time
double time
Definition: EscriptDataset.h:175
escript::Data::isExpanded
bool isExpanded() const
Return true if this Data is expanded.
Definition: Data.cpp:1111
escript::SO_METHOD_CR
@ SO_METHOD_CR
Definition: SolverOptions.h:99
escript::SolverBuddy::setPreconditioner
void setPreconditioner(int preconditioner)
Definition: SolverOptions.cpp:331
escript::SO_METHOD_DIRECT_MUMPS
@ SO_METHOD_DIRECT_MUMPS
Definition: SolverOptions.h:101
escript::ComplexTensor3
Data ComplexTensor3(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:262
escript::Data::hasInf
bool hasInf()
Definition: Data.cpp:2434
escript::SolverBuddy::setSymmetry
void setSymmetry(bool symmetry)
Definition: SolverOptions.cpp:663
escript::Tensor
Data Tensor(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor datapoints. ie: rank 2 data-points.
Definition: DataFactory.cpp:176
escript::Data::nonuniformslope
Data nonuniformslope(boost::python::object in, boost::python::object out, bool check_boundaries)
Definition: Data.cpp:5308
escript::Data::getTagNumber
int getTagNumber(int dpno)
Return the tag number associated with the given data-point.
Definition: Data.cpp:3673
escript::Data::__sub__
boost::python::object __sub__(const boost::python::object &right)
wrapper for python subtract operation
Definition: Data.cpp:5936
escript::Data::antisymmetric
Data antisymmetric() const
Return the antisymmetric part of a matrix which is half the matrix minus its transpose.
Definition: Data.cpp:2745
weipa::EscriptDataset::saveVTK
void saveVTK(const std::string fileName)
Saves the dataset in the VTK XML file format.
Definition: EscriptDataset.cpp:488
escript::FunctionSpace::setTagsByString
void setTagsByString(const std::string &name, const escript::Data &mask) const
Definition: FunctionSpace.cpp:314
escript::SO_PRECONDITIONER_GAUSS_SEIDEL
@ SO_PRECONDITIONER_GAUSS_SEIDEL
Definition: SolverOptions.h:118
escript::SO_DEFAULT
@ SO_DEFAULT
Definition: SolverOptions.h:82
escript::getMPIWorldMax
int getMPIWorldMax(int val)
returns the maximum value of an integer over all processors within MPI_COMM_WORLD
Definition: Utils.cpp:112
weipa::EscriptDataset::mpiSize
int mpiSize
Definition: EscriptDataset.h:181
MPIScalarReducer.h
escript::hasFeature
bool hasFeature(const std::string &name)
returns true if escript was compiled with the feature name, false otherwise.
Definition: EscriptParams.h:96
escript::SO_PRECONDITIONER_NONE
@ SO_PRECONDITIONER_NONE
Definition: SolverOptions.h:122
weipa::StringVec
std::vector< std::string > StringVec
Definition: weipa.h:61
escript::FunctionSpace::getTypeCode
int getTypeCode() const
Returns the function space type code.
Definition: FunctionSpace.cpp:95
escript::Data::asinh
Data asinh() const
Return the asinh of each data point of this Data object.
Definition: Data.cpp:2122
escript::SolverBuddy::setDropTolerance
void setDropTolerance(double drop_tol)
Definition: SolverOptions.cpp:602
escript::SplitWorld::getVarPyList
boost::python::object getVarPyList()
Definition: SplitWorld.cpp:317
escript::FunctionSpace::getDim
int getDim() const
Return the number of spatial dimensions of the underlying domain.
Definition: FunctionSpace.h:183
dudley::DudleyDomain
DudleyDomain implements the AbstractContinuousDomain interface for the Dudley library.
Definition: DudleyDomain.h:86
escript::FunctionSpace::toString
std::string toString() const
Returns a text description of the function space.
Definition: FunctionSpace.cpp:118
escript::AbstractDomain::MPIBarrier
virtual void MPIBarrier() const =0
If compiled for MPI then execute an MPI_Barrier, else do nothing.
escript::Data::isLazy
bool isLazy() const
Return true if this Data is lazy.
Definition: Data.cpp:1146
escript::AbstractTransportProblem::isEmpty
int isEmpty() const
Definition: AbstractTransportProblem.cpp:44
escript::function
FunctionSpace function(const AbstractDomain &domain)
Return a function FunctionSpace.
Definition: FunctionSpaceFactory.cpp:43
escript::Vector
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:125
escript::Data::whereNonZero
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:1304
weipa::VarVector
std::vector< VarInfo > VarVector
Definition: EscriptDataset.h:46
escript::ComplexTensor3FromObj
Data ComplexTensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:309
escript::Data::setTupleForGlobalDataPoint
void setTupleForGlobalDataPoint(int id, int proc, boost::python::object)
Set the value of a global data point.
Definition: Data.cpp:1567
escript::SolverBuddy::setVerbosity
void setVerbosity(bool verbose)
Definition: SolverOptions.cpp:709
escript::AbstractDomain::getMPISize
virtual int getMPISize() const =0
return the number of processors used for this domain
weipa::EscriptDataset
Represents an escript dataset including a domain and data variables for one timestep.
Definition: EscriptDataset.h:64
AbstractSystemMatrix.h
weipa::EscriptDataset::getTime
double getTime() const
Returns the time value.
Definition: EscriptDataset.h:117
escript::Data::setValueOfDataPointToArray
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:1612
weipa::EscriptDataset::setCycleAndTime
void setCycleAndTime(int c, double t)
Sets the cycle number and time value for this dataset.
Definition: EscriptDataset.h:111
escript::functionOnBoundary
FunctionSpace functionOnBoundary(const AbstractDomain &domain)
Return a function on boundary FunctionSpace.
Definition: FunctionSpaceFactory.cpp:55
escript::Data::setItemO
void setItemO(const boost::python::object &key, const boost::python::object &value)
Definition: Data.cpp:3490
escript::condEval
Data condEval(escript::Data &mask, escript::Data &trueval, escript::Data &falseval)
Definition: Data.cpp:5648
escript::SolverBuddy::setODESolver
void setODESolver(int solver)
Definition: SolverOptions.cpp:798
MPI_Comm
int MPI_Comm
Definition: EsysMPI.h:42
escript::Data::log10
Data log10() const
Return the log to base 10 of each data point of this Data object.
Definition: Data.cpp:2143
escript::Data::pos
Data pos() const
Return the identity of each data point of this Data object. Simply returns this object unmodified.
Definition: Data.cpp:2179
escript::ComplexScalarFromObj
Data ComplexScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Complex Scalar factory.
Definition: DataFactory.cpp:104
escript::Data::__rdiv__
boost::python::object __rdiv__(const boost::python::object &right)
wrapper for python reverse divide operation
Definition: Data.cpp:6033
escript::SolverBuddy::setHermitian
void setHermitian(bool hermitian)
Definition: SolverOptions.cpp:686
escript::Data::replaceNaNPython
void replaceNaNPython(boost::python::object obj)
replaces all NaN values with value
Definition: Data.cpp:2420
escript::VectorFromObj
Data VectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:139
escript::Data::imag
Data imag() const
Definition: Data.cpp:2003
escript::Data::hasNaN
bool hasNaN()
returns return true if data contains NaN.
Definition: Data.cpp:2389
escript::SolverBuddy::setAcceptanceConvergenceFailureOff
void setAcceptanceConvergenceFailureOff()
Definition: SolverOptions.cpp:750
escript::AbstractContinuousDomain::getDataShape
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
escript::SolverBuddy::setInnerTolerance
void setInnerTolerance(double rtol)
Definition: SolverOptions.cpp:590
Data.h
weipa::VarInfo::varName
std::string varName
Definition: EscriptDataset.h:39
escript::AbstractDomain
Base class for all escript domains.
Definition: AbstractDomain.h:51
escript::Tensor3FromObj
Data Tensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:284
escript::AbstractContinuousDomain::newTransportProblem
virtual ATP_ptr newTransportProblem(const int blocksize, const escript::FunctionSpace &functionspace, const int type) const
creates a TransportProblemAdapter
Definition: AbstractContinuousDomain.cpp:189
weipa::EscriptDataset::setDomain
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:112
weipa::MESH_VARS
const char * MESH_VARS
Definition: EscriptDataset.cpp:71
escript::Data::copy
void copy(const Data &other)
Make this object a deep copy of "other".
Definition: Data.cpp:777
escript::getMPIRankWorld
int getMPIRankWorld()
returns the MPI processor number within MPI_COMM_WORLD
Definition: Utils.cpp:103
escript::AbstractDomain::showTagNames
virtual std::string showTagNames() const =0
Returns all tag names in a single string sperated by commas.
escript::raw_addJobPerWorld
boost::python::object raw_addJobPerWorld(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:492
weipa::EscriptDataset::loadData
bool loadData(const std::string filePattern, const std::string name, const std::string units)
Definition: EscriptDataset.cpp:947
escript::convertToNumpy
void convertToNumpy(escript::Data data)
Definition: Utils.cpp:981
escript::raw_addVariable
boost::python::object raw_addVariable(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:513
escript::SplitWorld::getLocalObjectVariable
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SplitWorld.cpp:36
escript::Data::neg
Data neg() const
Return the negation of each data point of this Data object.
Definition: Data.cpp:2172
escript::SO_PRECONDITIONER_RILU
@ SO_PRECONDITIONER_RILU
Definition: SolverOptions.h:124
escript::Data::nonuniforminterp
Data nonuniforminterp(boost::python::object in, boost::python::object out, bool check_boundaries)
Definition: Data.cpp:5232
escript::SO_PACKAGE_TRILINOS
@ SO_PACKAGE_TRILINOS
Definition: SolverOptions.h:91
escript::SolverBuddy::setTrilinosParameter
void setTrilinosParameter(const std::string &name, const boost::python::object &value)
Definition: SolverOptions.cpp:817
weipa::DomainChunk_ptr
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:66
escript::SolverBuddy::adaptInnerTolerance
bool adaptInnerTolerance() const
Definition: SolverOptions.cpp:717
escript::Data::setValueOfDataPointToPyObject
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:1559
escript::Data::acos
Data acos() const
Return the acos of each data point of this Data object.
Definition: Data.cpp:2074
escript::AbstractContinuousDomain::Print_Mesh_Info
virtual void Print_Mesh_Info(const bool full=false) const
Definition: AbstractContinuousDomain.cpp:216
escript::SO_PACKAGE_MKL
@ SO_PACKAGE_MKL
Definition: SolverOptions.h:89
escript::ComplexTensor4FromObj
Data ComplexTensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:388
escript::SO_PRECONDITIONER_JACOBI
@ SO_PRECONDITIONER_JACOBI
Definition: SolverOptions.h:121
escript::Data::expand
void expand()
Whatever the current Data type make this into a DataExpanded.
Definition: Data.cpp:1180
weipa::IntVec
std::vector< int > IntVec
Definition: weipa.h:60
escript::SolverBuddy::setLocalPreconditionerOn
void setLocalPreconditionerOn()
Definition: SolverOptions.cpp:768
escript::SO_METHOD_PRES20
@ SO_METHOD_PRES20
Definition: SolverOptions.h:112
weipa::EscriptDataset::~EscriptDataset
~EscriptDataset()
Destructor.
Definition: EscriptDataset.cpp:105
ExceptionTranslators.h
weipa::EscriptDataset::wantsMeshVars
bool wantsMeshVars
Definition: EscriptDataset.h:178
escript::SolverBuddy::getDropStorage
double getDropStorage() const
Definition: SolverOptions.cpp:621
escript::SO_PACKAGE_UMFPACK
@ SO_PACKAGE_UMFPACK
Definition: SolverOptions.h:92
escript::setNumberOfThreads
void setNumberOfThreads(int num_threads)
set the number of threads
Definition: Utils.cpp:78
escript::SolverBuddy::setLocalPreconditionerOff
void setLocalPreconditionerOff()
Definition: SolverOptions.cpp:773
escript::randomData
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:5872
escript::Data::conjugate
Data conjugate() const
For complex values return the conjugate values. For non-complex data return a copy.
Definition: Data.cpp:1964
escript::SO_METHOD_TFQMR
@ SO_METHOD_TFQMR
Definition: SolverOptions.h:114
escript::SO_METHOD_PCG
@ SO_METHOD_PCG
Definition: SolverOptions.h:111
weipa::DataVar
A class that provides functionality to read an escript data object from a dump file or an escript::Da...
Definition: DataVar.h:37
escript::Data::setProtection
void setProtection()
switches on update protection
Definition: Data.cpp:1166
escript::Tensor4
Data Tensor4(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.
Definition: DataFactory.cpp:335
escript::Data::asin
Data asin() const
Return the asin of each data point of this Data object.
Definition: Data.cpp:2067
weipa::EscriptDataset::setMetadataSchemaString
void setMetadataSchemaString(const std::string schema, const std::string metadata)
Sets a metadata schema and content.
Definition: EscriptDataset.h:129
escript::SolverBuddy::getTrilinosParameters
boost::python::dict getTrilinosParameters() const
Definition: SolverOptions.cpp:825
escript::Data::sqrt
Data sqrt() const
Return the square root of each data point of this Data object.
Definition: Data.cpp:2198
escript::raw_buildDomains
boost::python::object raw_buildDomains(boost::python::tuple t, boost::python::dict kwargs)
Definition: SplitWorld.cpp:456
escript::ComplexTensor
Data ComplexTensor(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:182
weipa::EscriptDataset::setMeshUnits
void setMeshUnits(const std::string x, const std::string y, const std::string z="")
Sets units for the mesh axes.
Definition: EscriptDataset.cpp:571
escript::Data::isProtected
bool isProtected() const
Returns true, if the data object is protected against update.
Definition: Data.cpp:1172
escript::SolverBuddy::getODESolver
SolverOptions getODESolver() const
Definition: SolverOptions.cpp:812
escript::SplitWorld::clearVariable
void clearVariable(std::string name)
Definition: SplitWorld.cpp:306
escript::AbstractDomain::getMPIRank
virtual int getMPIRank() const =0
return the number MPI rank of this processor
escript::getMachinePrecision
double getMachinePrecision()
returns the machine precision
Definition: Utils.cpp:367
escript::Data::eigenvalues
Data eigenvalues() const
Return the eigenvalues of the symmetric part at each data point of this Data object in increasing val...
Definition: Data.cpp:2927
TestDomain.h
escript::FunctionSpace::getTagFromDataPointNo
int getTagFromDataPointNo(DataTypes::dim_t dataPointNo) const
Returns the tag associated with the given data-point number.
Definition: FunctionSpace.cpp:150
weipa::EscriptDataset::convertMeshVariables
void convertMeshVariables()
Definition: EscriptDataset.cpp:1004
escript::SO_METHOD_CHOLEVSKY
@ SO_METHOD_CHOLEVSKY
Definition: SolverOptions.h:98
escript::SolverBuddy::getRestart
int getRestart() const
Definition: SolverOptions.cpp:505
FunctionSpace.h
weipa::EscriptDataset::getMPIComm
void * getMPIComm()
Definition: EscriptDataset.h:156
escript::solution
FunctionSpace solution(const AbstractDomain &domain)
Return a FunctionSpace.
Definition: FunctionSpaceFactory.cpp:91
escript::AbstractContinuousDomain::addPDEToTransportProblem
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
weipa::EscriptDataset::putSiloMultiVar
void putSiloMultiVar(DBfile *dbfile, const VarInfo &vi, bool useMeshFile=false)
Definition: EscriptDataset.cpp:1123
weipa::FinleyDomain
Represents a full Finley or Dudley domain including nodes and elements.
Definition: weipa/src/FinleyDomain.h:43
escript::SO_INTERPOLATION_CLASSIC
@ SO_INTERPOLATION_CLASSIC
Definition: SolverOptions.h:132
escript::Data::getDataPointRank
unsigned int getDataPointRank() const
Return the rank of the point data.
Definition: Data.h:512