KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This class constructs nodal approximations of the derivatives of a field given a Lagrangian linear FEM approximation of it. More...
#include <derivative_recovery.h>
Public Member Functions | |
Life Cycle | |
DerivativeRecovery (ModelPart &r_model_part, Parameters &r_parameters) | |
Default constructor. More... | |
virtual | ~DerivativeRecovery () |
Destructor. More... | |
Operations | |
void | AddTimeDerivative (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &material_derivative_container) |
void | AddTimeDerivativeComponent (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &material_derivative_container, const int i_component) |
void | RecoverGradientOfAScalar (const VariableData &origin_variable, const VariableData &destination_variable) |
template<class TScalarVariable > | |
void | RecoverSuperconvergentGradient (ModelPart &r_model_part, TScalarVariable &scalar_container, Variable< array_1d< double, 3 > > &gradient_container) |
void | RecoverSuperconvergentMatDeriv (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &vector_rate_container, Variable< array_1d< double, 3 > > &mat_deriv_container) |
void | RecoverSuperconvergentLaplacian (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &laplacian_container) |
void | RecoverSuperconvergentVelocityLaplacianFromGradient (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &laplacian_container) |
void | RecoverSuperconvergentMatDerivAndLaplacian (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &vector_rate_container, Variable< array_1d< double, 3 > > &mat_deriv_container, Variable< array_1d< double, 3 > > &laplacian_container) |
void | CalculateVectorMaterialDerivative (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &vector_rate_container, Variable< array_1d< double, 3 > > &material_derivative_container) |
void | RecoverLagrangianAcceleration (ModelPart &r_model_part) |
void | CalculateVectorMaterialDerivativeFromGradient (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_gradient_container_x, Variable< array_1d< double, 3 > > &vector_gradient_container_y, Variable< array_1d< double, 3 > > &vector_gradient_container_z, Variable< array_1d< double, 3 > > &vector_rate_container, Variable< array_1d< double, 3 > > &material_derivative_container) |
void | CalculateVectorMaterialDerivativeComponent (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_component_gradient_container, Variable< array_1d< double, 3 > > &vector_rate_container, Variable< array_1d< double, 3 > > &material_derivative_container) |
void | CalculateVorticityFromGradient (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_gradient_container_x, Variable< array_1d< double, 3 > > &vector_gradient_container_y, Variable< array_1d< double, 3 > > &vector_gradient_container_z, Variable< array_1d< double, 3 > > &vorticity_container) |
void | CalculateVorticityContributionOfTheGradientOfAComponent (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_component_gradient_container, Variable< array_1d< double, 3 > > &vorticity_container) |
template<class TScalarVariable > | |
void | CalculateGradient (ModelPart &r_model_part, TScalarVariable &scalar_container, Variable< array_1d< double, 3 > > &gradient_container) |
void | SmoothVectorField (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_field, Variable< array_1d< double, 3 > > &auxiliary_veriable) |
void | CalculateVectorLaplacian (ModelPart &r_model_part, Variable< array_1d< double, 3 > > &vector_container, Variable< array_1d< double, 3 > > &laplacian_container) |
void | CalculateVelocityLaplacianRate (ModelPart &r_model_part) |
Input and output | |
virtual std::string | Info () const |
Turn back information as a stemplate<class T, std::size_t dim> tring. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Friends | |
DenseVector< unsigned int > & | GetElementPartition () |
DenseVector< unsigned int > & | GetNodePartition () |
ElementsArrayType::iterator | GetElementPartitionBegin (ModelPart &r_model_part, unsigned int k) |
ElementsArrayType::iterator | GetElementPartitionEnd (ModelPart &r_model_part, unsigned int k) |
NodesArrayType::iterator | GetNodePartitionBegin (ModelPart &r_model_part, unsigned int k) |
NodesArrayType::iterator | GetNodePartitionEnd (ModelPart &r_model_part, unsigned int k) |
Protected Attributes | |
DenseVector< unsigned int > | mElementsPartition |
DenseVector< unsigned int > | mNodesPartition |
Type Definitions | |
typedef ModelPart::ElementsContainerType | ElementsArrayType |
typedef ElementsArrayType::ContainerType | ResultElementsContainerType |
typedef std::vector< ResultElementsContainerType > | VectorResultElementsContainerType |
typedef ModelPart::NodesContainerType | NodesArrayType |
typedef NodesArrayType::ContainerType | ResultNodesContainerType |
typedef std::vector< ResultNodesContainerType > | VectorResultNodesContainerType |
typedef std::vector< Node::Pointer > | NodalPointersContainerType |
typedef ModelPart::NodesContainerType::iterator | NodeIteratorType |
typedef std::size_t | ListIndexType |
typedef SpatialSearch::DistanceType | DistanceType |
typedef SpatialSearch::VectorDistanceType | VectorDistanceType |
typedef DerivativeRecovery< TDim > | DerivativeRecovery_TDim |
Pointer definition of DerivativeRecovery. More... | |
KRATOS_CLASS_POINTER_DEFINITION (DerivativeRecovery_TDim) | |
This class constructs nodal approximations of the derivatives of a field given a Lagrangian linear FEM approximation of it.
typedef DerivativeRecovery<TDim> Kratos::DerivativeRecovery< TDim >::DerivativeRecovery_TDim |
Pointer definition of DerivativeRecovery.
typedef SpatialSearch::DistanceType Kratos::DerivativeRecovery< TDim >::DistanceType |
typedef ModelPart::ElementsContainerType Kratos::DerivativeRecovery< TDim >::ElementsArrayType |
typedef std::size_t Kratos::DerivativeRecovery< TDim >::ListIndexType |
typedef std::vector<Node::Pointer> Kratos::DerivativeRecovery< TDim >::NodalPointersContainerType |
typedef ModelPart::NodesContainerType::iterator Kratos::DerivativeRecovery< TDim >::NodeIteratorType |
typedef ModelPart::NodesContainerType Kratos::DerivativeRecovery< TDim >::NodesArrayType |
typedef ElementsArrayType::ContainerType Kratos::DerivativeRecovery< TDim >::ResultElementsContainerType |
typedef NodesArrayType::ContainerType Kratos::DerivativeRecovery< TDim >::ResultNodesContainerType |
typedef SpatialSearch::VectorDistanceType Kratos::DerivativeRecovery< TDim >::VectorDistanceType |
typedef std::vector<ResultElementsContainerType> Kratos::DerivativeRecovery< TDim >::VectorResultElementsContainerType |
typedef std::vector<ResultNodesContainerType> Kratos::DerivativeRecovery< TDim >::VectorResultNodesContainerType |
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
void Kratos::DerivativeRecovery< TDim >::AddTimeDerivative | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | material_derivative_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::AddTimeDerivativeComponent | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | material_derivative_container, | ||
const int | i_component | ||
) |
template void Kratos::DerivativeRecovery< TDim >::CalculateGradient< Variable< double > > | ( | ModelPart & | r_model_part, |
TScalarVariable & | scalar_container, | ||
Variable< array_1d< double, 3 > > & | gradient_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVectorLaplacian | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | laplacian_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVectorMaterialDerivative | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | vector_rate_container, | ||
Variable< array_1d< double, 3 > > & | material_derivative_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVectorMaterialDerivativeComponent | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_component_gradient_container, | ||
Variable< array_1d< double, 3 > > & | vector_rate_container, | ||
Variable< array_1d< double, 3 > > & | material_derivative_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVectorMaterialDerivativeFromGradient | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_gradient_container_x, | ||
Variable< array_1d< double, 3 > > & | vector_gradient_container_y, | ||
Variable< array_1d< double, 3 > > & | vector_gradient_container_z, | ||
Variable< array_1d< double, 3 > > & | vector_rate_container, | ||
Variable< array_1d< double, 3 > > & | material_derivative_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVelocityLaplacianRate | ( | ModelPart & | r_model_part | ) |
void Kratos::DerivativeRecovery< TDim >::CalculateVorticityContributionOfTheGradientOfAComponent | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_component_gradient_container, | ||
Variable< array_1d< double, 3 > > & | vorticity_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::CalculateVorticityFromGradient | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_gradient_container_x, | ||
Variable< array_1d< double, 3 > > & | vector_gradient_container_y, | ||
Variable< array_1d< double, 3 > > & | vector_gradient_container_z, | ||
Variable< array_1d< double, 3 > > & | vorticity_container | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Turn back information as a stemplate<class T, std::size_t dim> tring.
Kratos::DerivativeRecovery< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | DerivativeRecovery_TDim | ) |
|
inlinevirtual |
Print object's data.
|
inlinevirtual |
Print information about this object.
void Kratos::DerivativeRecovery< TDim >::RecoverGradientOfAScalar | ( | const VariableData & | origin_variable, |
const VariableData & | destination_variable | ||
) |
void Kratos::DerivativeRecovery< TDim >::RecoverLagrangianAcceleration | ( | ModelPart & | r_model_part | ) |
template void Kratos::DerivativeRecovery< TDim >::RecoverSuperconvergentGradient< Variable< double > > | ( | ModelPart & | r_model_part, |
TScalarVariable & | scalar_container, | ||
Variable< array_1d< double, 3 > > & | gradient_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::RecoverSuperconvergentLaplacian | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | laplacian_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::RecoverSuperconvergentMatDeriv | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | vector_rate_container, | ||
Variable< array_1d< double, 3 > > & | mat_deriv_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::RecoverSuperconvergentMatDerivAndLaplacian | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | vector_rate_container, | ||
Variable< array_1d< double, 3 > > & | mat_deriv_container, | ||
Variable< array_1d< double, 3 > > & | laplacian_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::RecoverSuperconvergentVelocityLaplacianFromGradient | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_container, | ||
Variable< array_1d< double, 3 > > & | laplacian_container | ||
) |
void Kratos::DerivativeRecovery< TDim >::SmoothVectorField | ( | ModelPart & | r_model_part, |
Variable< array_1d< double, 3 > > & | vector_field, | ||
Variable< array_1d< double, 3 > > & | auxiliary_veriable | ||
) |
|
protected |
|
protected |