46 "Cannot initialize functor dependant on distributed vector, as passed ptr to vector is null"
66 m_sol->get()->getLocalData();
72 m_sol->get()->releaseLocalData();
81 "Cannot initialize a functor on distributed vector with a flag that is not DofIndex, CellIndex or NodeIndex"
91 args.
u = (**m_sol)[args.
cellId];
93 args.
u = (**m_sol)[args.
nodeId];
95 args.
u = (**m_sol)[args.
dofId];
CepsFunctionFlag
Enum for CepsStandardArgs functions.
@ CellIndex
Use cell index to determine position.
@ NodeIndex
Use node index to determine position.
@ Solution
Depends on the content of a solution vector with values at dofs.
@ DofIndex
Use dof index to determine position.
#define CEPS_ABORT_IF(condition, message)
Stops the execution with a message if condition is true. If testing is enabled, only throws a runtime...
CepsScalar CepsMathScalar
Real numbers.
std::shared_ptr< DistributedHaloVector > DHVecPtr
Typedef for pointer on Distributed Halo CepsVector.
A SAFunc is a ceps::Function that uses CepsStandardArgs as argument of call operator (),...
A SAFunc which gets its values from a distributed vector of values on degrees of freedom.
void setDataPointer(DHVecPtr *sol)
Sets the link to data.
virtual void releaseLocalData() final
Authorize access to data for solvecSAFunc, other derived classes : nothing.
void checkLocation(const CepsFunctionFlag &loc)
Determines if flag passed in constructor is valid (cells or nodes ID)
CepsFunctionFlag m_location
To get the correct index in the vector.
DHVecPtr * m_sol
Pointed data.
SolVecSAFunc(DHVecPtr *sol, CepsFunctionFlag loc)
Default constructor. Vector is passed as pointer on pointer in order to pass a U^n,...
CepsEnum getFlags() const final
Return the vector dependance flag + location, does not mean that the content of the vector can not ch...
void setArgsFromLocation(CepsStandardArgs &args) const
Sets args.u from the location flag.
virtual void getLocalData() final
Authorize access to data for solvecSAFunc, other derived classes : nothing.
constexpr auto toIntegral(_Enum e) -> typename std::underlying_type< _Enum >::type
Converts an enum type variable to an integer.
CepsEnum getFlagsOf(ArraySAFunc< _Result > *f)
get functor options
CepsBool isNullPtr(_Type *ptr)
Tells if passed pointer is null.
Structure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extract...
CepsNodeGlobalIndex nodeId
node index
CepsCellGlobalIndex cellId
cell index
CepsDofGlobalIndex dofId
dof index