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.
List of all members
Kratos::TrilinosPartitionedFSIUtilities< TSpace, TValueType, TDim > Class Template Reference

Trilinos version of the partitioned FSI tools. More...

#include <trilinos_partitioned_fsi_utilities.h>

Inheritance diagram for Kratos::TrilinosPartitionedFSIUtilities< TSpace, TValueType, TDim >:
Collaboration diagram for Kratos::TrilinosPartitionedFSIUtilities< TSpace, TValueType, TDim >:

Public Member Functions

Life Cycle
 TrilinosPartitionedFSIUtilities (const Epetra_MpiComm &EpetraCommunicator)
 Default constructor. More...
 
virtual ~TrilinosPartitionedFSIUtilities () override
 Destructor. More...
 
Operations
VectorPointerType SetUpInterfaceVector (ModelPart &rInterfaceModelPart) override
 
- Public Member Functions inherited from Kratos::PartitionedFSIUtilities< TSpace, TValueType, TDim >
 KRATOS_CLASS_POINTER_DEFINITION (PartitionedFSIUtilities)
 
 PartitionedFSIUtilities ()
 
 PartitionedFSIUtilities (const PartitionedFSIUtilities &Other)=delete
 
virtual ~PartitionedFSIUtilities ()=default
 
void CreateCouplingSkin (const ModelPart &rOriginInterfaceModelPart, ModelPart &rDestinationInterfaceModelPart)
 Create a coupling condition-based skin object This method creates an condition-based skin model part by copying the conditions of a given skin model part. More...
 
int GetInterfaceResidualSize (ModelPart &rInterfaceModelPart)
 
double GetInterfaceArea (ModelPart &rInterfaceModelPart)
 
void InitializeInterfaceVector (const ModelPart &rInterfaceModelPart, const Variable< TValueType > &rOriginVariable, VectorType &rInterfaceVector)
 
virtual void ComputeInterfaceResidualVector (ModelPart &rInterfaceModelPart, const Variable< TValueType > &rOriginalVariable, const Variable< TValueType > &rModifiedVariable, const Variable< TValueType > &rResidualVariable, VectorType &rInterfaceResidual, const std::string ResidualType="nodal", const Variable< double > &rResidualNormVariable=FSI_INTERFACE_RESIDUAL_NORM)
 Compute array variable interface residual vector This function computes (and stores in a vector) the residual of a vector variable over the fluid interface. The residual is defined as the OriginalVariable value minus the ModifiedVariable value. The nodal values of the residual are stored in the FSI_INTERFACE_RESIDUAL variable. Besides, the norm of the residual vector is stored in the ProcessInfo. More...
 
double ComputeInterfaceResidualNorm (ModelPart &rInterfaceModelPart, const Variable< TValueType > &rOriginalVariable, const Variable< TValueType > &rModifiedVariable, const Variable< TValueType > &rResidualVariable, const std::string ResidualType="nodal")
 Computes the interface residual norm This method computes the interface residual norm. To do that it firstly computes the residual vector as is done in ComputeInterfaceResidualVector. More...
 
virtual void AuxSetLocalValue (VectorType &rInterfaceResidual, const double &rResidualValue, const int AuxPosition)
 Auxiliar call to SetLocalValue for double type This method serves as an auxiliar call to the SetLocalValue function for double variables. More...
 
virtual void AuxSetLocalValue (VectorType &rInterfaceResidual, const array_1d< double, 3 > &rResidualValue, const int AuxPosition)
 Auxiliar call to SetLocalValue for array type This method serves as an auxiliar call to the SetLocalValue function for array variables. More...
 
virtual void UpdateInterfaceValues (ModelPart &rInterfaceModelPart, const Variable< TValueType > &rSolutionVariable, const VectorType &rCorrectedGuess)
 
void UpdateInterfaceLocalValue (const VectorType &rCorrectedGuess, double &rValueToUpdate, const int AuxPosition)
 Corrected guess local double value update This auxiliar method helps to update the nodal database using the values from a corrected guess vector values. More...
 
void UpdateInterfaceLocalValue (const VectorType &rCorrectedGuess, array_1d< double, 3 > &rValueToUpdate, const int AuxPosition)
 Corrected guess local array value update This auxiliar method helps to update the nodal database using the values from a corrected guess vector values. Note that it performs the array components loop. More...
 
virtual void ComputeAndPrintFluidInterfaceNorms (ModelPart &rInterfaceModelPart)
 
virtual void ComputeAndPrintStructureInterfaceNorms (ModelPart &rInterfaceModelPart)
 
virtual void CheckCurrentCoordinatesFluid (ModelPart &rModelPart, const double tolerance)
 
virtual void CheckCurrentCoordinatesStructure (ModelPart &rModelPart, const double tolerance)
 
void EmbeddedPressureToPositiveFacePressureInterpolator (ModelPart &rFluidModelPart, ModelPart &rStructureSkinModelPart)
 Pressure to positive face pressure interpolator This method interpolates the pressure in the embedded fluid background mesh to the positive face pressure of all nodes in the provided structure interface model part. More...
 
void CalculateTractionFromPressureValues (ModelPart &rModelPart, const Variable< double > &rPressureVariable, const Variable< array_1d< double, 3 >> &rTractionVariable, const bool SwapTractionSign)
 
void CalculateTractionFromPressureValues (ModelPart &rModelPart, const Variable< double > &rPositivePressureVariable, const Variable< double > &rNegativePressureVariable, const Variable< array_1d< double, 3 >> &rTractionVariable, const bool SwapTractionSign)
 

Protected Member Functions

Protected Operations
virtual void SetLocalValue (VectorType &rVector, int LocalRow, double Value) const override
 
virtual double GetLocalValue (const VectorType &rVector, int LocalRow) const override
 
- Protected Member Functions inherited from Kratos::PartitionedFSIUtilities< TSpace, TValueType, TDim >
std::string GetSkinElementName ()
 Get the skin element name Auxiliary method that returns the auxiliary embedded skin element type name. More...
 
std::string GetSkinConditionName ()
 Get the skin condition name Auxiliary method that returns the auxiliary embedded skin condition type name. More...
 
void ComputeConsistentResidual (ModelPart &rInterfaceModelPart, const Variable< TValueType > &rOriginalVariable, const Variable< TValueType > &rModifiedVariable, const Variable< TValueType > &rErrorStorageVariable)
 
void ComputeNodeByNodeResidual (ModelPart &rInterfaceModelPart, const Variable< TValueType > &rOriginalVariable, const Variable< TValueType > &rModifiedVariable, const Variable< TValueType > &rErrorStorageVariable)
 

Type Definitions

typedef TSpace::VectorType VectorType
 
typedef TSpace::MatrixType MatrixType
 
typedef TSpace::VectorPointerType VectorPointerType
 
typedef TSpace::MatrixPointerType MatrixPointerType
 
 KRATOS_CLASS_POINTER_DEFINITION (TrilinosPartitionedFSIUtilities)
 Pointer definition of TrilinosPartitionedFSIUtilities. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::PartitionedFSIUtilities< TSpace, TValueType, TDim >
typedef TSpace::VectorType VectorType
 
typedef TSpace::MatrixType MatrixType
 
typedef TSpace::VectorPointerType VectorPointerType
 
typedef TSpace::MatrixPointerType MatrixPointerType
 

Detailed Description

template<class TSpace, class TValueType, unsigned int TDim>
class Kratos::TrilinosPartitionedFSIUtilities< TSpace, TValueType, TDim >

Trilinos version of the partitioned FSI tools.

See also
PartitionedFSIUtilities

The documentation for this class was generated from the following file: