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.
|
Helper utility to transform between point-wise nodal variables and distributed values. More...
#include <variable_redistribution_utility.h>
Public Member Functions | |
template<> | |
std::size_t | NumberOfLocalEntities (const ModelPart &rModelPart, const ModelPart::ConditionsContainerType &rEntitiesContainer) |
template<> | |
std::size_t | NumberOfLocalEntities (const ModelPart &rModelPart, const ModelPart::ElementsContainerType &rEntitiesContainer) |
Static Public Member Functions | |
Operations | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, const Variable< double > &rDistributedVariable, const Variable< double > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< double > &rDistributedVariable, const Variable< double > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. More... | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< double > &rDistributedVariable, const Variable< double > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. More... | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, const Variable< array_1d< double, 3 > > &rDistributedVariable, const Variable< array_1d< double, 3 > > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< array_1d< double, 3 > > &rDistributedVariable, const Variable< array_1d< double, 3 > > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. More... | |
static void | ConvertDistributedValuesToPoint (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< array_1d< double, 3 > > &rDistributedVariable, const Variable< array_1d< double, 3 > > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. More... | |
static void | DistributePointValues (ModelPart &rModelPart, const Variable< double > &rPointVariable, const Variable< double > &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
static void | DistributePointValues (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< double > &rPointVariable, const Variable< double > &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. More... | |
static void | DistributePointValues (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< double > &rPointVariable, const Variable< double > &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. More... | |
static void | DistributePointValues (ModelPart &rModelPart, const Variable< array_1d< double, 3 >> &rPointVariable, const Variable< array_1d< double, 3 >> &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
static void | DistributePointValues (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< array_1d< double, 3 >> &rPointVariable, const Variable< array_1d< double, 3 >> &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. More... | |
static void | DistributePointValues (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< array_1d< double, 3 >> &rPointVariable, const Variable< array_1d< double, 3 >> &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
static void | ConvertDistributedValuesToPointNonHistorical (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< double > &rDistributedVariable, const Variable< double > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. More... | |
static void | ConvertDistributedValuesToPointNonHistorical (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< double > &rDistributedVariable, const Variable< double > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. More... | |
static void | ConvertDistributedValuesToPointNonHistorical (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< array_1d< double, 3 > > &rDistributedVariable, const Variable< array_1d< double, 3 > > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. More... | |
static void | ConvertDistributedValuesToPointNonHistorical (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< array_1d< double, 3 > > &rDistributedVariable, const Variable< array_1d< double, 3 > > &rPointVariable) |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. More... | |
static void | DistributePointValuesNonHistorical (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< double > &rPointVariable, const Variable< double > &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. More... | |
static void | DistributePointValuesNonHistorical (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< double > &rPointVariable, const Variable< double > &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. More... | |
static void | DistributePointValuesNonHistorical (ModelPart &rModelPart, ModelPart::ConditionsContainerType &rConditions, const Variable< array_1d< double, 3 >> &rPointVariable, const Variable< array_1d< double, 3 >> &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. More... | |
static void | DistributePointValuesNonHistorical (ModelPart &rModelPart, ModelPart::ElementsContainerType &rElements, const Variable< array_1d< double, 3 >> &rPointVariable, const Variable< array_1d< double, 3 >> &rDistributedVariable, double Tolerance, unsigned int MaximumIterations) |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions. More... | |
Type Definitions | |
typedef Node | NodeType |
KRATOS_CLASS_POINTER_DEFINITION (VariableRedistributionUtility) | |
Pointer definition of VariableRedistributionUtility. More... | |
Helper utility to transform between point-wise nodal variables and distributed values.
The functions are desinged so that both sets of values have the same L2 norm over the conditions of the provided ModelPart (up to tolerance). A typical use case is to transform a set of point forces to area-distributed loads or vice-versa.
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for vector magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a variable distributed over the conditions of rModelPart to a set of concentrated nodal values. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a distributed load into an equivalent set of point loads. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to calculate the point values |
rDistributedVariable | The variable containing the distributed (origin) values. |
rPointVariable | The variable that will contain the point (destination) values. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rElements | Elements container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rConditions | Conditions container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for vector magnitudes. Note that as no container is provided, the values distribution is performed over the conditions.
rModelPart | The model part of the problem |
rElements | Elements container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
|
static |
Tranform a set of concentrated nodal values to a variable distributed over the conditions of rModelPart. The origin and destination values have the same L2 norm over the set of conditions. A typical use case is to transform a set of point loads into an equivalent distributed load. Version for scalar magnitudes.
rModelPart | The model part of the problem |
rElements | Elements container to distribute the values |
rPointVariable | The variable that will contain the point (origin) values. |
rDistributedVariable | The variable containing the distributed (destination) values. |
Tolerance | Maximum allowed difference (in L2 norm) between origin and destination values. |
MaximumIterations | Maximum number of iterations for the procedure. |
Kratos::VariableRedistributionUtility::KRATOS_CLASS_POINTER_DEFINITION | ( | VariableRedistributionUtility | ) |
Pointer definition of VariableRedistributionUtility.
std::size_t Kratos::VariableRedistributionUtility::NumberOfLocalEntities | ( | const ModelPart & | rModelPart, |
const ModelPart::ConditionsContainerType & | rEntitiesContainer | ||
) |
std::size_t Kratos::VariableRedistributionUtility::NumberOfLocalEntities | ( | const ModelPart & | rModelPart, |
const ModelPart::ElementsContainerType & | rEntitiesContainer | ||
) |