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

This process saves the intersected elements in a different model part for its visualization. More...

#include <embedded_skin_visualization_process.h>

Inheritance diagram for Kratos::EmbeddedSkinVisualizationProcess:
Collaboration diagram for Kratos::EmbeddedSkinVisualizationProcess:

Classes

struct  Hash
 
struct  KeyEqual
 

Public Member Functions

Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::Process
 KRATOS_CLASS_POINTER_DEFINITION (Process)
 Pointer definition of Process. More...
 
 Process ()
 Default constructor. More...
 
 Process (const Flags options)
 
 ~Process () override
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
virtual Process::Pointer Create (Model &rModel, Parameters ThisParameters)
 This method creates an pointer of the process. More...
 
virtual void Execute ()
 Execute method is used to execute the Process algorithms. More...
 
virtual void ExecuteInitialize ()
 This function is designed for being called at the beginning of the computations right after reading the model and the groups. More...
 
virtual void ExecuteInitializeSolutionStep ()
 This function will be executed at every time step BEFORE performing the solve phase. More...
 
virtual void ExecuteFinalizeSolutionStep ()
 This function will be executed at every time step AFTER performing the solve phase. More...
 
virtual void ExecuteFinalize ()
 This function is designed for being called at the end of the computations. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Type Definitions

enum class  LevelSetType { Continuous , Discontinuous }
 Enum class with the available level set types Auxiliary enum class to store the available level set types Continuous: standard nodal based continuous level set function Discontinuous: elementwise discontinuous level set function. More...
 
