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 <geometry.h>
Public Member Functions | |
Life Cycle | |
Geometry () | |
Standard Constructor. Generates self assigned id. More... | |
Geometry (IndexType GeomertyId) | |
Standard Constructor with a geometry Id. More... | |
Geometry (const std::string &GeometryName) | |
Standard Constructor with a Name. More... | |
Geometry (const PointsArrayType &ThisPoints, GeometryData const *pThisGeometryData=&GeometryDataInstance()) | |
Geometry (IndexType GeometryId, const PointsArrayType &ThisPoints, GeometryData const *pThisGeometryData=&GeometryDataInstance()) | |
Geometry (const std::string &GeometryName, const PointsArrayType &ThisPoints, GeometryData const *pThisGeometryData=&GeometryDataInstance()) | |
Geometry (const Geometry &rOther) | |
Copy constructor. More... | |
template<class TOtherPointType > | |
Geometry (Geometry< TOtherPointType > const &rOther) | |
Copy constructor with TOtherPointType. More... | |
virtual | ~Geometry () |
Destructor. Do nothing!!! More... | |
virtual GeometryData::KratosGeometryFamily | GetGeometryFamily () const |
virtual GeometryData::KratosGeometryType | GetGeometryType () const |
Operators | |
Geometry & | operator= (const Geometry &rOther) |
template<class TOtherPointType > | |
Geometry & | operator= (Geometry< TOtherPointType > const &rOther) |
operator PointsArrayType & () | |
PointerVector Operators | |
TPointType & | operator[] (const SizeType &i) |
TPointType const & | operator[] (const SizeType &i) const |
PointPointerType & | operator() (const SizeType &i) |
ConstPointPointerType & | operator() (const SizeType &i) const |
PointerVector Operations | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
ptr_iterator | ptr_begin () |
ptr_const_iterator | ptr_begin () const |
ptr_iterator | ptr_end () |
ptr_const_iterator | ptr_end () const |
PointReferenceType | front () |
ConstPointReferenceType | front () const |
PointReferenceType | back () |
ConstPointReferenceType | back () const |
SizeType | size () const |
SizeType | PointsNumber () const |
virtual SizeType | PointsNumberInDirection (IndexType LocalDirectionIndex) const |
Returns number of points per direction. More... | |
SizeType | max_size () const |
void | swap (GeometryType &rOther) |
void | push_back (PointPointerType x) |
void | clear () |
void | reserve (int dim) |
int | capacity () |
PointPointerContainerType & | GetContainer () |
** Gives a reference to underly normal container. */ More... | |
const PointPointerContainerType & | GetContainer () const |
Data Container | |
DataValueContainer & | GetData () |
DataValueContainer const & | GetData () const |
void | SetData (DataValueContainer const &rThisData) |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
template<class TVariableType > | |
TVariableType::Type const & | GetValue (const TVariableType &rThisVariable) const |
Dynamic access to internals | |
virtual void | Assign (const Variable< bool > &rVariable, const bool Input) |
Assign with bool. More... | |
virtual void | Assign (const Variable< int > &rVariable, const int Input) |
Assign with int. More... | |
virtual void | Assign (const Variable< double > &rVariable, const double Input) |
Assign with double. More... | |
virtual void | Assign (const Variable< array_1d< double, 2 >> &rVariable, const array_1d< double, 2 > &rInput) |
Assign with array_1d<double, 2> More... | |
virtual void | Assign (const Variable< array_1d< double, 3 >> &rVariable, const array_1d< double, 3 > &rInput) |
Assign with array_1d<double, 3> More... | |
virtual void | Assign (const Variable< array_1d< double, 6 >> &rVariable, const array_1d< double, 6 > &rInput) |
Assign with array_1d<double, 6> More... | |
virtual void | Assign (const Variable< Vector > &rVariable, const Vector &rInput) |
Assign with Vector. More... | |
virtual void | Assign (const Variable< Matrix > &rVariable, const Matrix &rInput) |
Assign with Matrix. More... | |
virtual void | Calculate (const Variable< bool > &rVariable, bool &rOutput) const |
Calculate with bool. More... | |
virtual void | Calculate (const Variable< int > &rVariable, int &rOutput) const |
Calculate with int. More... | |
virtual void | Calculate (const Variable< double > &rVariable, double &rOutput) const |
Calculate with double. More... | |
virtual void | Calculate (const Variable< array_1d< double, 2 >> &rVariable, array_1d< double, 2 > &rOutput) const |
Calculate with array_1d<double, 2> More... | |
virtual void | Calculate (const Variable< array_1d< double, 3 >> &rVariable, array_1d< double, 3 > &rOutput) const |
Calculate with array_1d<double, 3> More... | |
virtual void | Calculate (const Variable< array_1d< double, 6 >> &rVariable, array_1d< double, 6 > &rOutput) const |
Calculate with array_1d<double, 6> More... | |
virtual void | Calculate (const Variable< Vector > &rVariable, Vector &rOutput) const |
Calculate with Vector. More... | |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &rOutput) const |
Calculate with Matrix. More... | |
Operations | |
virtual Pointer | Create (PointsArrayType const &rThisPoints) const |
Creates a new geometry pointer. More... | |
virtual Pointer | Create (const IndexType NewGeometryId, PointsArrayType const &rThisPoints) const |
Creates a new geometry pointer. More... | |
Pointer | Create (const std::string &rNewGeometryName, PointsArrayType const &rThisPoints) const |
Creates a new geometry pointer. More... | |
virtual Pointer | Create (const GeometryType &rGeometry) const |
Creates a new geometry pointer. More... | |
virtual Pointer | Create (const IndexType NewGeometryId, const GeometryType &rGeometry) const |
Creates a new geometry pointer. More... | |
Pointer | Create (const std::string &rNewGeometryName, const GeometryType &rGeometry) const |
Creates a new geometry pointer. More... | |
void | ClonePoints () |
virtual Vector & | LumpingFactors (Vector &rResult, const LumpingMethods LumpingMethod=LumpingMethods::ROW_SUM) const |
Lumping factors for the calculation of the lumped mass matrix. More... | |
Geometry Data and Geometry Shape Function Container | |
GeometryData const & | GetGeometryData () const |
GeometryData contains all information about dimensions and has a set of precomputed values for integration points and shape functions, including derivatives. More... | |
virtual void | SetGeometryShapeFunctionContainer (const GeometryShapeFunctionContainer< GeometryData::IntegrationMethod > &rGeometryShapeFunctionContainer) |
Parent | |
virtual GeometryType & | GetGeometryParent (IndexType Index) const |
Some geometries require relations to other geometries. This is the case for e.g. quadrature points. To reach the parent geometry this function can be used. More... | |
virtual void | SetGeometryParent (GeometryType *pGeometryParent) |
Some geometries require relations to other geometries. This is the case for e.g. quadrature points. To set or change the parent geometry this function can be used. More... | |
Geometry part functions | |
virtual GeometryType & | GetGeometryPart (const IndexType Index) |
Used for composite geometries. It returns the the geometry part, corresponding to the Index. More... | |
virtual const GeometryType & | GetGeometryPart (const IndexType Index) const |
Used for composite geometries. It returns the the geometry part, corresponding to the Index. More... | |
virtual GeometryType::Pointer | pGetGeometryPart (const IndexType Index) |
Used for composite geometries. It returns the pointer of a geometry part, corresponding to the Index. More... | |
virtual const GeometryType::Pointer | pGetGeometryPart (const IndexType Index) const |
Used for composite geometries. It returns the const pointer of a geometry part, corresponding to the Index. More... | |
virtual void | SetGeometryPart (const IndexType Index, GeometryType::Pointer pGeometry) |
Allows to exchange certain geometries. More... | |
virtual IndexType | AddGeometryPart (GeometryType::Pointer pGeometry) |
Allows to enhance the coupling geometry, with another geometry. More... | |
virtual void | RemoveGeometryPart (GeometryType::Pointer pGeometry) |
Removes a geometry part. More... | |
virtual void | RemoveGeometryPart (const IndexType Index) |
Removes a geometry part. More... | |
virtual bool | HasGeometryPart (const IndexType Index) const |
Use to check if certain Indexed object is within the geometry parts of this geometry. More... | |
virtual SizeType | NumberOfGeometryParts () const |
Informations | |
SizeType | WorkingSpaceDimension () const |
SizeType | LocalSpaceDimension () const |
Mathematical Informations | |
virtual SizeType | PolynomialDegree (IndexType LocalDirectionIndex) const |
Return polynomial degree of the geometry in a certain direction. More... | |
Geometrical Informations | |
virtual double | Length () const |
virtual double | Area () const |
This method calculate and return area or surface area of this geometry depending to it's dimension. More... | |
virtual double | Volume () const |
This method calculate and return volume of this geometry. More... | |
virtual double | DomainSize () const |
This method calculate and return length, area or volume of this geometry depending to it's dimension. More... | |
virtual double | MinEdgeLength () const |
virtual double | MaxEdgeLength () const |
virtual double | AverageEdgeLength () const |
virtual double | Circumradius () const |
virtual double | Inradius () const |
virtual bool | HasIntersection (const GeometryType &ThisGeometry) const |
virtual bool | HasIntersection (const Point &rLowPoint, const Point &rHighPoint) const |
virtual void | BoundingBox (TPointType &rLowPoint, TPointType &rHighPoint) const |
Calculates the boundingbox of the geometry. More... | |
virtual Point | Center () const |
virtual array_1d< double, 3 > | Normal (const CoordinatesArrayType &rPointLocalCoordinates) const |
It returns a vector that is normal to its corresponding geometry in the given local point. More... | |
virtual array_1d< double, 3 > | Normal (IndexType IntegrationPointIndex) const |
It returns the vector, which is normal to its corresponding geometry in the given integration point for the default integration method. More... | |
virtual array_1d< double, 3 > | Normal (IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
It returns the vector, which is normal to its corresponding geometry in the given integration point. More... | |
virtual array_1d< double, 3 > | UnitNormal (const CoordinatesArrayType &rPointLocalCoordinates) const |
It computes the unit normal of the geometry in the given local point. More... | |
virtual array_1d< double, 3 > | UnitNormal (IndexType IntegrationPointIndex) const |
It returns the normalized normal vector in the given integration point. More... | |
virtual array_1d< double, 3 > | UnitNormal (IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
It returns the normalized normal vector in the given integration point. More... | |
Quality | |
double | Quality (const QualityCriteria qualityCriteria) const |
virtual void | ComputeDihedralAngles (Vector &rDihedralAngles) const |
virtual void | ComputeSolidAngles (Vector &rSolidAngles) const |
Access | |
const PointsArrayType & | Points () const |
PointsArrayType & | Points () |
const TPointType::Pointer | pGetPoint (const int Index) const |
TPointType::Pointer | pGetPoint (const int Index) |
TPointType const & | GetPoint (const int Index) const |
TPointType & | GetPoint (const int Index) |
virtual Matrix & | PointsLocalCoordinates (Matrix &rResult) const |
virtual CoordinatesArrayType & | PointLocalCoordinates (CoordinatesArrayType &rResult, const CoordinatesArrayType &rPoint) const |
Returns the local coordinates of a given arbitrary point. More... | |
IsInside | |
virtual bool | IsInside (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rResult, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Checks if given point in global space coordinates is inside the geometry boundaries. This function computes the local coordinates and checks then if this point lays within the boundaries. More... | |
virtual int | IsInsideLocalSpace (const CoordinatesArrayType &rPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Checks if given point in local space coordinates of this geometry is inside the geometry boundaries. More... | |
Spans | |
virtual void | SpansLocalSpace (std::vector< double > &rSpans, IndexType LocalDirectionIndex=0) const |
Boundaries | |
virtual GeometriesArrayType | GenerateBoundariesEntities () const |
This method gives you all boundaries entities of this geometry. More... | |
Points | |
virtual GeometriesArrayType | GeneratePoints () const |
This method gives you all points of this geometry. More... | |
Edge | |
virtual SizeType | EdgesNumber () const |
This method gives you number of all edges of this geometry. More... | |
KRATOS_DEPRECATED_MESSAGE ("This is legacy version (use GenerateEdges instead)") virtual GeometriesArrayType Edges(void) | |
This method gives you all edges of this geometry. More... | |
virtual GeometriesArrayType | GenerateEdges () const |
This method gives you all edges of this geometry. More... | |
Face | |
virtual SizeType | FacesNumber () const |
Returns the number of faces of the current geometry. More... | |
KRATOS_DEPRECATED_MESSAGE ("This is legacy version (use GenerateFaces instead)") virtual GeometriesArrayType Faces(void) | |
Returns all faces of the current geometry. More... | |
virtual GeometriesArrayType | GenerateFaces () const |
Returns all faces of the current geometry. More... | |
virtual void | NumberNodesInFaces (DenseVector< unsigned int > &rNumberNodesInFaces) const |
virtual void | NodesInFaces (DenseMatrix< unsigned int > &rNodesInFaces) const |
Integration Points | |
SizeType | IntegrationPointsNumber () const |
SizeType | IntegrationPointsNumber (IntegrationMethod ThisMethod) const |
const IntegrationPointsArrayType & | IntegrationPoints () const |
const IntegrationPointsArrayType & | IntegrationPoints (IntegrationMethod ThisMethod) const |
virtual void | CreateIntegrationPoints (IntegrationPointsArrayType &rIntegrationPoints, IntegrationInfo &rIntegrationInfo) const |
Quadrature Point Geometries | |
virtual void | CreateQuadraturePointGeometries (GeometriesArrayType &rResultGeometries, IndexType NumberOfShapeFunctionDerivatives, const IntegrationPointsArrayType &rIntegrationPoints, IntegrationInfo &rIntegrationInfo) |
virtual void | CreateQuadraturePointGeometries (GeometriesArrayType &rResultGeometries, IndexType NumberOfShapeFunctionDerivatives, IntegrationInfo &rIntegrationInfo) |
Operation within Global Space | |
virtual CoordinatesArrayType & | GlobalCoordinates (CoordinatesArrayType &rResult, CoordinatesArrayType const &LocalCoordinates) const |
void | GlobalCoordinates (CoordinatesArrayType &rResult, IndexType IntegrationPointIndex) const |
void | GlobalCoordinates (CoordinatesArrayType &rResult, IndexType IntegrationPointIndex, const IntegrationMethod ThisMethod) const |
This method provides the global coordinates to the corresponding integration point. More... | |
virtual CoordinatesArrayType & | GlobalCoordinates (CoordinatesArrayType &rResult, CoordinatesArrayType const &LocalCoordinates, Matrix &DeltaPosition) const |
virtual void | GlobalSpaceDerivatives (std::vector< CoordinatesArrayType > &rGlobalSpaceDerivatives, const CoordinatesArrayType &rLocalCoordinates, const SizeType DerivativeOrder) const |
This method maps from dimension space to working space and computes the number of derivatives at the dimension parameter. More... | |
virtual void | GlobalSpaceDerivatives (std::vector< CoordinatesArrayType > &rGlobalSpaceDerivatives, IndexType IntegrationPointIndex, const SizeType DerivativeOrder) const |
This method maps from dimension space to working space and computes the number of derivatives at the dimension parameter. More... | |
Spatial Operations | |
virtual int | ProjectionPoint (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rProjectedPointGlobalCoordinates, CoordinatesArrayType &rProjectedPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached. More... | |
virtual int | ProjectionPointLocalToLocalSpace (const CoordinatesArrayType &rPointLocalCoordinates, CoordinatesArrayType &rProjectionPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Projects a point onto the geometry Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached. This function requires an initial guess, provided by rProjectionPointLocalCoordinates. This function can be a very costly operation. More... | |
virtual int | ProjectionPointGlobalToLocalSpace (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rProjectionPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Projects a point onto the geometry Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached. This function requires an initial guess, provided by rProjectionPointLocalCoordinates. This function can be a very costly operation. More... | |
virtual int | ClosestPoint (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rClosestPointGlobalCoordinates, CoordinatesArrayType &rClosestPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Returns all coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found. More... | |
virtual int | ClosestPoint (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rClosestPointGlobalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Returns global coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found. More... | |
virtual int | ClosestPointLocalCoordinates (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rClosestPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Returns local coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found. More... | |
virtual int | ClosestPointLocalToLocalSpace (const CoordinatesArrayType &rPointLocalCoordinates, CoordinatesArrayType &rClosestPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Calculates the closes point projection This method calculates the closest point projection of a point in local space coordinates. More... | |
virtual int | ClosestPointGlobalToLocalSpace (const CoordinatesArrayType &rPointGlobalCoordinates, CoordinatesArrayType &rClosestPointLocalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Calculates the closes point projection This method calculates the closest point projection of a point in global space coordinates. More... | |
virtual double | CalculateDistance (const CoordinatesArrayType &rPointGlobalCoordinates, const double Tolerance=std::numeric_limits< double >::epsilon()) const |
Computes the distance between an point in global coordinates and the closest point of this geometry. If projection fails, double::max will be returned. More... | |
Jacobian | |
JacobiansType & | Jacobian (JacobiansType &rResult) const |
virtual JacobiansType & | Jacobian (JacobiansType &rResult, IntegrationMethod ThisMethod) const |
virtual JacobiansType & | Jacobian (JacobiansType &rResult, IntegrationMethod ThisMethod, Matrix &DeltaPosition) const |
Matrix & | Jacobian (Matrix &rResult, IndexType IntegrationPointIndex) const |
virtual Matrix & | Jacobian (Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
virtual Matrix & | Jacobian (Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod, const Matrix &rDeltaPosition) const |
virtual Matrix & | Jacobian (Matrix &rResult, const CoordinatesArrayType &rCoordinates) const |
virtual Matrix & | Jacobian (Matrix &rResult, const CoordinatesArrayType &rCoordinates, Matrix &rDeltaPosition) const |
Vector & | DeterminantOfJacobian (Vector &rResult) const |
virtual Vector & | DeterminantOfJacobian (Vector &rResult, IntegrationMethod ThisMethod) const |
double | DeterminantOfJacobian (IndexType IntegrationPointIndex) const |
virtual double | DeterminantOfJacobian (IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
virtual double | DeterminantOfJacobian (const CoordinatesArrayType &rPoint) const |
JacobiansType & | InverseOfJacobian (JacobiansType &rResult) const |
virtual JacobiansType & | InverseOfJacobian (JacobiansType &rResult, IntegrationMethod ThisMethod) const |
Matrix & | InverseOfJacobian (Matrix &rResult, IndexType IntegrationPointIndex) const |
virtual Matrix & | InverseOfJacobian (Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
virtual Matrix & | InverseOfJacobian (Matrix &rResult, const CoordinatesArrayType &rCoordinates) const |
Shape Function | |
const Matrix & | ShapeFunctionsValues () const |
virtual Vector & | ShapeFunctionsValues (Vector &rResult, const CoordinatesArrayType &rCoordinates) const |
const Matrix & | ShapeFunctionsValues (IntegrationMethod ThisMethod) const |
double | ShapeFunctionValue (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex) const |
double | ShapeFunctionValue (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, IntegrationMethod ThisMethod) const |
virtual double | ShapeFunctionValue (IndexType ShapeFunctionIndex, const CoordinatesArrayType &rCoordinates) const |
const ShapeFunctionsGradientsType & | ShapeFunctionsLocalGradients () const |
const ShapeFunctionsGradientsType & | ShapeFunctionsLocalGradients (IntegrationMethod ThisMethod) const |
const Matrix & | ShapeFunctionLocalGradient (IndexType IntegrationPointIndex) const |
const Matrix & | ShapeFunctionLocalGradient (IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
const Matrix & | ShapeFunctionLocalGradient (IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, IntegrationMethod ThisMethod) const |
virtual Matrix & | ShapeFunctionsLocalGradients (Matrix &rResult, const CoordinatesArrayType &rPoint) const |
const Matrix & | ShapeFunctionDerivatives (IndexType DerivativeOrderIndex, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const |
const Matrix & | ShapeFunctionDerivatives (IndexType DerivativeOrderIndex, IndexType IntegrationPointIndex) const |
virtual ShapeFunctionsSecondDerivativesType & | ShapeFunctionsSecondDerivatives (ShapeFunctionsSecondDerivativesType &rResult, const CoordinatesArrayType &rPoint) const |
virtual ShapeFunctionsThirdDerivativesType & | ShapeFunctionsThirdDerivatives (ShapeFunctionsThirdDerivativesType &rResult, const CoordinatesArrayType &rPoint) const |
void | ShapeFunctionsIntegrationPointsGradients (ShapeFunctionsGradientsType &rResult) const |
virtual void | ShapeFunctionsIntegrationPointsGradients (ShapeFunctionsGradientsType &rResult, IntegrationMethod ThisMethod) const |
virtual void | ShapeFunctionsIntegrationPointsGradients (ShapeFunctionsGradientsType &rResult, Vector &rDeterminantsOfJacobian, IntegrationMethod ThisMethod) const |
virtual void | ShapeFunctionsIntegrationPointsGradients (ShapeFunctionsGradientsType &rResult, Vector &rDeterminantsOfJacobian, IntegrationMethod ThisMethod, Matrix &ShapeFunctionsIntegrationPointsValues) const |
virtual int | Check () const |
Input and output | |
virtual std::string | Info () const |
Return geometry information as a string. More... | |
virtual std::string | Name () const |
Returns name. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintName (std::ostream &rOstream) const |
Print name. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Protected Member Functions | |
Geometry Data | |
void | SetGeometryData (GeometryData const *pGeometryData) |
updates the pointer to GeometryData of the respective geometry. More... | |
Protected Operations | |
virtual double | InradiusToCircumradiusQuality () const |
Quality functions. More... | |
virtual double | AreaToEdgeLengthRatio () const |
virtual double | ShortestAltitudeToEdgeLengthRatio () const |
virtual double | InradiusToLongestEdgeQuality () const |
virtual double | ShortestToLongestEdgeQuality () const |
virtual double | RegularityQuality () const |
virtual double | VolumeToSurfaceAreaQuality () const |
virtual double | VolumeToEdgeLengthQuality () const |
virtual double | VolumeToAverageEdgeLength () const |
virtual double | VolumeToRMSEdgeLength () const |
virtual double | MinDihedralAngle () const |
virtual double | MaxDihedralAngle () const |
virtual double | MinSolidAngle () const |
Protected Inquiry | |
bool | AllPointsAreValid () const |
Checks if the geometry points are valid Checks if the geometry points are valid from the pointer value Points are not valid when the pointer value is null. More... | |
Friends | |
Private Friends | |
template<class TOtherPointType > | |
class | Geometry |
Serialization | |
class | Serializer |
Inquiry | |
bool | empty () const |
bool | HasIntegrationMethod (IntegrationMethod ThisMethod) const |
IntegrationMethod | GetDefaultIntegrationMethod () const |
virtual IntegrationInfo | GetDefaultIntegrationInfo () const |
Provides the default integration per geometry. More... | |
virtual bool | IsSymmetric () const |
static bool | HasSameType (const GeometryType &rLHS, const GeometryType &rRHS) |
Checks if two GeometryType have the same type. More... | |
static bool | HasSameType (const GeometryType *rLHS, const GeometryType *rRHS) |
Checks if two GeometryType have the same type (pointer version) More... | |
static bool | HasSameGeometryType (const GeometryType &rLHS, const GeometryType &rRHS) |
Checks if two GeometryType have the same geometry type. More... | |
static bool | HasSameGeometryType (const GeometryType *rLHS, const GeometryType *rRHS) |
Checks if two GeometryType have the same geometry type (pointer version) More... | |
static bool | IsSame (const GeometryType &rLHS, const GeometryType &rRHS) |
Checks if two GeometryType are the same. More... | |
static bool | IsSame (const GeometryType *rLHS, const GeometryType *rRHS) |
Checks if two GeometryType are the same (pointer version) More... | |
Id | |
IndexType const & | Id () const |
Id of this Geometry. More... | |
bool | IsIdGeneratedFromString () |
Returns if id was generated from a geometry name. More... | |
bool | IsIdSelfAssigned () |
Returns if id was generated by itself. More... | |
void | SetId (const IndexType Id) |
Sets Id of this Geometry. More... | |
void | SetId (const std::string &rName) |
Sets Id with the use of the name of this geometry. More... | |
static IndexType | GenerateId (const std::string &rName) |
Gets the corresponding hash-Id to a string name. More... | |
Geometry base class.
As a base class Geometry has all the common interface of Kratos' geometries. Also it contains array of pointers to its points, reference to shape functions values in all integrations points and also local gradients of shape functions evaluated in all integrations points.
Geometry is a template class with just one template parameter:
typedef PointsArrayType::const_iterator Kratos::Geometry< TPointType >::const_iterator |
typedef const PointPointerType Kratos::Geometry< TPointType >::ConstPointPointerType |
typedef const TPointType& Kratos::Geometry< TPointType >::ConstPointReferenceType |
typedef PointType::CoordinatesArrayType Kratos::Geometry< TPointType >::CoordinatesArrayType |
typedef PointsArrayType::difference_type Kratos::Geometry< TPointType >::difference_type |
typedef PointerVector<GeometryType> Kratos::Geometry< TPointType >::GeometriesArrayType |
A Vector of counted pointers to Geometries. Used for returning edges of the geometry.
typedef Geometry<TPointType> Kratos::Geometry< TPointType >::GeometryType |
This Geometry type.
typedef std::size_t Kratos::Geometry< TPointType >::IndexType |
Type used for indexing in geometry class.std::size_t used for indexing point or integration point access methods and also all other methods which need point or integration point index.
typedef GeometryData::IntegrationMethod Kratos::Geometry< TPointType >::IntegrationMethod |
Integration methods implemented in geometry.
typedef std::vector<IntegrationPointType> Kratos::Geometry< TPointType >::IntegrationPointsArrayType |
A Vector of IntegrationPointType which used to hold integration points related to an integration method. IntegrationPoints functions used this type to return their results.
typedef std::array<IntegrationPointsArrayType, static_cast<int>GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> Kratos::Geometry< TPointType >::IntegrationPointsContainerType |
A Vector of IntegrationPointsArrayType which used to hold integration points related to different integration method implemented in geometry.
typedef IntegrationPoint<3> Kratos::Geometry< TPointType >::IntegrationPointType |
This type used for representing an integration point in geometry. This integration point is a point with an additional weight component.
typedef PointsArrayType::iterator Kratos::Geometry< TPointType >::iterator |
PointsArrayType typedefs.
typedef DenseVector<Matrix > Kratos::Geometry< TPointType >::JacobiansType |
A third order tensor to hold jacobian matrices evaluated at integration points. Jacobian and InverseOfJacobian functions return this type as their result.
typedef DenseVector<double> Kratos::Geometry< TPointType >::NormalType |
Type of the normal vector used for normal to edges in geomety.
typedef std::vector<PointPointerType> Kratos::Geometry< TPointType >::PointPointerContainerType |
typedef PointType::Pointer Kratos::Geometry< TPointType >::PointPointerType |
data type stores in this container.
typedef TPointType& Kratos::Geometry< TPointType >::PointReferenceType |
typedef PointerVector<TPointType> Kratos::Geometry< TPointType >::PointsArrayType |
Array of counted pointers to point. This type used to hold geometry's points.
typedef TPointType Kratos::Geometry< TPointType >::PointType |
Redefinition of geometry template parameter TPointType as this geometry point type.
typedef PointsArrayType::ptr_const_iterator Kratos::Geometry< TPointType >::ptr_const_iterator |
typedef PointsArrayType::ptr_iterator Kratos::Geometry< TPointType >::ptr_iterator |
typedef GeometryData::ShapeFunctionsGradientsType Kratos::Geometry< TPointType >::ShapeFunctionsGradientsType |
A third order tensor to hold shape functions' gradients. ShapefunctionsGradients function return this type as its result.
typedef GeometryData::ShapeFunctionsLocalGradientsContainerType Kratos::Geometry< TPointType >::ShapeFunctionsLocalGradientsContainerType |
A fourth order tensor used as shape functions' local gradients container in geometry.
typedef GeometryData::ShapeFunctionsSecondDerivativesType Kratos::Geometry< TPointType >::ShapeFunctionsSecondDerivativesType |
A third order tensor to hold shape functions' local second derivatives. ShapefunctionsLocalGradients function return this type as its result.
typedef GeometryData::ShapeFunctionsThirdDerivativesType Kratos::Geometry< TPointType >::ShapeFunctionsThirdDerivativesType |
A fourth order tensor to hold shape functions' local third order derivatives
typedef std::array<Matrix, static_cast<int>GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> Kratos::Geometry< TPointType >::ShapeFunctionsValuesContainerType |
A third order tensor used as shape functions' values continer.
typedef std::size_t Kratos::Geometry< TPointType >::SizeType |
This typed used to return size or dimension in geometry. Dimension, WorkingDimension, PointsNumber and ... return this type as their results.
|
strong |
This defines the different methods to compute the lumping methods.
The three methods available are:
Enumerator | |
---|---|
ROW_SUM | |
DIAGONAL_SCALING | |
QUADRATURE_ON_NODES |
|
strong |
Different criteria to evaluate the quality of a geometry. Different criteria to evaluate the quality of a geometry.
|
inline |
Standard Constructor. Generates self assigned id.
|
inline |
Standard Constructor with a geometry Id.
|
inline |
Standard Constructor with a Name.
|
inline |
Complete argument constructor. This constructor gives a complete set of arguments to pass all the initial value of all the member variables of geometry class. Also it has default value for integration variables to make it usefull in the case of constructing new geometry without mapping and integrating properties.
ThisPoints | Vector of pointers to points which this geometry constructing on them. Points must have dimension equal or greater than working space dimension though there is no control on it. |
ThisDefaultMethod | Default integration method. Its default value is gaussian integration with orden one which make no deference while in this condition there is no shape function database exist and integrating is not possible including by default method. |
ThisIntegrationPoints | All the integration points in all methods. This is a Vector of IntegrationPointsArrayType and It must have at least four component correspounding to four integration method defined now. If there is some geometry which don't have all this method implemented related points Vector must exist but with zero size. For example if a geometry don't have gaussian orden one ThisIntegrationPoints[GI_GAUSS_1] must be an empty IntegrationPointsArrayType. |
ThisShapeFunctionsValues | Values of all the shape functions evaluated in all integrations points of all integration methods. It's a three dimensional array \( F_{ijk} \) where i = GI_GAUSS_1,..., GI_GAUSS_4 and j is the integration point index and k is the shape function index. In the other word component \( f_{ijk} \) is the value of the shape function related to node k evaluated in integration point j of i integration method point set. Again if there is some integration method unsupported an empty Matrix must assigned to related place. For example if a geometry don't have gaussian orden four ThisShapeFunctionsValues[GI_GAUSS_4] must be an empty Matrix. |
ThisShapeFunctionsLocalGradients | Values of local gradients respected to all local coordinates of all the shape functions evaluated in all integrations points of all integration methods. It's a four dimensional array \( F_{ijkh} \) where i = GI_GAUSS_1,..., GI_GAUSS_4 and j is the integration point index and k is the shape function index and h is local coordinate index. In the other word component \( f_{ijkh} \) is the value of h'th component of local gradient of the shape function related to node k evaluated in integration point j of i integration method point set. Again if there is some integration method unsupported an empty ShapeFunctionsGradientsType must assigned to related place. For example if a geometry don't have gaussian orden two ThisShapeFunctionsValues[GI_GAUSS_2] must be an empty ShapeFunctionsGradientsType. |
|
inline |
|
inline |
|
inline |
Copy constructor.
|
inline |
Copy constructor with TOtherPointType.
Copies geometry with a different type of points. TOtherPointType* must be implicity convertible to TPointType of the original geometry.
|
inlinevirtual |
Destructor. Do nothing!!!
|
inlinevirtual |
Allows to enhance the coupling geometry, with another geometry.
pGeometry | The new geometry to add |
Reimplemented in Kratos::CouplingGeometry< TPointType >.
|
inlineprotected |
Checks if the geometry points are valid Checks if the geometry points are valid from the pointer value Points are not valid when the pointer value is null.
|
inlinevirtual |
This method calculate and return area or surface area of this geometry depending to it's dimension.
For one dimensional geometry it returns length, for two dimensional it gives area and for three dimensional geometries it gives surface area.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inlineprotectedvirtual |
Calculates the minimum to maximum edge length quality metric. Calculates the minimum to maximum edge length quality metric. This metric is bounded by the interval (0,1) being: 1 -> Optimal value 0 -> Worst value
@formulae $$ \frac{h_{min}}{h_{max}} $$
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, and Kratos::Triangle2D3< Kratos::Node >.
|
inlinevirtual |
Assign with array_1d<double, 2>
|
inlinevirtual |
Assign with array_1d<double, 3>
Reimplemented in Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >.
|
inlinevirtual |
Assign with array_1d<double, 6>
|
inlinevirtual |
Assign with bool.
|
inlinevirtual |
Assign with double.
|
inlinevirtual |
Assign with int.
|
inlinevirtual |
Assign with Matrix.
Reimplemented in Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >.
|
inlinevirtual |
Assign with Vector.
|
inlinevirtual |
This method calculates and returns the average edge. length of the geometry.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, and Kratos::Hexahedra3D27< Kratos::Node >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Calculates the boundingbox of the geometry.
Corresponds with the highest and lowest point in space
rLowPoint | Lower point of the boundingbox. |
rHighPoint | Higher point of the boundingbox. |
|
inlinevirtual |
Calculate with array_1d<double, 2>
|
inlinevirtual |
Calculate with array_1d<double, 3>
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Calculate with array_1d<double, 6>
|
inlinevirtual |
Calculate with bool.
|
inlinevirtual |
Calculate with double.
|
inlinevirtual |
Calculate with int.
|
inlinevirtual |
Calculate with Matrix.
Reimplemented in Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >.
|
inlinevirtual |
Calculate with Vector.
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, and Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >.
|
inlinevirtual |
Computes the distance between an point in global coordinates and the closest point of this geometry. If projection fails, double::max will be returned.
rPointGlobalCoordinates | the point to which the closest point has to be found. |
Tolerance | accepted orthogonal error. |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inline |
|
inlinevirtual |
Calculates center of this geometry by a simple averaging algorithm. Each center point component calculated using:
\[ c_i = \sum_j^n(x_i^j) / n \]
where \( c_i \) is component i of center point and \( X_i^j \) is component i of j'th point of geometry and n is number of the points in this geometry.
Reimplemented in Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
|
inlinevirtual |
Calculates the circumradius of the geometry. Calculates the circumradius of the geometry.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inline |
|
inline |
This methods will create a duplicate of all its points and substitute them with its points.
|
inlinevirtual |
Returns global coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found.
rPointGlobalCoordinates | the point to which the closest point has to be found. |
rClosestPointGlobalCoordinates | the location of the closest point in global coordinates. |
WARNING: This function does not provide the possibility to use an initial guess!!
Tolerance | accepted orthogonal error. |
|
inlinevirtual |
Returns all coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found.
rPointGlobalCoordinates | the point to which the closest point has to be found. |
rClosestPointGlobalCoordinates | the location of the closest point in global coordinates. |
rClosestPointLocalCoordinates | the location of the closest point in local coordinates. IMPORTANT: The variable can also be used as initial guess. |
Tolerance | accepted orthogonal error. |
|
inlinevirtual |
Calculates the closes point projection This method calculates the closest point projection of a point in global space coordinates.
rPointLocalCoordinates | Input global coordinates |
rClosestPointLocalCoordinates | Closest point local coordinates. This should be initialized with the initial guess |
Tolerance | Accepted orthogonal error |
|
inlinevirtual |
Returns local coordinates of the closest point on the geometry given to an arbitrary point in global coordinates. The basic concept is to first do a projection towards this geometry and second checking if the projection was successfull or if no point on the geometry was found.
rPointGlobalCoordinates | the point to which the closest point has to be found. |
rClosestPointLocalCoordinates | the location of the closest point in local coordinates. |
IMPORTANT: The rClosestPointLocalCoordinates can also be used as initial guess.
Tolerance | accepted orthogonal error. |
|
inlinevirtual |
Calculates the closes point projection This method calculates the closest point projection of a point in local space coordinates.
rPointLocalCoordinates | Input local coordinates |
rClosestPointLocalCoordinates | Closest point local coordinates. This should be initialized with the initial guess |
Tolerance | Accepted orthogonal error |
Reimplemented in Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, and Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Calculates the dihedral angles of the geometry. Calculates the dihedral angles of the geometry.
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlinevirtual |
Calculates the solid angles of the geometry. Calculates the solid angles of the geometry.
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlinevirtual |
Creates a new geometry pointer.
rGeometry | Reference to an existing geometry |
Reimplemented in Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< Kratos::Node >, and Kratos::Sphere3D1< Kratos::Node >.
|
inlinevirtual |
Creates a new geometry pointer.
NewGeometryId | the ID of the new geometry |
rGeometry | Reference to an existing geometry |
Reimplemented in Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< Kratos::Node >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< Kratos::Node >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< Kratos::Node >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< Kratos::Node >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inlinevirtual |
Creates a new geometry pointer.
NewGeometryId | the ID of the new geometry |
rThisPoints | the nodes of the new geometry |
Reimplemented in Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inline |
Creates a new geometry pointer.
rNewGeometryName | the name of the new geometry |
rGeometry | Reference to an existing geometry |
|
inline |
Creates a new geometry pointer.
rNewGeometryName | the name of the new geometry |
rThisPoints | the nodes of the new geometry |
|
inlinevirtual |
Creates a new geometry pointer.
rThisPoints | the nodes of the new geometry |
Reimplemented in Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::Line3DN< TPointType >, Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, and Kratos::Sphere3D1< Kratos::Node >.
|
inlinevirtual |
Reimplemented in Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Reimplemented in Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
|
inlinevirtual |
Determinant of jacobian in given point. This method calculate determinant of jacobian matrix in given point.
rPoint | point which determinant of jacobians has to be calculated in it. |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::PrismInterface3D6< TPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inline |
Determinant of jacobian in specific integration point of default integration method. This method just call DeterminantOfJacobian(IndexType IntegrationPointIndex, enum IntegrationMethod ThisMethod) with default integration method.
IntegrationPointIndex | index of integration point which determinant jacobians has to be calculated in it. |
|
inlinevirtual |
Determinant of jacobian in specific integration point of given integration method. This method calculate determinant of jacobian in given integration point of given integration method.
IntegrationPointIndex | index of integration point which jacobians has to be calculated in it. |
IntegrationPointIndex | index of integration point which determinant of jacobians has to be calculated in it. |
Reimplemented in Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Triangle3D3< TPointType >, and Kratos::Triangle3D3< Kratos::Node >.
|
inline |
Determinant of jacobians for default integration method. This method just call DeterminantOfJacobian(enum IntegrationMethod ThisMethod) with default integration method.
|
inlinevirtual |
Determinant of jacobians for given integration method. This method calculate determinant of jacobian in all integrations points of given integration method.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Line3DN< TPointType >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, and Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >.
|
inlinevirtual |
This method calculate and return length, area or volume of this geometry depending to it's dimension.
For one dimensional geometry it returns its length, for two dimensional it gives area and for three dimensional geometries it gives its volume.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
This method gives you number of all edges of this geometry.
For example, for a hexahedron, this would be 12
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Returns the number of faces of the current geometry.
This is only implemented for 3D geometries, since 2D geometries only have edges but no faces
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inline |
|
inline |
|
inlinevirtual |
This method gives you all boundaries entities of this geometry.
This method will gives you all the boundaries entities
|
inlinevirtual |
This method gives you all edges of this geometry.
This method will gives you all the edges with one dimension less than this geometry. For example a triangle would return three lines as its edges or a tetrahedral would return four triangle as its edges but won't return its six edge lines by this method.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inlinevirtual |
Returns all faces of the current geometry.
This is only implemented for 3D geometries, since 2D geometries only have edges but no faces
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inlinestatic |
Gets the corresponding hash-Id to a string name.
|
inlinevirtual |
This method gives you all points of this geometry.
This method will gives you all the points
|
inline |
** Gives a reference to underly normal container. */
|
inline |
Gives a constant reference to underly normal container.
|
inline |
Access Data:
|
inline |
|
inlinevirtual |
Provides the default integration per geometry.
Reimplemented in Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inline |
|
inline |
GeometryData contains all information about dimensions and has a set of precomputed values for integration points and shape functions, including derivatives.
|
inlinevirtual |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Some geometries require relations to other geometries. This is the case for e.g. quadrature points. To reach the parent geometry this function can be used.
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, and Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >.
|
inlinevirtual |
Used for composite geometries. It returns the the geometry part, corresponding to the Index.
Index | of the geometry part. This index can be used differently within the derived classes. |
|
inlinevirtual |
Used for composite geometries. It returns the the geometry part, corresponding to the Index.
Index | of the geometry part. This index can be used differently within the derived classes. |
|
inlinevirtual |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inline |
An access method to the i'th points stored in this geometry.
|
inline |
A constant access method to the i'th points stored in this geometry.
|
inline |
Get Data with GetValue and the Variable to get:
|
inline |
|
inlinevirtual |
This method provides the global coordinates corresponding to the local coordinates provided
rResult | The array containing the global coordinates corresponding to the local coordinates provided |
LocalCoordinates | The local coordinates provided |
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
This method provides the global coordinates corresponding to the local coordinates provided, considering additionally a certain increment in the coordinates
rResult | The array containing the global coordinates corresponding to the local coordinates provided |
LocalCoordinates | The local coordinates provided |
DeltaPosition | The increment of position considered |
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, and Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >.
|
inline |
This method provides the global coordinates to the corresponding integration point
rResult | The global coordinates |
IntegrationPointIndex | The index of the integration point |
|
inline |
This method provides the global coordinates to the corresponding integration point.
rResult | The global coordinates |
IntegrationPointIndex | The index of the integration point |
ThisMethod | The integration method |
|
inlinevirtual |
This method maps from dimension space to working space and computes the number of derivatives at the dimension parameter.
rGlobalSpaceDerivatives | The derivative in global space. |
rLocalCoordinates | the local coordinates |
rDerivativeOrder | of computed derivatives |
Reimplemented in Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, and Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >.
|
inlinevirtual |
This method maps from dimension space to working space and computes the number of derivatives at the dimension parameter.
IntegrationPointIndex | the coordinates of a certain integration point. |
rDerivativeOrder | of computed derivatives |
|
inline |
Check if the Data exists with Has(..) methods:
|
inlinevirtual |
Use to check if certain Indexed object is within the geometry parts of this geometry.
Index | of the geometry part. This index can be used differently within the derived classes. |
Reimplemented in Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inline |
This method confirm you if this geometry has a specific integration method or not. This method will be usefull to control the geometry before intagrating using a specific method. In Geometry class this method controls if the integration points vector respecting to this method is empty or not.
|
inlinevirtual |
Test the intersection with another geometry
Test if this geometry intersects with other geometry
ThisGeometry | Geometry to intersect with |
Reimplemented in Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Line3D2< Kratos::Node >, and Kratos::Line2D2< Kratos::Node >.
|
inlinevirtual |
Test intersection of the geometry with a box
Tests the intersection of the geometry with a 3D box defined by rLowPoint and rHighPoint
rLowPoint | Lower point of the box to test the intersection |
rHighPoint | Higher point of the box to test the intersection |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, and Kratos::Hexahedra3D27< Kratos::Node >.
|
inlinestatic |
Checks if two GeometryType have the same geometry type.
|
inlinestatic |
Checks if two GeometryType have the same geometry type (pointer version)
|
inlinestatic |
Checks if two GeometryType have the same type.
|
inlinestatic |
Checks if two GeometryType have the same type (pointer version)
|
inline |
Id of this Geometry.
|
inlinevirtual |
Return geometry information as a string.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Calculates the inradius of the geometry. Calculates the inradius of the geometry.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlineprotectedvirtual |
Quality functions.
Calculates the inradius to circumradius quality metric. Calculates the inradius to circumradius quality metric. This metric is bounded by the interval (0,1) being: 1 -> Optimal value 0 -> Worst value
\( \frac{r}{\rho} \)
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the inradius to longest edge quality metric. Calculates the inradius to longest edge quality metric. This metric is bounded by the interval (0,1) being: 1 -> Optimal value 0 -> Worst value
\( \frac{r}{L} \)
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inline |
Integtation points for default integration method. This method just call IntegrationPoints(enum IntegrationMethod ThisMethod) with default integration method.
|
inline |
Integtation points for given integration method. This method use integration points data base to obtain integration points Vector respected to given method.
|
inline |
Number of integtation points for default integration method. This method just call IntegrationPointsNumber(enum IntegrationMethod ThisMethod) with default integration method.
|
inline |
Number of integtation points for given integration method. This method use integration points data base to obtain size of the integration points Vector respected to given method.
|
inline |
Inverse of jacobians for default integration method. This method just call InverseOfJacobian(enum IntegrationMethod ThisMethod) with default integration method.
|
inlinevirtual |
Inverse of jacobians for given integration method. This method calculate inverse of jacobians matrices in all integrations points of given integration method.
ThisMethod | integration method which inverse of jacobians has to be calculated in its integration points. |
Reimplemented in Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Inverse of jacobian in given point. This method calculate inverse of jacobian matrix in given point.
rPoint | point which inverse of jacobians has to be calculated in it. |
Reimplemented in Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Line3DN< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, and Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >.
|
inline |
Inverse of jacobian in specific integration point of default integration method. This method just call InverseOfJacobian(IndexType IntegrationPointIndex, enum IntegrationMethod ThisMethod) with default integration method.
IntegrationPointIndex | index of integration point which inverse of jacobians has to be calculated in it. |
|
inlinevirtual |
Inverse of jacobian in specific integration point of given integration method. This method calculate Inverse of jacobian matrix in given integration point of given integration method.
IntegrationPointIndex | index of integration point which inverse of jacobians has to be calculated in it. |
ThisMethod | integration method which inverse of jacobians has to be calculated in its integration points. |
Reimplemented in Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, and Kratos::Line3DN< TPointType >.
|
inline |
Returns if id was generated from a geometry name.
|
inline |
Returns if id was generated by itself.
|
inlinevirtual |
Checks if given point in global space coordinates is inside the geometry boundaries. This function computes the local coordinates and checks then if this point lays within the boundaries.
rPointGlobalCoordinates | the global coordinates of the external point. |
rResult | the local coordinates of the point. |
Tolerance | the tolerance to the boundary. |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Checks if given point in local space coordinates of this geometry is inside the geometry boundaries.
rPointLocalCoordinates | the point on the geometry, which shall be checked if it lays within the boundaries. |
Tolerance | the tolerance to the boundary. |
Reimplemented in Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, and Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinestatic |
Checks if two GeometryType are the same.
|
inlinestatic |
Checks if two GeometryType are the same (pointer version)
|
inlinevirtual |
This method is to know if this geometry is symmetric or not.
|
inline |
Jacobians for default integration method. This method just call Jacobian(enum IntegrationMethod ThisMethod) with default integration method.
|
inlinevirtual |
Jacobians for given method. This method calculate jacobians matrices in all integrations points of given integration method.
ThisMethod | integration method which jacobians has to be calculated in its integration points. |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Jacobians for given method. This method calculate jacobians matrices in all integrations points of given integration method.
ThisMethod | integration method which jacobians has to be calculated in its integration points. |
DeltaPosition | Matrix with the nodes position increment which describes the configuration where the jacobian has to be calculated. |
Reimplemented in Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Jacobian in given point. This method calculate jacobian matrix in given point.
rCoordinates | point which jacobians has to be calculated in it. |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Line3DN< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::NurbsVolumeGeometry< TContainerPointType >, and Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >.
|
inlinevirtual |
Jacobian in given point. This method calculate jacobian matrix in given point.
rCoordinates | point which jacobians has to be calculated in it. |
rDeltaPosition | Matrix with the nodes position increment which describes the configuration where the jacobian has to be calculated. |
|
inline |
Jacobian in specific integration point of default integration method. This method just call Jacobian(IndexType IntegrationPointIndex, enum IntegrationMethod ThisMethod) with default integration method.
IntegrationPointIndex | index of integration point which jacobians has to be calculated in it. |
|
inlinevirtual |
Jacobian in specific integration point of given integration method. This method calculate jacobian matrix in given integration point of given integration method.
IntegrationPointIndex | index of integration point which jacobians has to be calculated in it. |
ThisMethod | integration method which jacobians has to be calculated in its integration points. |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Line3DN< TPointType >, and Kratos::QuadraturePointPartitionedGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >.
|
inlinevirtual |
Jacobian in specific integration point of given integration method. This method calculate jacobian matrix in given integration point of given integration method.
IntegrationPointIndex | index of integration point which jacobians has to be calculated in it. |
ThisMethod | integration method which jacobians has to be calculated in its integration points. |
rDeltaPosition | Matrix with the nodes position increment which describes the configuration where the jacobian has to be calculated. |
Reimplemented in Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::PrismInterface3D6< TPointType >, and Kratos::HexahedraInterface3D8< TPointType >.
Kratos::Geometry< TPointType >::KRATOS_CLASS_POINTER_DEFINITION | ( | Geometry< TPointType > | ) |
Pointer definition of Geometry.
|
inline |
This method gives you all edges of this geometry.
This method will gives you all the edges with one dimension less than this geometry. For example a triangle would return three lines as its edges or a tetrahedral would return four triangle as its edges but won't return its six edge lines by this method.
|
inline |
Returns all faces of the current geometry.
This is only implemented for 3D geometries, since 2D geometries only have edges but no faces
|
inlinevirtual |
This method calculate and return Length or charactereistic length of this geometry depending to it's dimension. For one dimensional geometry for example Line it returns length of it and for the other geometries it gives Characteristic length otherwise.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::Line3DN< TPointType >.
|
inline |
Local space dimension. for example a triangle is a 2 dimensional shape but can have 3 dimensional area coordinates l1, l2, l3.
|
inlinevirtual |
Lumping factors for the calculation of the lumped mass matrix.
rResult | Vector containing the lumping factors |
LumpingMethod | The lumping method considered. The three methods available are:
|
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inline |
|
inlineprotectedvirtual |
Calculates the max dihedral angle quality metric. Calculates the max dihedral angle quality metric. The max dihedral angle is max angle between two faces of the element In radians
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlinevirtual |
This method calculates and returns the maximum edge. length of the geometry.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the min dihedral angle quality metric. Calculates the min dihedral angle quality metric. The min dihedral angle is min angle between two faces of the element In radians
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlinevirtual |
This method calculates and returns the minimum edge. length of the geometry.
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the min solid angle quality metric. Calculates the min solid angle quality metric. The min solid angle [stereoradians] is the lowest solid angle "seen" from any of the 4 nodes of the geometry. Valid only for 3d elems! In stereo radians
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlinevirtual |
Returns name.
|
inlinevirtual |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inlinevirtual |
It returns a vector that is normal to its corresponding geometry in the given local point.
rPointLocalCoordinates | Reference to the local coordinates of the point in where the normal is to be computed |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inlinevirtual |
It returns the vector, which is normal to its corresponding geometry in the given integration point for the default integration method.
IntegrationPointIndex | index in internal integration point list |
|
inlinevirtual |
It returns the vector, which is normal to its corresponding geometry in the given integration point.
IntegrationPointIndex | index in internal integration point list |
ThisMethod | the integration point is dependent on the used integration method |
Reimplemented in Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, and Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >.
|
inlinevirtual |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inlinevirtual |
Reimplemented in Kratos::CouplingGeometry< TPointType >.
|
inline |
|
inline |
|
inline |
|
inline |
Assignment operator.
|
inline |
Assignment operator for geometries with different point type.
|
inline |
|
inline |
|
inlinevirtual |
Used for composite geometries. It returns the pointer of a geometry part, corresponding to the Index.
Index | of the geometry part. This index can be used differently within the derived classes. |
Reimplemented in Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Used for composite geometries. It returns the const pointer of a geometry part, corresponding to the Index.
This index is dependent on the derived implementation.
Index | of the geometry part. This index can be used differently within the derived classes. |
Reimplemented in Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inline |
An access method to the i'th points stored in this geometry.
|
inline |
A constant access method to the i'th points stored in this geometry.
|
inlinevirtual |
Returns the local coordinates of a given arbitrary point.
rResult | The vector containing the local coordinates of the point |
rPoint | The point in global coordinates |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, and Kratos::HexahedraInterface3D8< TPointType >.
|
inline |
An access method to the Vector of the points stored in this geometry.
|
inline |
A constant access method to the Vector of the points stored in this geometry.
|
inlinevirtual |
Returns a matrix of the local coordinates of all points
rResult | a Matrix that will be overwritten by the results |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, and Kratos::Line3DN< TPointType >.
|
inline |
@detail Returns the number of the points/ nodes belonging to this geometry.
|
inlinevirtual |
Returns number of points per direction.
Reimplemented in Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Return polynomial degree of the geometry in a certain direction.
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::SurfaceInNurbsVolumeGeometry< TWorkingSpaceDimension, TVolumeContainerPointType >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointSurfaceInVolumeGeometry< TPointType >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::QuadraturePointCurveOnSurfaceGeometry< TPointType >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::Point3D< TPointType >, Kratos::Point3D< Kratos::Node >, Kratos::Point2D< TPointType >, Kratos::Point2D< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::CouplingGeometry< TPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
Print name.
|
inlinevirtual |
Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached.
This function requires an initial guess, provided by rProjectedPointLocalCoordinates. This function can be a very costly operation.
rPointGlobalCoordinates | the point to which the projection has to be found. |
rProjectedPointGlobalCoordinates | the location of the projection in global coordinates. |
rProjectedPointLocalCoordinates | the location of the projection in local coordinates. The variable is as initial guess! |
Tolerance | accepted of orthogonal error to projection. |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inlinevirtual |
Projects a point onto the geometry Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached. This function requires an initial guess, provided by rProjectionPointLocalCoordinates. This function can be a very costly operation.
rPointLocalCoordinates | Global coordinates of the point to be projected |
rProjectionPointLocalCoordinates | Projection point local coordinates. This should be initialized with the initial guess |
Tolerance | Accepted orthogonal error |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inlinevirtual |
Projects a point onto the geometry Projects a certain point on the geometry, or finds the closest point, depending on the provided initial guess. The external point does not necessary lay on the geometry. It shall deal as the interface to the mathematical projection function e.g. the Newton-Raphson. Thus, the breaking criteria does not necessarily mean that it found a point on the surface, if it is really the closest if or not. It shows only if the breaking criteria, defined by the tolerance is reached. This function requires an initial guess, provided by rProjectionPointLocalCoordinates. This function can be a very costly operation.
rPointLocalCoordinates | Local coordinates of the point to be projected |
rProjectionPointLocalCoordinates | Projection point local coordinates. This should be initialized with the initial guess |
Tolerance | Accepted orthogonal error |
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Line2D2< TPointType >, and Kratos::Line2D2< Kratos::Node >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Calculates the quality of the geometry according to a given criteria.
Calculates the quality of the geometry according to a given criteria. In General The quality of the result is normalized being 1.0 for best quality, 0.0 for degenerated elements and -1.0 for inverted elements.
Different crtieria can be used to stablish the quality of the geometry.
|
inlineprotectedvirtual |
Calculates the Regularity quality metric. Calculates the Regularity quality metric. This metric is bounded by the interval (-1,1) being: 1 -> Optimal value 0 -> Worst value -1 -> Negative volume
\( \frac{4r}{H} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlinevirtual |
Removes a geometry part.
Index | of the geometry part. |
Reimplemented in Kratos::CouplingGeometry< TPointType >.
|
inlinevirtual |
Removes a geometry part.
pGeometry | The new geometry to remove |
Reimplemented in Kratos::CouplingGeometry< TPointType >.
|
inline |
|
inline |
|
inlineprotected |
updates the pointer to GeometryData of the respective geometry.
pGeometryData | pointer to const GeometryData. |
|
inlinevirtual |
Some geometries require relations to other geometries. This is the case for e.g. quadrature points. To set or change the parent geometry this function can be used.
Parent | geometry of this geometry object. |
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, and Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >.
|
inlinevirtual |
Allows to exchange certain geometries.
Index | of the geometry part. 0->Master; 1->Slave |
pGeometry | The new geometry to add |
Reimplemented in Kratos::CouplingGeometry< TPointType >.
|
inlinevirtual |
Reimplemented in Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, and Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >.
|
inline |
Sets Id of this Geometry.
|
inline |
Sets Id with the use of the name of this geometry.
|
inline |
Set Data with SetValue and the Variable to set:
|
inline |
|
inline |
|
inline |
This method gives gradient of given shape function evaluated in given integration point of default integration method. It just call ShapeFunctionLocalGradient(IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, enum IntegrationMethod ThisMethod) with default integration method. There is no calculation and it just give it from shape functions values container if they are existing. Otherwise it gives you error which this value is not exist.
IntegrationPointIndex | index of integration point which shape function gradient evaluated in it. |
ShapeFunctionIndex | index of node which correspounding shape function gradient evaluated in given integration point. |
|
inline |
|
inline |
This method gives gradient of given shape function evaluated in given integration point of given integration method. There is no calculation and it just give it from shape functions values container if they are existing. Otherwise it gives you error which this value is not exist.
IntegrationPointIndex | index of integration point which shape function gradient evaluated in it. |
ShapeFunctionIndex | index of node which correspounding shape function gradient evaluated in given integration point. |
ThisMethod | integration method which shape function gradient evaluated in its integration points. |
|
inline |
|
inlinevirtual |
Reimplemented in Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::HexahedraInterface3D8< TPointType >, and Kratos::Line3DN< TPointType >.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
This method gives all shape functions gradients evaluated in all integration points of default integration method. It just call ShapeFunctionsLocalGradients(enum IntegrationMethod ThisMethod) with default integration method. There is no calculation and it just give it from shape functions values container.
|
inline |
This method gives all shape functions gradients evaluated in all integration points of given integration method. There is no calculation and it just give it from shape functions values container.
ThisMethod | integration method which shape functions gradients evaluated in its integration points. |
|
inlinevirtual |
This method gives gradient of all shape functions evaluated in given point. There is no calculation and it just give it from shape functions values container if they are existing. Otherwise it gives you error which this value is not exist.
rResult | the given Container that will be overwritten by the solution |
rPoint | the given local coordinates the gradients will be evaluated for |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Line3DN< TPointType >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inlinevirtual |
This method gives second order derivatives of all shape functions evaluated in given point.
rResult | the given container will be overwritten by the results |
rPoint | the given local coordinates the derivatives will be evaluated for. |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlinevirtual |
This method gives third order derivatives of all shape functions evaluated in given point.
rResult | the given container will be overwritten by the results |
rPoint | the given local coordinates the derivatives will be evaluated for. |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, and Kratos::PrismInterface3D6< TPointType >.
|
inline |
This method gives all shape functions values evaluated in all integration points of default integration method. It just call ShapeFunctionsValues(enum IntegrationMethod ThisMethod) with default integration method.There is no calculation and it just give it from shape functions values container.
|
inline |
This method gives all shape functions values evaluated in all integration points of given integration method. There is no calculation and it just give it from shape functions values container.
ThisMethod | integration method which shape functions evaluated in its integration points. |
|
inlinevirtual |
This method gives all non-zero shape functions values evaluated at the rCoordinates provided
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TLocalSpaceDimension, TDimension >, Kratos::QuadraturePointGeometry< TPointType, TWorkingSpaceDimension, TWorkingSpaceDimension, TWorkingSpaceDimension >, Kratos::QuadraturePointGeometry< Kratos::Node, 3 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2 >, Kratos::QuadraturePointGeometry< TPointType, 3, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 2 >, Kratos::QuadraturePointGeometry< Kratos::Node, 1 >, Kratos::QuadraturePointGeometry< TPointType, 3, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 2, 1 >, Kratos::QuadraturePointGeometry< Kratos::Node, 3, 1 >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::PointOnGeometry< TContainerPointType, TWorkingSpaceDimension, TLocalSpaceDimensionOfBackground >, Kratos::NurbsVolumeGeometry< TContainerPointType >, Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D5< TPointType >, Kratos::Line2D4< TPointType >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::BrepSurface< TContainerPointType, TContainerPointEmbeddedType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::BrepCurve< TContainerPointType, TContainerPointEmbeddedType >.
|
inline |
This method gives value of given shape function evaluated in given integration point of default integration method. It just call ShapeFunctionValue(IndexType IntegrationPointIndex, IndexType ShapeFunctionIndex, enum IntegrationMethod ThisMethod) with default integration method. There is no calculation and it just give it from shape functions values container if they are existing. Otherwise it gives you error which this value is not exist.
IntegrationPointIndex | index of integration point which shape functions evaluated in it. |
ShapeFunctionIndex | index of node which correspounding shape function evaluated in given integration point. |
|
inline |
This method gives value of given shape function evaluated in given integration point of given integration method. There is no calculation and it just give it from shape functions values container if they are existing. Otherwise it gives you error which this value is not exist.
IntegrationPointIndex | index of integration point which shape functions evaluated in it. |
ShapeFunctionIndex | index of node which correspounding shape function evaluated in given integration point. |
ThisMethod | integration method which shape function evaluated in its integration point. |
|
inlinevirtual |
This method gives value of given shape function evaluated in given point.
rPoint | Point of evaluation of the shape function. This point must be in local coordinate. |
ShapeFunctionIndex | index of node which correspounding shape function evaluated in given integration point. |
Reimplemented in Kratos::Triangle3D6< TPointType >, Kratos::Triangle3D6< Kratos::Node >, Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D6< TPointType >, Kratos::Triangle2D6< Kratos::Node >, Kratos::Triangle2D3< TPointType >, Kratos::Triangle2D3< Kratos::Node >, Kratos::Triangle2D15< TPointType >, Kratos::Triangle2D10< TPointType >, Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::Sphere3D1< TPointType >, Kratos::Sphere3D1< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::QuadrilateralInterface2D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D8< TPointType >, Kratos::Quadrilateral2D8< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::LineGaussLobatto3D2< TPointType >, Kratos::Line3D3< TPointType >, Kratos::Line3D3< Kratos::Node >, Kratos::Line3D2< TPointType >, Kratos::Line3D2< Kratos::Node >, Kratos::Line2D3< TPointType >, Kratos::Line2D3< Kratos::Node >, Kratos::Line2D2< TPointType >, Kratos::Line2D2< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, Kratos::Hexahedra3D20< Kratos::Node >, Kratos::Line3DN< TPointType >, Kratos::Line2D5< TPointType >, and Kratos::Line2D4< TPointType >.
|
inlineprotectedvirtual |
Calculates the shortest altitude to edge length quality metric. Calculates the shortest altitude to edge length quality metric. This metric is bounded by the interval (0,1) being: 1 -> Optimal value 0 -> Worst value
@formulae $$ \frac{h_{min}}{h_{max}} $$
Reimplemented in Kratos::Triangle3D3< TPointType >, Kratos::Triangle3D3< Kratos::Node >, Kratos::Triangle2D3< TPointType >, and Kratos::Triangle2D3< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the shortest to longest edge quality metric. Calculates the shortest to longest edge quality metric. This metric is bounded by the interval (0,1) being: 1 -> Optimal value 0 -> Worst value
\( \frac{l}{L} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inline |
|
inlinevirtual |
Reimplemented in Kratos::CouplingGeometry< TPointType >, Kratos::NurbsCurveOnSurfaceGeometry< TWorkingSpaceDimension, TCurveContainerPointType, TSurfaceContainerPointType >, Kratos::NurbsCurveGeometry< TWorkingSpaceDimension, TContainerPointType >, Kratos::BrepCurveOnSurface< TContainerPointType, TContainerPointEmbeddedType >, and Kratos::NurbsSurfaceGeometry< TWorkingSpaceDimension, TContainerPointType >.
|
inline |
|
inlinevirtual |
It computes the unit normal of the geometry in the given local point.
rPointLocalCoordinates | Refernce to the local coordinates of the point in where the unit normal is to be computed |
|
inlinevirtual |
It returns the normalized normal vector in the given integration point.
IntegrationPointIndex | index in internal integration point list |
ThisMethod | the integration point is dependent on the used integration method |
|
inlinevirtual |
It returns the normalized normal vector in the given integration point.
IntegrationPointIndex | index in internal integration point list |
ThisMethod | the integration point is dependent on the used integration method |
|
inlinevirtual |
This method calculate and return volume of this geometry.
For one and two dimensional geometry it returns zero and for three dimensional it gives volume of geometry.
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Tetrahedra3D10< TPointType >, Kratos::Tetrahedra3D10< Kratos::Node >, Kratos::QuadrilateralInterface3D4< TPointType >, Kratos::Quadrilateral3D9< TPointType >, Kratos::Quadrilateral3D9< Kratos::Node >, Kratos::Quadrilateral3D8< TPointType >, Kratos::Quadrilateral3D8< Kratos::Node >, Kratos::Quadrilateral3D4< TPointType >, Kratos::Quadrilateral3D4< Kratos::Node >, Kratos::Quadrilateral2D9< TPointType >, Kratos::Quadrilateral2D9< Kratos::Node >, Kratos::Quadrilateral2D4< TPointType >, Kratos::Quadrilateral2D4< Kratos::Node >, Kratos::Pyramid3D5< TPointType >, Kratos::Pyramid3D5< Kratos::Node >, Kratos::Pyramid3D13< TPointType >, Kratos::Pyramid3D13< Kratos::Node >, Kratos::PrismInterface3D6< TPointType >, Kratos::Prism3D6< TPointType >, Kratos::Prism3D6< Kratos::Node >, Kratos::Prism3D15< TPointType >, Kratos::Prism3D15< Kratos::Node >, Kratos::HexahedraInterface3D8< TPointType >, Kratos::Hexahedra3D8< TPointType >, Kratos::Hexahedra3D8< Kratos::Node >, Kratos::Hexahedra3D27< TPointType >, Kratos::Hexahedra3D27< Kratos::Node >, Kratos::Hexahedra3D20< TPointType >, and Kratos::Hexahedra3D20< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the volume to average edge lenght quality metric. Calculates the volume to average edge lenght quality metric. This metric is bounded by the interval (-1,1) being: 1 -> Optimal value 0 -> Worst value -1 -> Negative volume
\( \frac{V}{\frac{1}{6}\sum{l_i}} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the Volume to edge length quaility metric. Calculates the Volume to edge length quaility metric. This metric is bounded by the interval (-1,1) being: 1 -> Optimal value 0 -> Worst value -1 -> Negative volume
\( \frac{V^{2/3}}{\sum{l_{i}^{2}}} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the volume to average edge length quality metric. Calculates the volume to average edge length quality metric. The average edge lenght is calculated using the RMS. This metric is bounded by the interval (-1,1) being: 1 -> Optimal value 0 -> Worst value -1 -> Negative volume
\( \frac{V}{\sqrt{\frac{1}{6}\sum{A_{i}^{2}}}} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, Kratos::Tetrahedra3D4< Kratos::Node >, Kratos::Hexahedra3D8< TPointType >, and Kratos::Hexahedra3D8< Kratos::Node >.
|
inlineprotectedvirtual |
Calculates the volume to surface area quality metric. Calculates the volume to surface area quality metric. This metric is bounded by the interval (-1,1) being: 1 -> Optimal value 0 -> Worst value -1 -> Negative volume
\( \frac{V^4}{(\sum{A_{i}^{2}})^{3}} \)
Reimplemented in Kratos::Tetrahedra3D4< TPointType >, and Kratos::Tetrahedra3D4< Kratos::Node >.
|
inline |
Working space dimension. for example a triangle is a 2 dimensional shape but can be used in 3 dimensional space.
|
friend |
|
staticconstexpr |