13 #if !defined(KRATOS_CONVECTION_DIFFUSION_REACTION_ELEMENT_H_INCLUDED)
14 #define KRATOS_CONVECTION_DIFFUSION_REACTION_ELEMENT_H_INCLUDED
33 unsigned int TNumNodes,
34 class TConvectionDiffusionReactionData>
108 GeometryType::Pointer pGeometry)
118 GeometryType::Pointer pGeometry,
119 typename PropertiesType::Pointer pProperties)
120 :
Element(NewId, pGeometry, pProperties)
157 typename PropertiesType::Pointer pProperties)
const override
160 return Kratos::make_intrusive<CurrentElementType>(
174 GeometryType::Pointer pGeom,
175 typename PropertiesType::Pointer pProperties)
const override
178 return Kratos::make_intrusive<CurrentElementType>(NewId, pGeom, pProperties);
194 return Kratos::make_intrusive<CurrentElementType>(
201 const ProcessInfo& CurrentProcessInfo)
const override;
210 const ProcessInfo& CurrentProcessInfo)
const override;
214 int Step = 0)
const override;
218 int Step = 0)
const override;
222 int Step = 0)
const override;
311 std::string
Info()
const override
313 std::stringstream buffer;
314 buffer <<
"ConvectionDiffusionReactionElement #" <<
Id();
320 rOStream <<
"CDR" << TConvectionDiffusionReactionData::GetName();
337 const int Step = 0)
const;
353 const double Mass)
const;
357 const double ReactionTerm,
358 const double EffectiveKinematicViscosity,
359 const Vector& rVelocityConvectiveTerms,
360 const double GaussWeight,
361 const Vector& rGaussShapeFunctions,
362 const Matrix& rGaussdNa_dNb)
const;
372 void save(
Serializer& rSerializer)
const override
397 template <
unsigned int TDim,
unsigned int TNumNodes,
class TConvectionDiffusionReactionData>
399 std::istream& rIStream,
403 template <
unsigned int TDim,
unsigned int TNumNodes,
class TConvectionDiffusionReactionData>
405 std::ostream& rOStream,
409 rOStream <<
" : " << std::endl;
Definition: convection_diffusion_reaction_element.h:36
void AddDampingMatrixGaussPointContributions(Matrix &rDampingMatrix, const double ReactionTerm, const double EffectiveKinematicViscosity, const Vector &rVelocityConvectiveTerms, const double GaussWeight, const Vector &rGaussShapeFunctions, const Matrix &rGaussdNa_dNb) const
Definition: convection_diffusion_reaction_element.cpp:317
void AddLumpedMassMatrix(Matrix &rMassMatrix, const double Mass) const
Definition: convection_diffusion_reaction_element.cpp:307
void GetValuesVector(Vector &rValues, int Step=0) const override
Definition: convection_diffusion_reaction_element.cpp:74
Element::Pointer Clone(IndexType NewId, NodesArrayType const &ThisNodes) const override
Definition: convection_diffusion_reaction_element.h:189
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, typename PropertiesType::Pointer pProperties) const override
Definition: convection_diffusion_reaction_element.h:154
TConvectionDiffusionReactionData ConvectionDiffusionReactionDataType
Definition: convection_diffusion_reaction_element.h:69
Element::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, typename PropertiesType::Pointer pProperties) const override
Definition: convection_diffusion_reaction_element.h:172
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: convection_diffusion_reaction_element.cpp:134
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &CurrentProcessInfo) const override
Definition: convection_diffusion_reaction_element.cpp:40
ConvectionDiffusionReactionElement(ConvectionDiffusionReactionElement const &rOther)
Definition: convection_diffusion_reaction_element.h:127
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: convection_diffusion_reaction_element.h:56
ConvectionDiffusionReactionElement(IndexType NewId=0)
Definition: convection_diffusion_reaction_element.h:87
std::string Info() const override
Turn back information as a string.
Definition: convection_diffusion_reaction_element.h:311
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(ConvectionDiffusionReactionElement)
ConvectionDiffusionReactionElement(IndexType NewId, GeometryType::Pointer pGeometry, typename PropertiesType::Pointer pProperties)
Definition: convection_diffusion_reaction_element.h:116
std::vector< IndexType > EquationIdVectorType
Definition: convection_diffusion_reaction_element.h:60
ConvectionDiffusionReactionElement(IndexType NewId, const NodesArrayType &ThisNodes)
Definition: convection_diffusion_reaction_element.h:96
void CalculateMassMatrix(MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: convection_diffusion_reaction_element.cpp:199
GeometryType::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: convection_diffusion_reaction_element.h:65
void GetSecondDerivativesVector(Vector &rValues, int Step=0) const override
Definition: convection_diffusion_reaction_element.cpp:114
void CalculateDampingMatrix(MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: convection_diffusion_reaction_element.cpp:227
void GetDofList(DofsVectorType &rElementalDofList, const ProcessInfo &CurrentProcessInfo) const override
Definition: convection_diffusion_reaction_element.cpp:57
virtual void CalculateGeometryData(Vector &rGaussWeights, Matrix &rNContainer, ShapeFunctionDerivativesArrayType &rDN_DX) const
Calculates shape function data for this element.
Definition: convection_diffusion_reaction_element.cpp:294
void GetValuesArray(BoundedVector< double, TNumNodes > &rValues, const int Step=0) const
Get the Values Array.
Definition: convection_diffusion_reaction_element.cpp:82
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: convection_diffusion_reaction_element.cpp:274
~ConvectionDiffusionReactionElement() override=default
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: convection_diffusion_reaction_element.h:62
void GetFirstDerivativesVector(Vector &rValues, int Step=0) const override
Definition: convection_diffusion_reaction_element.cpp:99
ConvectionDiffusionReactionElement(IndexType NewId, GeometryType::Pointer pGeometry)
Definition: convection_diffusion_reaction_element.h:106
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: convection_diffusion_reaction_element.cpp:151
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: convection_diffusion_reaction_element.h:318
void CalculateLocalVelocityContribution(MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
CalculateLocalVelocityContribution Calculate the local contribution in terms of velocity and pressure...
Definition: convection_diffusion_reaction_element.cpp:190
GeometryData::IntegrationMethod GetIntegrationMethod() const override
Definition: convection_diffusion_reaction_element.cpp:288
Base class for all Elements.
Definition: element.h:60
Properties PropertiesType
Definition: element.h:80
Element(IndexType NewId=0)
Definition: element.h:121
std::vector< DofType::Pointer > DofsVectorType
Definition: element.h:100
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: element.h:1135
std::vector< std::size_t > EquationIdVectorType
Definition: element.h:98
PropertiesType::Pointer pGetProperties()
returns the pointer to the property of the element. Does not throw an error, to allow copying of elem...
Definition: element.h:1014
std::size_t IndexType
Definition: flags.h:74
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
GeometryType & GetGeometry()
Returns the reference of the geometry.
Definition: geometrical_object.h:158
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
GeometryData::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
Definition: geometry.h:189
IndexType Id() const
Definition: indexed_object.h:107
This class defines the node.
Definition: node.h:65
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307