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.
Classes | List of all members
Kratos::BodyDistanceCalculationUtils Class Reference

#include <body_distance_calculation_utils.h>

Collaboration diagram for Kratos::BodyDistanceCalculationUtils:

Public Types

Type Definitions
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 

Public Member Functions

Life Cycle
 BodyDistanceCalculationUtils ()
 
virtual ~BodyDistanceCalculationUtils ()
 
Operations
template<unsigned int TDim>
void CalculateDistances (ElementsArrayType &rElements, Variable< double > &rDistanceVar, const double max_distance)
 

Detailed Description

This class computes the (positive) distance from a set of node. The origin nodes should be marked by setting GetValue(IS_VISITED)=1, while IS_VISITED should be set to zero on all of the other nodes. The computation is performed layer by layer as described in the paper "Simple finite element-based computation of distance functions in unstructured grids" IJNME, 2007; 72:1095–1110

\URL[Example of use html]{ extended_documentation/no_ex_of_use.html}

    \URL[Example of use pdf]{ extended_documentation/no_ex_of_use.pdf}

      \URL[Example of use doc]{ extended_documentation/no_ex_of_use.doc}

            \URL[Example of use ps]{ extended_documentation/no_ex_of_use.ps}


                    \URL[Extended documentation html]{ extended_documentation/no_ext_doc.html}

                      \URL[Extended documentation pdf]{ extended_documentation/no_ext_doc.pdf}

                            \URL[Extended documentation doc]{ extended_documentation/no_ext_doc.doc}

                              \URL[Extended documentation ps]{ extended_documentation/no_ext_doc.ps}

Member Typedef Documentation

◆ ElementsArrayType

◆ NodesArrayType

Constructor & Destructor Documentation

◆ BodyDistanceCalculationUtils()

Kratos::BodyDistanceCalculationUtils::BodyDistanceCalculationUtils ( )
inline

Constructor.

◆ ~BodyDistanceCalculationUtils()

virtual Kratos::BodyDistanceCalculationUtils::~BodyDistanceCalculationUtils ( )
inlinevirtual

Member Function Documentation

◆ CalculateDistances()

template<unsigned int TDim>
void Kratos::BodyDistanceCalculationUtils::CalculateDistances ( ElementsArrayType rElements,
Variable< double > &  rDistanceVar,
const double  max_distance 
)
inline

this function calculates the "area normal" (vector oriented as the normal with a dimension proportional to the area. This is done basing on the volume discretization.

Parameters
rElementsis the array of elements
rDistanceVaris the variable on which the distance will be written
max_distancethe computation will be stopped if this distance is exceeded. This allows faster calculations. Set it to a large number to perform the distance over the whole volume NOTE: the distance is computed from the nodes marked by IS_VISITED=1. User should ensure that all of the other nodes should be marked by IS_VISITED=0.

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