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

#include <modified_shape_functions.h>

Inheritance diagram for Kratos::ModifiedShapeFunctions:
Collaboration diagram for Kratos::ModifiedShapeFunctions:

Public Member Functions

Life Cycle
 ModifiedShapeFunctions (const GeometryPointerType pInputGeometry, const Vector &rNodalDistances)
 Default constructor. More...
 
virtual ~ModifiedShapeFunctions ()
 Destructor. More...
 
Input and output
virtual std::string Info () const
 Turn back information as a string. 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...
 
Operations
virtual const DivideGeometry< Node >::Pointer pGetSplittingUtil () const
 
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
 

Protected Member Functions

Protected Operations
virtual void SetCondensationMatrix (Matrix &rIntPointCondMatrix)
 
virtual void SetPositiveSideCondensationMatrix (Matrix &rPosSideCondMatrix)
 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...
 
virtual void SetNegativeSideCondensationMatrix (Matrix &rNegSideCondMatrix)
 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 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)
 

Type Definitions

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
 
 KRATOS_CLASS_POINTER_DEFINITION (ModifiedShapeFunctions)
 Pointer definition of ModifiedShapeFunctions. More...
 

Member Typedef Documentation

◆ AreaNormalsContainerType

◆ CoordinatesArrayType

◆ GeometryPointerType

◆ GeometryType

◆ IndexedPointGeometryPointerType

◆ IndexedPointGeometryType

◆ IntegrationMethodType

◆ IntegrationPointsArrayType

◆ IntegrationPointsContainerType

◆ IntegrationPointType

◆ ShapeFunctionsGradientsType

Constructor & Destructor Documentation

◆ ModifiedShapeFunctions()

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

Default constructor.

ModifiedShapeFunctions implementation Default constructor

◆ ~ModifiedShapeFunctions()

Kratos::ModifiedShapeFunctions::~ModifiedShapeFunctions ( )
virtual

Destructor.

Member Function Documentation

◆ ComputeEdgeIntersectionValuesOnOneSide()

void Kratos::ModifiedShapeFunctions::ComputeEdgeIntersectionValuesOnOneSide ( const Matrix rPmatrix,
Matrix rEdgeShapeFunctionValues 
)
protected

Given a condensation matrix, extracts the edge intersection points shape function values.

Parameters
rPmatrixReference to the condensation matrix.
Returns
rEdgeShapeFunctionValues Reference to the matrix containing the shape function values.

◆ ComputeFaceNormalOnOneSide()

void Kratos::ModifiedShapeFunctions::ComputeFaceNormalOnOneSide ( AreaNormalsContainerType rInterfaceAreaNormalValues,
const std::vector< IndexedPointGeometryPointerType > &  rInterfacesVector,
const IntegrationMethodType  IntegrationMethod 
)
protected

Returns the outwards area normal vector values in either the positive or negative element interfaces for a given quadrature.

Returns
rInterfaceAreaNormalValues: std::vector containing the area normal values for the selected quadrature Gauss pts.
Parameters
rInterfacesVectorstd::vector of intersection point based geometries where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ ComputeFaceValuesOnOneSide()

void Kratos::ModifiedShapeFunctions::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 
)
protected

Returns the shape function values in either the positive or negative element interfaces for a given quadrature.

Returns
rInterfaceShapeFunctionValues: Matrix containing the computed shape function values.
rInterfaceShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values.
rInterfaceWeightsValues: Vector containing the Gauss pts. weights (already multiplied by the Jacobian).
Parameters
rInterfacesVectorstd::vector of intersection point based geometries where the values are to be computed.
rParentGeometriesVectorstd::vector of subdivisions point based parent geometries.
rInterfacesParentIdsVectorstd::vector containing the parent ids of each interface geometry.
rPmatrixreference to the interface interpolation matrix
IntegrationMethodDesired integration quadrature.

◆ ComputeInterfaceNegativeSideShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputeInterfaceNegativeSideShapeFunctionsAndGradientsValues ( Matrix rInterfaceNegativeSideShapeFunctionsValues,
ShapeFunctionsGradientsType rInterfaceNegativeSideShapeFunctionsGradientsValues,
Vector rInterfaceNegativeSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

Returns the shape function values in the negative split element side for a given quadrature.

Returns
rInterfaceNegativeSideShapeFunctionValues: Matrix containing the negative side computed shape function values.
rInterfaceNegativeSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the negative side.
rInterfaceNegativeSideWeightsValues: Vector containing the Gauss pts. negative side weights (already multiplied by the Jacobian).
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputeInterfacePositiveSideShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputeInterfacePositiveSideShapeFunctionsAndGradientsValues ( Matrix rInterfacePositiveSideShapeFunctionsValues,
ShapeFunctionsGradientsType rInterfacePositiveSideShapeFunctionsGradientsValues,
Vector rInterfacePositiveSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

Returns the shape function values in the positive split element interface side for a given quadrature.

Returns
rInterfacePositiveSideShapeFunctionValues: Matrix containing the positive side computed shape function values.
rInterfacePositiveSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the positive side.
rInterfacePositiveSideWeightsValues: Vector containing the Gauss pts. positive side weights (already multiplied by the Jacobian).
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputeNegativeExteriorFaceAreaNormals()

void Kratos::ModifiedShapeFunctions::ComputeNegativeExteriorFaceAreaNormals ( AreaNormalsContainerType rNegativeExteriorFaceAreaNormal,
const unsigned int  FaceId,
const IntegrationMethodType  IntegrationMethod 
)

Returns the negative side outwards area normal vector values for the Gauss pts. of given quadrature.

Returns
rNegativeExteriorFaceAreaNormal: Outwards area normal vector list.
Parameters
FaceIdFace local id. in where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ ComputeNegativeExteriorFaceShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputeNegativeExteriorFaceShapeFunctionsAndGradientsValues ( Matrix rNegativeExteriorFaceShapeFunctionsValues,
ShapeFunctionsGradientsType rNegativeExteriorFaceShapeFunctionsGradientsValues,
Vector rNegativeExteriorFaceWeightsValues,
const unsigned int  FaceId,
const IntegrationMethodType  IntegrationMethod 
)

Given a face id, returns the shape function values in the negative split element exterior face side for a given quadrature.

Returns
rInterfaceNegativeSideShapeFunctionValues: Matrix containing the negative side computed shape function values.
rInterfaceNegativeSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the negative side.
rInterfaceNegativeSideWeightsValues: Vector containing the Gauss pts. negative side weights (already multiplied by the Jacobian).
Parameters
FaceIdFace local id. in where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ ComputeNegativeSideDomainSize()

double Kratos::ModifiedShapeFunctions::ComputeNegativeSideDomainSize ( ) const

Compute the negative domain size For the given input geometry, this method calculates the negative side volume (or area in 2D)

Returns
double The negative side domain size

◆ ComputeNegativeSideInterfaceAreaNormals()

void Kratos::ModifiedShapeFunctions::ComputeNegativeSideInterfaceAreaNormals ( AreaNormalsContainerType rNegativeSideInterfaceAreaNormal,
const IntegrationMethodType  IntegrationMethod 
)

Returns the negative side outwards area normal vector values for the Gauss pts. of given quadrature.

Returns
rNegativeSideInterfaceAreaNormal: Outwards area normal vector list.
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputeNegativeSideShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputeNegativeSideShapeFunctionsAndGradientsValues ( Matrix rNegativeSideShapeFunctionsValues,
ShapeFunctionsGradientsType rNegativeSideShapeFunctionsGradientsValues,
Vector rNegativeSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

Returns the shape function values in the negative split element side for a given quadrature.

Returns
rNegativeSideShapeFunctionValues: Matrix containing the negative side computed shape function values.
rNegativeSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the negative side.
rNegativeSideWeightsValues: Vector containing the Gauss pts. negative side weights (already multiplied by the Jacobian).
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputeNegativeSideShapeFunctionsAndWeights()

void Kratos::ModifiedShapeFunctions::ComputeNegativeSideShapeFunctionsAndWeights ( Matrix rNegativeSideShapeFunctionsValues,
Vector rNegativeSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

◆ ComputePositiveExteriorFaceAreaNormals()

void Kratos::ModifiedShapeFunctions::ComputePositiveExteriorFaceAreaNormals ( AreaNormalsContainerType rPositiveExteriorFaceAreaNormal,
const unsigned int  FaceId,
const IntegrationMethodType  IntegrationMethod 
)

Returns the positive side outwards area normal vector values for the Gauss pts. of given quadrature.

Returns
rPositiveExteriorFaceAreaNormal: Outwards area normal vector list.
Parameters
FaceIdFace local id. in where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ ComputePositiveExteriorFaceShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputePositiveExteriorFaceShapeFunctionsAndGradientsValues ( Matrix rPositiveExteriorFaceShapeFunctionsValues,
ShapeFunctionsGradientsType rPositiveExteriorFaceShapeFunctionsGradientsValues,
Vector rPositiveExteriorFaceWeightsValues,
const unsigned int  FaceId,
const IntegrationMethodType  IntegrationMethod 
)

Given a face id, returns the shape function values in the positive split element exterior face side for a given quadrature.

Returns
rInterfacePositiveSideShapeFunctionValues: Matrix containing the positive side computed shape function values.
rInterfacePositiveSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the positive side.
rInterfacePositiveSideWeightsValues: Vector containing the Gauss pts. positive side weights (already multiplied by the Jacobian).
Parameters
FaceIdFace local id. in where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ ComputePositiveSideDomainSize()

double Kratos::ModifiedShapeFunctions::ComputePositiveSideDomainSize ( ) const

Compute the positive domain size For the given input geometry, this method calculates the positive side volume (or area in 2D)

Returns
double The positive side domain size

◆ ComputePositiveSideInterfaceAreaNormals()

void Kratos::ModifiedShapeFunctions::ComputePositiveSideInterfaceAreaNormals ( AreaNormalsContainerType rPositiveSideInterfaceAreaNormal,
const IntegrationMethodType  IntegrationMethod 
)

Returns the positive side outwards area normal vector values for the Gauss pts. of given quadrature.

Returns
rPositiveSideInterfaceAreaNormal: Outwards area normal vector list.
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputePositiveSideShapeFunctionsAndGradientsValues()

void Kratos::ModifiedShapeFunctions::ComputePositiveSideShapeFunctionsAndGradientsValues ( Matrix rPositiveSideShapeFunctionsValues,
ShapeFunctionsGradientsType rPositiveSideShapeFunctionsGradientsValues,
Vector rPositiveSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

Returns the shape function values in the positive split element side for a given quadrature.

Returns
rPositiveSideShapeFunctionValues: Matrix containing the positive side computed shape function values.
rPositiveSideShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values on the positive side.
rPositiveSideWeightsValues: Vector containing the Gauss pts. positive side weights (already multiplied by the Jacobian).
Parameters
IntegrationMethodDesired integration quadrature.

◆ ComputePositiveSideShapeFunctionsAndWeights()

void Kratos::ModifiedShapeFunctions::ComputePositiveSideShapeFunctionsAndWeights ( Matrix rPositiveSideShapeFunctionsValues,
Vector rPositiveSideWeightsValues,
const IntegrationMethodType  IntegrationMethod 
)

◆ ComputeShapeFunctionsOnNegativeEdgeIntersections()

void Kratos::ModifiedShapeFunctions::ComputeShapeFunctionsOnNegativeEdgeIntersections ( Matrix rNegativeEdgeIntersectionsShapeFunctionsValues)

Returns the negative side edge intersections shape function values.

Returns
rPositiveEdgeIntersectionsShapeFunctionsValues A matrix, which size is edges x nodes, containing the negative side edge intersection shape function values.

◆ ComputeShapeFunctionsOnPositiveEdgeIntersections()

void Kratos::ModifiedShapeFunctions::ComputeShapeFunctionsOnPositiveEdgeIntersections ( Matrix rPositiveEdgeIntersectionsShapeFunctionsValues)

Returns the positive side edge intersections shape function values.

Returns
rPositiveEdgeIntersectionsShapeFunctionsValues A matrix, which size is edges x nodes, containing the positive side edge intersection shape function values.

◆ ComputeValuesOnOneSide()

void Kratos::ModifiedShapeFunctions::ComputeValuesOnOneSide ( Matrix rShapeFunctionsValues,
ShapeFunctionsGradientsType rShapeFunctionsGradientsValues,
Vector rWeightsValues,
const std::vector< IndexedPointGeometryPointerType > &  rSubdivisionsVector,
const Matrix rPmatrix,
const IntegrationMethodType  IntegrationMethod 
)
protected

Returns the shape function values in either the positive or negative element subdivision for a given quadrature.

Returns
rShapeFunctionValues: Matrix containing the computed shape function values.
rShapeFunctionsGradientsValues: std::vector containing the shape functions gradients values.
rWeightsValues: Vector containing the Gauss pts. weights (already multiplied by the Jacobian).
Parameters
rPmatrixReference to the condensation matrix.
rSubdivisionGeomstd::vector of subdivisions point based geometries where the values are to be computed.
IntegrationMethodDesired integration quadrature.

◆ GetInputGeometry()

const ModifiedShapeFunctions::GeometryPointerType Kratos::ModifiedShapeFunctions::GetInputGeometry ( ) const

Returns a the member pointer to the input geometry.

◆ GetNodalDistances()

const Vector & Kratos::ModifiedShapeFunctions::GetNodalDistances ( ) const

Returns a reference to the nodal distances vector member variable.

◆ Info()

std::string Kratos::ModifiedShapeFunctions::Info ( ) const
virtual

◆ IsSplit()

bool Kratos::ModifiedShapeFunctions::IsSplit ( ) const

Returns true if the element is split and false otherwise.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::ModifiedShapeFunctions::KRATOS_CLASS_POINTER_DEFINITION ( ModifiedShapeFunctions  )

Pointer definition of ModifiedShapeFunctions.

◆ pGetSplittingUtil()

const DivideGeometry< Node >::Pointer Kratos::ModifiedShapeFunctions::pGetSplittingUtil ( ) const
virtual

◆ PrintData()

void Kratos::ModifiedShapeFunctions::PrintData ( std::ostream &  rOStream) const
virtual

◆ PrintInfo()

void Kratos::ModifiedShapeFunctions::PrintInfo ( std::ostream &  rOStream) const
virtual

◆ SetCondensationMatrix() [1/2]

virtual void Kratos::ModifiedShapeFunctions::SetCondensationMatrix ( Matrix rIntPointCondMatrix)
inlineprotectedvirtual

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).

Returns
rIntPointCondMatrix: Reference to the intersection points condensation matrix.

Reimplemented in Kratos::Triangle2D3ModifiedShapeFunctions, Kratos::Tetrahedra3D4ModifiedShapeFunctions, and Kratos::AusasModifiedShapeFunctions.

◆ SetCondensationMatrix() [2/2]

void Kratos::ModifiedShapeFunctions::SetCondensationMatrix ( Matrix rIntPointCondMatrix,
const std::vector< int > &  rEdgeNodeI,
const std::vector< int > &  rEdgeNodeJ,
const std::vector< int > &  rSplitEdges 
)
protected

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).

Returns
rIntPointCondMatrix: Reference to the intersection points condensation matrix.
Parameters
rEdgeNodeIIntegers array containing the nodes "I" that conform the edges.
rEdgeNodeJIntegers array containing the nodes "J" that conform the edges.
rSplitEdgesIntegers array containing the original nodes ids and the intersected edges nodes ones.

◆ SetNegativeSideCondensationMatrix()

virtual void Kratos::ModifiedShapeFunctions::SetNegativeSideCondensationMatrix ( Matrix rNegSideCondMatrix)
inlineprotectedvirtual

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 in Kratos::Triangle2D3ModifiedShapeFunctions, Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4ModifiedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, Kratos::Tetrahedra3D4AusasIncisedShapeFunctions, and Kratos::AusasModifiedShapeFunctions.

◆ SetPositiveSideCondensationMatrix()

virtual void Kratos::ModifiedShapeFunctions::SetPositiveSideCondensationMatrix ( Matrix rPosSideCondMatrix)
inlineprotectedvirtual

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 in Kratos::Triangle2D3ModifiedShapeFunctions, Kratos::Triangle2D3AusasModifiedShapeFunctions, Kratos::Triangle2D3AusasIncisedShapeFunctions, Kratos::Tetrahedra3D4ModifiedShapeFunctions, Kratos::Tetrahedra3D4AusasModifiedShapeFunctions, Kratos::Tetrahedra3D4AusasIncisedShapeFunctions, and Kratos::AusasModifiedShapeFunctions.


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