enum class  ShapeFunctionsType { Ausas , Standard }
 Enum class with the available shape functions type Auxiliary enum class to store the available shape functions types Available shape functions are the standard linear FE shape functions (Standard) and the Aausas FE space (see Ausas et. al. 2010 https://doi.org/10.1016/j.cma.2009.11.011) More...
 
typedef std::unordered_map< Node::Pointer, std::tuple< const Node::Pointer, const Node::Pointer, const double, const double >, SharedPointerHasher< Node::Pointer >, SharedPointerComparator< Node::Pointer > > CutNodesMapType
 
 KRATOS_CLASS_POINTER_DEFINITION (EmbeddedSkinVisualizationProcess)
 Pointer definition of EmbeddedSkinVisualizationProcess. More...
 

Life Cycle

 EmbeddedSkinVisualizationProcess (ModelPart &rModelPart, ModelPart &rVisualizationModelPart, const std::vector< const Variable< double > * > &rVisualizationScalarVariables, const std::vector< const Variable< array_1d< double, 3 > > * > &rVisualizationVectorVariables, const std::vector< const Variable< double > * > &rVisualizationNonHistoricalScalarVariables, const std::vector< const Variable< array_1d< double, 3 > > * > &rVisualizationNonHistoricalVectorVariables, const LevelSetType &rLevelSetType, const ShapeFunctionsType &rShapeFunctionsType, const bool ReformModelPartAtEachTimeStep=false)
 Constructor. More...
 
 EmbeddedSkinVisualizationProcess (ModelPart &rModelPart, ModelPart &rVisualizationModelPart, Parameters rParameters)
 Constructor with Kratos parameters. More...
 
 EmbeddedSkinVisualizationProcess (Model &rModel, Parameters rParameters)
 Constructor with Kratos parameters and Model container. More...
 
 ~EmbeddedSkinVisualizationProcess () override
 Destructor. More...
 
static ModelPartCreateAndPrepareVisualizationModelPart (Model &rModel, const Parameters rParameters)
 Create a And Prepare Visualization Model Part object This method creates the visualization model part and prepares it for the computation. More...
 
static void CheckAndSetLevelSetType (const Parameters rParameters, LevelSetType &rLevelSetType)
 Check and return the level set type This method checks and return the user provided level set type. More...
 
static void CheckAndSetShapeFunctionsType (const Parameters rParameters, ShapeFunctionsType &rShapeFunctionsType)
 Check and return the shape functions This method checks and return the user provided shape functions type. More...
 
static const std::string CheckAndReturnDistanceVariableName (const Parameters rParameters, const LevelSetType &rLevelSetType)
 Checks and returns the distance variable name This method checks the user provided distance variable name If the variable is not prescribed, it returns a default one according to the selected level set type. More...
 
template<class TDataType >
static void FillVariablesList (const Parameters rParameters, std::vector< const Variable< TDataType > * > &rVariablesList)
 Check and fill a visualization variable list This method checks the user provided variable list and saves it in the corresponding vector list. More...
 

Operations

void ExecuteBeforeSolutionLoop () override
 This function is designed for being execute once before the solution loop but after all of the solvers where built. More...
 
void ExecuteBeforeOutputStep () override
 This function will be executed at every time step BEFORE writing the output. More...
 
void ExecuteAfterOutputStep () override
 This function will be executed at every time step AFTER writing the output. More...
 
int Check () override
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
const Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
static Parameters StaticGetDefaultParameters ()
 Get the Default Settings object Static method to get the default settings inside the contructor. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

This process saves the intersected elements in a different model part for its visualization.

For a given model part, this process checks if its elements are intersected. If they are, calls the corresponding splitting utility to get the subgeometries that conform the splitting pattern. Then, it saves that subgeometries in another model part for its visualization. It has to be mentioned that all the origin model part nodes are kept. Then, the unique nodes that are created are that ones in the intersection edge points. Finally, the values in the visualization model part are computed using the corresponding modify shape functions utility.

Author
Ruben Zorrilla

Member Typedef Documentation

◆ CutNodesMapType

typedef std::unordered_map< Node::Pointer, std::tuple< const Node::Pointer, const Node::Pointer, const double, const double >, SharedPointerHasher<Node::Pointer>, SharedPointerComparator<Node::Pointer> > Kratos::EmbeddedSkinVisualizationProcess::CutNodesMapType

Member Enumeration Documentation

◆ LevelSetType

Enum class with the available level set types Auxiliary enum class to store the available level set types Continuous: standard nodal based continuous level set function Discontinuous: elementwise discontinuous level set function.

Enumerator
Continuous 
Discontinuous 

◆ ShapeFunctionsType

Enum class with the available shape functions type Auxiliary enum class to store the available shape functions types Available shape functions are the standard linear FE shape functions (Standard) and the Aausas FE space (see Ausas et. al. 2010 https://doi.org/10.1016/j.cma.2009.11.011)

Enumerator
Ausas 
Standard 

Constructor & Destructor Documentation

◆ EmbeddedSkinVisualizationProcess() [1/3]

Kratos::EmbeddedSkinVisualizationProcess::EmbeddedSkinVisualizationProcess ( ModelPart rModelPart,
ModelPart rVisualizationModelPart,
const std::vector< const Variable< double > * > &  rVisualizationScalarVariables,
const std::vector< const Variable< array_1d< double, 3 > > * > &  rVisualizationVectorVariables,
const std::vector< const Variable< double > * > &  rVisualizationNonHistoricalScalarVariables,
const std::vector< const Variable< array_1d< double, 3 > > * > &  rVisualizationNonHistoricalVectorVariables,
const LevelSetType rLevelSetType,
const ShapeFunctionsType rShapeFunctionsType,
const bool  ReformModelPartAtEachTimeStep = false 
)

Constructor.

Default constructor

Parameters
rModelPartThe origin model part
rVisualizationModelPartThe visualization model part to be filled
rVisualizationScalarVariablesScalar variables to be interpolated in the visualization model part
rVisualizationVectorVariablesVector variables to be interpolated in the visualization model part
rLevelSetTypeLevel set type. So far "continuous" and "discontinuous" are implemented
rShapeFunctionsTypeShape functions type. So far "standard" and "ausas" are implemented
ReformModelPartAtEachTimeStepRedo visualization model part at each time step flag

◆ EmbeddedSkinVisualizationProcess() [2/3]

Kratos::EmbeddedSkinVisualizationProcess::EmbeddedSkinVisualizationProcess ( ModelPart rModelPart,
ModelPart rVisualizationModelPart,
Parameters  rParameters 
)

Constructor with Kratos parameters.

Parameters
rModelPartThe origin model part
rVisualizationModelPartThe visualization model part to be filled
rParametersKratos parameters encapsulating the settings

◆ EmbeddedSkinVisualizationProcess() [3/3]

Kratos::EmbeddedSkinVisualizationProcess::EmbeddedSkinVisualizationProcess ( Model rModel,
Parameters  rParameters 
)

Constructor with Kratos parameters and Model container.

Parameters
rModelThe Model container
rParametersKratos parameters encapsulating the settings

◆ ~EmbeddedSkinVisualizationProcess()

Kratos::EmbeddedSkinVisualizationProcess::~EmbeddedSkinVisualizationProcess ( )
inlineoverride

Destructor.

Member Function Documentation

◆ Check()

int Kratos::EmbeddedSkinVisualizationProcess::Check ( )
overridevirtual

This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct.

Reimplemented from Kratos::Process.

◆ CheckAndReturnDistanceVariableName()

const std::string Kratos::EmbeddedSkinVisualizationProcess::CheckAndReturnDistanceVariableName ( const Parameters  rParameters,
const LevelSetType rLevelSetType 
)
static

Checks and returns the distance variable name This method checks the user provided distance variable name If the variable is not prescribed, it returns a default one according to the selected level set type.

Parameters
rParametersKratos parameters encapsulating the settings. These settings are assumed to be already validated.
Returns
std::string The distance variable name

◆ CheckAndSetLevelSetType()

void Kratos::EmbeddedSkinVisualizationProcess::CheckAndSetLevelSetType ( const Parameters  rParameters,
LevelSetType rLevelSetType 
)
static

Check and return the level set type This method checks and return the user provided level set type.

Parameters
rParametersKratos parameters encapsulating the settings. These settings are assumed to be already validated.
rLevelSetTypeThe validated level set type

◆ CheckAndSetShapeFunctionsType()

void Kratos::EmbeddedSkinVisualizationProcess::CheckAndSetShapeFunctionsType ( const Parameters  rParameters,
ShapeFunctionsType rShapeFunctionsType 
)
static

Check and return the shape functions This method checks and return the user provided shape functions type.

Parameters
rParametersKratos parameters encapsulating the settings. These settings are assumed to be already validated.
rShapeFunctionsTypeThe validated shape functions type

◆ CreateAndPrepareVisualizationModelPart()

ModelPart & Kratos::EmbeddedSkinVisualizationProcess::CreateAndPrepareVisualizationModelPart ( Model rModel,
const Parameters  rParameters 
)
static

Create a And Prepare Visualization Model Part object This method creates the visualization model part and prepares it for the computation.

Parameters
rModelThe model container
rParametersKratos parameters encaptulating the settings. These settings are assumed to be already validated.
Returns
ModelPart Visualization model part

◆ ExecuteAfterOutputStep()

void Kratos::EmbeddedSkinVisualizationProcess::ExecuteAfterOutputStep ( )
overridevirtual

This function will be executed at every time step AFTER writing the output.

Reimplemented from Kratos::Process.

◆ ExecuteBeforeOutputStep()

void Kratos::EmbeddedSkinVisualizationProcess::ExecuteBeforeOutputStep ( )
overridevirtual

This function will be executed at every time step BEFORE writing the output.

Reimplemented from Kratos::Process.

◆ ExecuteBeforeSolutionLoop()

void Kratos::EmbeddedSkinVisualizationProcess::ExecuteBeforeSolutionLoop ( )
overridevirtual

This function is designed for being execute once before the solution loop but after all of the solvers where built.

Reimplemented from Kratos::Process.

◆ FillVariablesList()

template<class TDataType >
void Kratos::EmbeddedSkinVisualizationProcess::FillVariablesList ( const Parameters  rParameters,
std::vector< const Variable< TDataType > * > &  rVariablesList 
)
static

Check and fill a visualization variable list This method checks the user provided variable list and saves it in the corresponding vector list.

Template Parameters
TDataTypeThe variable data type
Parameters
rParametersKratos parameters encapsulating the settings. These settings are assumed to be alreeeady validated.
rVariableListThe filled variable data list

◆ GetDefaultParameters()

const Parameters Kratos::EmbeddedSkinVisualizationProcess::GetDefaultParameters ( ) const
inlineoverridevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Reimplemented from Kratos::Process.

◆ Info()

std::string Kratos::EmbeddedSkinVisualizationProcess::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::Process.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::EmbeddedSkinVisualizationProcess::KRATOS_CLASS_POINTER_DEFINITION ( EmbeddedSkinVisualizationProcess  )

Pointer definition of EmbeddedSkinVisualizationProcess.

◆ PrintData()

void Kratos::EmbeddedSkinVisualizationProcess::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::Process.

◆ PrintInfo()

void Kratos::EmbeddedSkinVisualizationProcess::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::Process.

◆ StaticGetDefaultParameters()

Parameters Kratos::EmbeddedSkinVisualizationProcess::StaticGetDefaultParameters ( )
static

Get the Default Settings object Static method to get the default settings inside the contructor.

Returns
Parameters The parameters object containing the default settings

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