![]() |
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.
|
#include <ausas_modified_shape_functions.h>
Public Member Functions | |
Life Cycle | |
AusasModifiedShapeFunctions (const GeometryPointerType rpInputGeometry, const Vector &rNodalDistances) | |
Default constructor. More... | |
~AusasModifiedShapeFunctions () | |
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... | |
![]() | |
ModifiedShapeFunctions (const GeometryPointerType pInputGeometry, const Vector &rNodalDistances) | |
Default constructor. More... | |
virtual | ~ModifiedShapeFunctions () |
Destructor. More... | |
virtual const DivideGeometry< Node >::Pointer | pGetSplittingUtil () const |
const GeometryPointerType | GetInputGeometry () const |
const Vector & | GetNodalDistances () 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 | SetCondensationMatrix (Matrix &rIntPointCondMatrix) override |
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... | |
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) |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
typedef Geometry< Node > | GeometryType |
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< IntegrationPointType > | IntegrationPointsArrayType |
typedef std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> | IntegrationPointsContainerType |
typedef BaseType::IndexedPointGeometryPointerType Kratos::AusasModifiedShapeFunctions::IndexedPointGeometryPointerType |
typedef BaseType::IndexedPointGeometryType Kratos::AusasModifiedShapeFunctions::IndexedPointGeometryType |
typedef BaseType::IntegrationPointsArrayType Kratos::AusasModifiedShapeFunctions::IntegrationPointsArrayType |
typedef BaseType::IntegrationPointsContainerType Kratos::AusasModifiedShapeFunctions::IntegrationPointsContainerType |
typedef BaseType::ShapeFunctionsGradientsType Kratos::AusasModifiedShapeFunctions::ShapeFunctionsGradientsType |
Kratos::AusasModifiedShapeFunctions::AusasModifiedShapeFunctions | ( | const GeometryPointerType | pInputGeometry, |
const Vector & | rNodalDistances | ||
) |
Default constructor.
AusasModifiedShapeFunctions implementation Default constructor
Kratos::AusasModifiedShapeFunctions::~AusasModifiedShapeFunctions | ( | ) |
Destructor.
|
overridevirtual |
Turn back information as a string.
Reimplemented from Kratos::ModifiedShapeFunctions.
Reimplemented in Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, and Kratos::Tetrahedra3D4AusasIncisedShapeFunctions.
Kratos::AusasModifiedShapeFunctions::KRATOS_CLASS_POINTER_DEFINITION | ( | AusasModifiedShapeFunctions | ) |
Pointer definition of AusasModifiedShapeFunctions.
|
overridevirtual |
Print object's data.
Reimplemented from Kratos::ModifiedShapeFunctions.
Reimplemented in Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, and Kratos::Tetrahedra3D4AusasIncisedShapeFunctions.
|
overridevirtual |
Print information about this object.
Reimplemented from Kratos::ModifiedShapeFunctions.
Reimplemented in Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, and Kratos::Tetrahedra3D4AusasIncisedShapeFunctions.
|
inlineoverrideprotectedvirtual |
Returns the intersection points condensation matrix. This matrix is used to extrapolate the subdivisions shape funtion values to the original geometry ones. It has size (nnodes+nedges)x(nnodes).
Reimplemented from Kratos::ModifiedShapeFunctions.
|
inlineoverrideprotectedvirtual |
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.
rNegSideCondMatrix | Negative side condensation matrix |
Reimplemented from Kratos::ModifiedShapeFunctions.
Reimplemented in Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, and Kratos::Tetrahedra3D4AusasIncisedShapeFunctions.
|
protected |
Returns the intersection points condensation matrix for negative side Ausas sh functions. This matrix is used to extrapolate the subdivisions shape funtion values to the original geometry ones. It has size (nnodes+nedges)x(nnodes).
rEdgeNodeI | Integers array containing the nodes "I" that conform the edges. |
rEdgeNodeJ | Integers array containing the nodes "J" that conform the edges. |
rSplitEdges | Integers array containing the original nodes ids and the intersected edges nodes ones. |
|
inlineoverrideprotectedvirtual |
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.
rPosSideCondMatrix | Positive side condensation matrix |
Reimplemented from Kratos::ModifiedShapeFunctions.
Reimplemented in Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, and Kratos::Tetrahedra3D4AusasIncisedShapeFunctions.
|
protected |
Returns the intersection points condensation matrix for positive side Ausas sh functions. This matrix is used to extrapolate the subdivisions shape funtion values to the original geometry ones. It has size (nnodes+nedges)x(nnodes).
rEdgeNodeI | Integers array containing the nodes "I" that conform the edges. |
rEdgeNodeJ | Integers array containing the nodes "J" that conform the edges. |
rSplitEdges | Integers array containing the original nodes ids and the intersected edges nodes ones. |