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::Tetrahedra3D4AusasModifiedShapeFunctions Class Reference

#include <tetrahedra_3d_4_ausas_modified_shape_functions.h>

Inheritance diagram for Kratos::Tetrahedra3D4AusasModifiedShapeFunctions:
Collaboration diagram for Kratos::Tetrahedra3D4AusasModifiedShapeFunctions:

Public Member Functions

Life Cycle
 Tetrahedra3D4AusasModifiedShapeFunctions (const GeometryPointerType rpInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
 ~Tetrahedra3D4AusasModifiedShapeFunctions ()
 Destructor. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
Operations
const DivideGeometry< Node >::Pointer pGetSplittingUtil () const override
 
- Public Member Functions inherited from Kratos::AusasModifiedShapeFunctions
 AusasModifiedShapeFunctions (const GeometryPointerType rpInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
 ~AusasModifiedShapeFunctions ()
 Destructor. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (AusasModifiedShapeFunctions)
 Pointer definition of AusasModifiedShapeFunctions. More...
 
- Public Member Functions inherited from Kratos::ModifiedShapeFunctions
 ModifiedShapeFunctions (const GeometryPointerType pInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
virtual ~ModifiedShapeFunctions ()
 Destructor. More...
 
const GeometryPointerType GetInputGeometry () const
 
const VectorGetNodalDistances () const
 
double ComputePositiveSideDomainSize () const
 Compute the positive domain size For the given input geometry, this method calculates the positive side volume (or area in 2D) More...
 
double ComputeNegativeSideDomainSize () const
 Compute the negative domain size For the given input geometry, this method calculates the negative side volume (or area in 2D) More...
 
void ComputePositiveSideShapeFunctionsAndWeights (Matrix &rPositiveSideShapeFunctionsValues, Vector &rPositiveSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputeNegativeSideShapeFunctionsAndWeights (Matrix &rNegativeSideShapeFunctionsValues, Vector &rNegativeSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputePositiveSideShapeFunctionsAndGradientsValues (Matrix &rPositiveSideShapeFunctionsValues, ShapeFunctionsGradientsType &rPositiveSideShapeFunctionsGradientsValues, Vector &rPositiveSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputeNegativeSideShapeFunctionsAndGradientsValues (Matrix &rNegativeSideShapeFunctionsValues, ShapeFunctionsGradientsType &rNegativeSideShapeFunctionsGradientsValues, Vector &rNegativeSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputeInterfacePositiveSideShapeFunctionsAndGradientsValues (Matrix &rInterfacePositiveSideShapeFunctionsValues, ShapeFunctionsGradientsType &rInterfacePositiveSideShapeFunctionsGradientsValues, Vector &rInterfacePositiveSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputeInterfaceNegativeSideShapeFunctionsAndGradientsValues (Matrix &rInterfaceNegativeSideShapeFunctionsValues, ShapeFunctionsGradientsType &rInterfaceNegativeSideShapeFunctionsGradientsValues, Vector &rInterfaceNegativeSideWeightsValues, const IntegrationMethodType IntegrationMethod)
 
void ComputePositiveExteriorFaceShapeFunctionsAndGradientsValues (Matrix &rPositiveExteriorFaceShapeFunctionsValues, ShapeFunctionsGradientsType &rPositiveExteriorFaceShapeFunctionsGradientsValues, Vector &rPositiveExteriorFaceWeightsValues, const unsigned int FaceId, const IntegrationMethodType IntegrationMethod)
 
void ComputeNegativeExteriorFaceShapeFunctionsAndGradientsValues (Matrix &rNegativeExteriorFaceShapeFunctionsValues, ShapeFunctionsGradientsType &rNegativeExteriorFaceShapeFunctionsGradientsValues, Vector &rNegativeExteriorFaceWeightsValues, const unsigned int FaceId, const IntegrationMethodType IntegrationMethod)
 
void ComputePositiveSideInterfaceAreaNormals (AreaNormalsContainerType &rPositiveSideInterfaceAreaNormal, const IntegrationMethodType IntegrationMethod)
 
void ComputeNegativeSideInterfaceAreaNormals (AreaNormalsContainerType &rNegativeSideInterfaceAreaNormal, const IntegrationMethodType IntegrationMethod)
 
void ComputePositiveExteriorFaceAreaNormals (AreaNormalsContainerType &rPositiveExteriorFaceAreaNormal, const unsigned int FaceId, const IntegrationMethodType IntegrationMethod)
 
void ComputeNegativeExteriorFaceAreaNormals (AreaNormalsContainerType &rNegativeExteriorFaceAreaNormal, const unsigned int FaceId, const IntegrationMethodType IntegrationMethod)
 
void ComputeShapeFunctionsOnPositiveEdgeIntersections (Matrix &rPositiveEdgeIntersectionsShapeFunctionsValues)
 
void ComputeShapeFunctionsOnNegativeEdgeIntersections (Matrix &rNegativeEdgeIntersectionsShapeFunctionsValues)
 
bool IsSplit () const
 
 KRATOS_CLASS_POINTER_DEFINITION (ModifiedShapeFunctions)
 Pointer definition of ModifiedShapeFunctions. More...
 

Protected Member Functions

Protected Operations
void SetPositiveSideCondensationMatrix (Matrix &rPosSideCondMatrix) override
 Set the Positive Side Condensation Matrix object This function sets the positive side condensation matrix Note that for the Ausas FE space a different condensation matrix is required for the positive and negative sides. More...
 
void SetNegativeSideCondensationMatrix (Matrix &rNegSideCondMatrix) override
 Set the Negative Side Condensation Matrix object This function sets the negative side condensation matrix Note that for the Ausas FE space a different condensation matrix is required for the positive and negative sides. More...
 
- Protected Member Functions inherited from Kratos::AusasModifiedShapeFunctions
void SetCondensationMatrix (Matrix &rIntPointCondMatrix) override
 
void SetPositiveSideCondensationMatrix (Matrix &rPosSideCondMatrix, const std::vector< int > &rEdgeNodeI, const std::vector< int > &rEdgeNodeJ, const std::vector< int > &rSplitEdges)
 
void SetNegativeSideCondensationMatrix (Matrix &rNegSideCondMatrix, const std::vector< int > &rEdgeNodeI, const std::vector< int > &rEdgeNodeJ, const std::vector< int > &rSplitEdges)
 
- Protected Member Functions inherited from Kratos::ModifiedShapeFunctions
void SetCondensationMatrix (Matrix &rIntPointCondMatrix, const std::vector< int > &rEdgeNodeI, const std::vector< int > &rEdgeNodeJ, const std::vector< int > &rSplitEdges)
 
void ComputeValuesOnOneSide (Matrix &rShapeFunctionsValues, ShapeFunctionsGradientsType &rShapeFunctionsGradientsValues, Vector &rWeightsValues, const std::vector< IndexedPointGeometryPointerType > &rSubdivisionsVector, const Matrix &rPmatrix, const IntegrationMethodType IntegrationMethod)
 
void ComputeFaceValuesOnOneSide (Matrix &rInterfaceShapeFunctionsValues, ShapeFunctionsGradientsType &rInterfaceShapeFunctionsGradientsValues, Vector &rInterfaceWeightsValues, const std::vector< IndexedPointGeometryPointerType > &rInterfacesVector, const std::vector< IndexedPointGeometryPointerType > &rParentGeometriesVector, const std::vector< unsigned int > &rInterfacesParentIdsVector, const Matrix &rPmatrix, const IntegrationMethodType IntegrationMethod)
 
void ComputeFaceNormalOnOneSide (AreaNormalsContainerType &rInterfaceAreaNormalValues, const std::vector< IndexedPointGeometryPointerType > &rInterfacesVector, const IntegrationMethodType IntegrationMethod)
 
void ComputeEdgeIntersectionValuesOnOneSide (const Matrix &rPmatrix, Matrix &rEdgeShapeFunctionValues)
 

Protected Attributes

Protected member Variables
DivideTetrahedra3D4< Node >::Pointer mpTetrahedraSplitter
 

Type Definitions

typedef AusasModifiedShapeFunctions BaseType
 
typedef BaseType::GeometryType GeometryType
 
typedef BaseType::GeometryPointerType GeometryPointerType
 
typedef BaseType::IntegrationMethodType IntegrationMethodType
 
typedef BaseType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
 
typedef BaseType::IndexedPointGeometryType IndexedPointGeometryType
 
typedef BaseType::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
 
typedef BaseType::IntegrationPointType IntegrationPointType
 
typedef BaseType::IntegrationPointsArrayType IntegrationPointsArrayType
 
typedef BaseType::IntegrationPointsContainerType IntegrationPointsContainerType
 
 KRATOS_CLASS_POINTER_DEFINITION (Tetrahedra3D4AusasModifiedShapeFunctions)
 Pointer definition of Tetrahedra3D4AusasModifiedShapeFunctions. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::AusasModifiedShapeFunctions
typedef ModifiedShapeFunctions BaseType
 
typedef BaseType::GeometryType GeometryType
 
typedef BaseType::GeometryPointerType GeometryPointerType
 
typedef BaseType::IntegrationMethodType IntegrationMethodType
 
typedef BaseType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
 
typedef BaseType::IndexedPointGeometryType IndexedPointGeometryType
 
typedef BaseType::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
 
typedef BaseType::IntegrationPointType IntegrationPointType
 
typedef BaseType::IntegrationPointsArrayType IntegrationPointsArrayType
 
typedef BaseType::IntegrationPointsContainerType IntegrationPointsContainerType
 
- Public Types inherited from Kratos::ModifiedShapeFunctions
typedef Geometry< NodeGeometryType
 
typedef GeometryType::Pointer GeometryPointerType
 
typedef GeometryType::CoordinatesArrayType CoordinatesArrayType
 
typedef GeometryData::IntegrationMethod IntegrationMethodType
 
typedef GeometryData::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
 
typedef std::vector< array_1d< double, 3 > > AreaNormalsContainerType
 
typedef DivideGeometry< Node >::IndexedPointGeometryType IndexedPointGeometryType
 
typedef DivideGeometry< Node >::IndexedPointGeometryPointerType IndexedPointGeometryPointerType
 
typedef IntegrationPoint< 3 > IntegrationPointType
 
typedef std::vector< IntegrationPointTypeIntegrationPointsArrayType
 
typedef std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
 

Member Typedef Documentation

◆ BaseType

◆ GeometryPointerType

◆ GeometryType

◆ IndexedPointGeometryPointerType

◆ IndexedPointGeometryType

◆ IntegrationMethodType

◆ IntegrationPointsArrayType

◆ IntegrationPointsContainerType

◆ IntegrationPointType

◆ ShapeFunctionsGradientsType

Constructor & Destructor Documentation

◆ Tetrahedra3D4AusasModifiedShapeFunctions()

Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::Tetrahedra3D4AusasModifiedShapeFunctions ( const GeometryPointerType  pInputGeometry,
const Vector rNodalDistances 
)

Default constructor.

Tetrahedra3D4AusasModifiedShapeFunctions implementation Default constructor

◆ ~Tetrahedra3D4AusasModifiedShapeFunctions()

Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::~Tetrahedra3D4AusasModifiedShapeFunctions ( )

Destructor.

Member Function Documentation

◆ Info()

std::string Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::Info ( ) const
overridevirtual

Turn back information as a string.

Reimplemented from Kratos::AusasModifiedShapeFunctions.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::KRATOS_CLASS_POINTER_DEFINITION ( Tetrahedra3D4AusasModifiedShapeFunctions  )

◆ pGetSplittingUtil()

const DivideGeometry< Node >::Pointer Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::pGetSplittingUtil ( ) const
overridevirtual

Returns the member pointer to the splitting utility.

Reimplemented from Kratos::ModifiedShapeFunctions.

◆ PrintData()

void Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::PrintData ( std::ostream &  rOStream) const
overridevirtual

Print object's data.

Reimplemented from Kratos::AusasModifiedShapeFunctions.

◆ PrintInfo()

void Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::PrintInfo ( std::ostream &  rOStream) const
overridevirtual

Print information about this object.

Reimplemented from Kratos::AusasModifiedShapeFunctions.

◆ SetNegativeSideCondensationMatrix()

void Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::SetNegativeSideCondensationMatrix ( Matrix rNegSideCondMatrix)
overrideprotectedvirtual

Set the Negative Side Condensation Matrix object This function sets the negative side condensation matrix Note that for the Ausas FE space a different condensation matrix is required for the positive and negative sides.

Parameters
rNegSideCondMatrixNegative side condensation matrix

Reimplemented from Kratos::AusasModifiedShapeFunctions.

◆ SetPositiveSideCondensationMatrix()

void Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::SetPositiveSideCondensationMatrix ( Matrix rPosSideCondMatrix)
overrideprotectedvirtual

Set the Positive Side Condensation Matrix object This function sets the positive side condensation matrix Note that for the Ausas FE space a different condensation matrix is required for the positive and negative sides.

Parameters
rPosSideCondMatrixPositive side condensation matrix

Reimplemented from Kratos::AusasModifiedShapeFunctions.

Member Data Documentation

◆ mpTetrahedraSplitter

DivideTetrahedra3D4<Node>::Pointer Kratos::Tetrahedra3D4AusasModifiedShapeFunctions::mpTetrahedraSplitter
protected

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