50 if (not words.empty())
Eigen::Matrix< CepsScalar, 3, 3 > CepsMathTensor
Tensor, eigen format.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
CepsBool hasAnalyticSolution() const
Tells if there is an analytic or reference solution.
void setProblemName(const CepsString &name)
Set the name of the problem.
void addUnknown(const CepsString &label, CepsSet< CepsAttribute > attrs={}, CepsLocationFlag flag=CepsLocationFlag::Point, const CepsString &unit="")
Register a new unknown.
InputParameters * m_parameters
Input file data.
Astract Problem which does depend on time.
void initializeEquation() override
Initializes equations (unknowns, bc, source term) and creates the spatial discretization This method ...
CepsArray2< CepsArray3< CepsArray3< CepsReal > > > m_errors
Will store Linf, L1 and L2 relative errors.
void solve() override
Solves the all PDE (all iterations)
CepsArray2< CepsArray3< CepsArray3< CepsReal > > > getErrors() const
Gets the currently computed errors. First index selects absolute(0) or relative(1) second index selec...
Profiler * getProfiler() const
Access to profiler.
Encapsulates all the geometrical data.
CepsMathTensor m_k
Diffusion tensor.
HeatProblem(Geometry *g, InputParameters *p=nullptr, const CepsMathTensor &k=CepsMathTensor::Identity())
Constructor from geometry and optional input file.
virtual CepsMathTensor getDiffusionTensor(Unknown *u=nullptr) const
Diffusion tensor.
void defineUnknowns() override
Lists the unknowns of the problem (one here)
void defineSourceTerms() override
Lists the unknowns of the problem (one here)
void run() override
Computes the solution.
~HeatProblem() override
Destructor.
void setupWithParameters(InputParameters *params) override
Set attributes from input file. Parameters are passed as arguments in case one wants to use other par...
void stop(CepsString lbl)
Stops the measure of a labeled chronometer.
void start(CepsString lbl, CepsString dspl="")
Creates or continue a labeled chronometer.
A class used to defined an unknown of a PDE problem The unknown can be defined on a specific region,...
CepsMathTensor toMathTensor(const CepsVector< CepsString > &vec)
Cast a CepsVector of CepsString to CepsMathTensor.
CepsBool isValidPtr(_Type *ptr)
Tells if pointer is not null.
CepsVector< CepsString > split(const CepsString &s, const CepsString &delimiters=CepsString(" \t"))
Splits a string using mulitple delimiters in a single string.
CepsBool isProfiling()
Check if we are currently profiling on the master proc (always false on slave procs).