7 #if !defined(KRATOS_COMPUTE_GRADIENT_POULIOT_2012_H_INCLUDED )
8 #define KRATOS_COMPUTE_GRADIENT_POULIOT_2012_H_INCLUDED
25 #include "utilities/geometry_utilities.h"
60 template<
unsigned int TDim,
61 unsigned int TNumNodes = TDim + 1 >
147 BaseType(NewId, pGeometry, pProperties)
173 PropertiesType::Pointer pProperties)
const override
190 virtual void EquationIdVector(EquationIdVectorType& rResult,
const ProcessInfo& rCurrentProcessInfo)
const override;
197 virtual void GetDofList(DofsVectorType& rElementalDofList,
const ProcessInfo& rCurrentProcessInfo)
const override;
208 virtual int Check(
const ProcessInfo& rCurrentProcessInfo)
const override;
220 virtual std::string
Info()
const override
222 std::stringstream buffer;
223 buffer <<
"ComputeGradientPouliot2012 #" << this->Id();
228 virtual void PrintInfo(std::ostream& rOStream)
const override
230 rOStream <<
"ComputeGradientPouliot2012" << TDim <<
"D";
307 virtual void AddPouliot2012LHS(
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo);
309 virtual void AddPouliot2012StabilizationLHS(
const double epsilon,
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo);
311 virtual void AddFEMLaplacianStabilizationLHS(
const double epsilon,
MatrixType& rLeftHandSideMatrix,
const ProcessInfo& rCurrentProcessInfo);
313 void AssembleEdgeLHSContribution(
const unsigned int edge[2],
const array_1d<double, 3>& edge_normalized_vector,
MatrixType& rLeftHandSideMatrix);
317 virtual void AddStabilizationRHSContribution(
VectorType&
F,
319 const double Weight);
321 void CalculateStabilizationRHS(
const double epsilon,
VectorType&
F,
const ProcessInfo& rCurrentProcessInfo);
323 void AssembleEdgeRHSContributionX(
const unsigned int edge[2],
const double h_edge_inv,
const array_1d<double, 3>& edge_normalized_vector,
VectorType&
F);
325 void AssembleEdgeRHSContributionY(
const unsigned int edge[2],
const double h_edge_inv,
const array_1d<double, 3>& edge_normalized_vector,
VectorType&
F);
327 void AssembleEdgeRHSContributionZ(
const unsigned int edge[2],
const double h_edge_inv,
const array_1d<double, 3>& edge_normalized_vector,
VectorType&
F);
371 template<
unsigned int TDim >
379 template<
unsigned int TDim >
384 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
A post-processing element to recover the Laplacian from the velocity solution.
Definition: calculate_component_gradient_simplex_element.h:63
A post-processing element to recover the Laplacian from the velocity solution.
Definition: calculate_gradient_Pouliot_2012.h:63
std::vector< std::size_t > EquationIdVectorType
Definition: calculate_gradient_Pouliot_2012.h:93
ComputeGradientPouliot2012(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Constuctor using geometry and properties.
Definition: calculate_gradient_Pouliot_2012.h:146
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition of nodes container type, redefined from GeometryType.
Definition: calculate_gradient_Pouliot_2012.h:79
Kratos::Vector ShapeFunctionsType
Type for shape function values container.
Definition: calculate_gradient_Pouliot_2012.h:100
ComputeGradientPouliot2012(IndexType NewId=0)
Default constuctor.
Definition: calculate_gradient_Pouliot_2012.h:118
ComputeGradientPouliot2012(IndexType NewId, const NodesArrayType &ThisNodes)
Constructor using an array of nodes.
Definition: calculate_gradient_Pouliot_2012.h:127
GeometryType::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: calculate_gradient_Pouliot_2012.h:106
std::size_t SizeType
Definition: calculate_gradient_Pouliot_2012.h:91
Geometry< NodeType > GeometryType
Geometry type (using with given NodeType)
Definition: calculate_gradient_Pouliot_2012.h:76
virtual std::string Info() const override
Turn back information as a string.
Definition: calculate_gradient_Pouliot_2012.h:220
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: calculate_gradient_Pouliot_2012.h:97
Node NodeType
Node type (default is: Node)
Definition: calculate_gradient_Pouliot_2012.h:73
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Create a new element of this type.
Definition: calculate_gradient_Pouliot_2012.h:172
virtual ~ComputeGradientPouliot2012()
Destructor.
Definition: calculate_gradient_Pouliot_2012.h:151
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: calculate_gradient_Pouliot_2012.h:85
Kratos::Matrix ShapeFunctionDerivativesType
Type for a matrix containing the shape function gradients.
Definition: calculate_gradient_Pouliot_2012.h:103
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(ComputeGradientPouliot2012)
Pointer definition of ComputeGradientPouliot2012.
ComputeComponentGradientSimplex< TDim, TNumNodes > BaseType
Definition: calculate_gradient_Pouliot_2012.h:71
Properties PropertiesType
Definition: calculate_gradient_Pouliot_2012.h:87
ComputeGradientPouliot2012(IndexType NewId, GeometryType::Pointer pGeometry)
Constructor using a geometry object.
Definition: calculate_gradient_Pouliot_2012.h:136
Vector VectorType
Vector type for local contributions to the linear system.
Definition: calculate_gradient_Pouliot_2012.h:82
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: calculate_gradient_Pouliot_2012.h:228
std::size_t IndexType
Definition: calculate_gradient_Pouliot_2012.h:89
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: calculate_gradient_Pouliot_2012.h:95
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: element.h:1135
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
Geometry base class.
Definition: geometry.h:71
This object defines an indexed object.
Definition: indexed_object.h:54
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
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.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
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
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
F
Definition: hinsberg_optimization.py:144