13 #ifndef KRATOS_CALCULATE_LAPLACIAN_SIMPLEX_CONDITION_H
14 #define KRATOS_CALCULATE_LAPLACIAN_SIMPLEX_CONDITION_H
63 template<
unsigned int TDim,
unsigned int TNumNodes = TDim >
126 GeometryType::Pointer pGeometry):
138 GeometryType::Pointer pGeometry,
139 PropertiesType::Pointer pProperties):
179 GeometryType::Pointer pGeom,
180 PropertiesType::Pointer pProperties)
const override
182 return Kratos::make_intrusive< ComputeLaplacianSimplexCondition >(NewId, pGeom, pProperties);
194 const SizeType LocalSize = BlockSize * TNumNodes;
196 if (rLeftHandSideMatrix.size1() != LocalSize)
197 rLeftHandSideMatrix.
resize(LocalSize,LocalSize);
199 if (rRightHandSideVector.size() != LocalSize)
200 rRightHandSideVector.
resize(LocalSize);
214 const SizeType LocalSize = BlockSize * TNumNodes;
216 if (rLeftHandSideMatrix.size1() != LocalSize)
217 rLeftHandSideMatrix.
resize(LocalSize,LocalSize);
284 void EquationIdVector(EquationIdVectorType& rResult,
const ProcessInfo& rCurrentProcessInfo)
const override;
292 void GetDofList(DofsVectorType& ConditionDofList,
const ProcessInfo& CurrentProcessInfo)
const override;
309 std::string
Info()
const override
311 std::stringstream buffer;
312 buffer <<
"ComputeLaplacianSimplexCondition" << TDim <<
"D";
319 rOStream <<
"ComputeLaplacianSimplexCondition";
383 void save(
Serializer& rSerializer)
const override
435 template<
unsigned int TDim,
unsigned int TNumNodes >
443 template<
unsigned int TDim,
unsigned int TNumNodes >
448 rOStream << std::endl;
Implements a wall condition for the laplacian recovery.
Definition: calculate_laplacian_simplex_condition.h:65
std::size_t SizeType
Definition: calculate_laplacian_simplex_condition.h:86
ComputeLaplacianSimplexCondition(ComputeLaplacianSimplexCondition const &rOther)
Copy constructor.
Definition: calculate_laplacian_simplex_condition.h:144
Geometry< NodeType > GeometryType
Definition: calculate_laplacian_simplex_condition.h:76
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: calculate_laplacian_simplex_condition.h:92
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: calculate_laplacian_simplex_condition.h:90
ComputeLaplacianSimplexCondition(IndexType NewId, GeometryType::Pointer pGeometry)
Constructor using Geometry.
Definition: calculate_laplacian_simplex_condition.h:125
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(ComputeLaplacianSimplexCondition)
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Return local right hand side of the correct size, filled with zeros (for compatibility with time sche...
Definition: calculate_laplacian_simplex_condition.h:226
Condition::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Create a new ComputeLaplacianSimplexCondition object.
Definition: calculate_laplacian_simplex_condition.h:173
std::vector< std::size_t > EquationIdVectorType
Definition: calculate_laplacian_simplex_condition.h:88
Properties PropertiesType
Definition: calculate_laplacian_simplex_condition.h:74
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: calculate_laplacian_simplex_condition.h:317
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition: calculate_laplacian_simplex_condition.h:78
std::size_t IndexType
Definition: calculate_laplacian_simplex_condition.h:84
void CalculateNormal(array_1d< double, 3 > &An)
Node NodeType
Definition: calculate_laplacian_simplex_condition.h:72
ComputeLaplacianSimplexCondition(IndexType NewId, const NodesArrayType &ThisNodes)
Constructor using an array of nodes.
Definition: calculate_laplacian_simplex_condition.h:114
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Return local contributions of the correct size, filled with zeros (for compatibility with time scheme...
Definition: calculate_laplacian_simplex_condition.h:189
void CalculateLeftHandSide(MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override
Return a matrix of the correct size, filled with zeros (for compatibility with time schemes).
Definition: calculate_laplacian_simplex_condition.h:211
std::string Info() const override
Turn back information as a string.
Definition: calculate_laplacian_simplex_condition.h:309
Vector VectorType
Definition: calculate_laplacian_simplex_condition.h:80
virtual ~ComputeLaplacianSimplexCondition()
Destructor.
Definition: calculate_laplacian_simplex_condition.h:148
Condition::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override
It creates a new condition pointer.
Definition: calculate_laplacian_simplex_condition.h:178
ComputeLaplacianSimplexCondition & operator=(ComputeLaplacianSimplexCondition const &rOther)
Assignment operator.
Definition: calculate_laplacian_simplex_condition.h:156
ComputeLaplacianSimplexCondition(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
Constructor using Properties.
Definition: calculate_laplacian_simplex_condition.h:137
Matrix MatrixType
Definition: calculate_laplacian_simplex_condition.h:82
ComputeLaplacianSimplexCondition(IndexType NewId=0)
Default constructor.
Definition: calculate_laplacian_simplex_condition.h:104
Base class for all Conditions.
Definition: condition.h:59
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: condition.h:1085
std::size_t SizeType
Definition: condition.h:94
Condition & operator=(Condition const &rOther)
Assignment operator.
Definition: condition.h:181
std::size_t IndexType
Definition: flags.h:74
Geometry base class.
Definition: geometry.h:71
This object defines an indexed object.
Definition: indexed_object.h:54
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
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
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
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