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.
Public Member Functions | Protected Attributes | List of all members
Kratos::ExtendPressureConditionProcess< TDim > Class Template Reference

Creates the new presure line loads after removing some elements. More...

#include <extend_pressure_condition_process.h>

Inheritance diagram for Kratos::ExtendPressureConditionProcess< TDim >:
Collaboration diagram for Kratos::ExtendPressureConditionProcess< TDim >:

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (ExtendPressureConditionProcess)
 Pointer definition of ExtendPressureConditionProcess. More...
 
 ExtendPressureConditionProcess (ModelPart &r_model_part)
 
 ~ExtendPressureConditionProcess () override=default
 
void operator() ()
 
void Execute () override
 Regenerates the prssure load according to ne new boundary. More...
 
void RemovePreviousLineLoads ()
 This erases all the line loads. More...
 
void CreateNewConditions ()
 This generates the new line/surface loads. More...
 
void GenerateLineLoads2Nodes (const int NonWetLocalIdNode, const int PressureId, int &rMaximumConditionId, ModelPart::ElementsContainerType::ptr_iterator itElem)
 Creates line loads for an element if there are 2 wet nodes. More...
 
void GenerateLineLoads3Nodes (const int PressureId, int &rMaximumConditionId, ModelPart::ElementsContainerType::ptr_iterator itElem)
 Creates line loads for an element if there are 3 wet nodes. More...
 
void GeneratePressureLoads3WetNodes (const int NonWetLocalIdNode, const int PressureId, int &rMaximumConditionId, ModelPart::ElementsContainerType::ptr_iterator itElem)
 Creates surface loads for an element if there are 3 wet nodes. More...
 
void CreatePressureLoads (const int Id1, const int Id2, const int Id3, ModelPart::ElementsContainerType::ptr_iterator itElem, ModelPart &rSubModelPart, ModelPart::PropertiesType::Pointer pProperties, int &rMaximumConditionId)
 Creates surface loads. More...
 
void CreateLineLoads (const int Id1, const int Id2, ModelPart::ElementsContainerType::ptr_iterator itElem, ModelPart &rSubModelPart, ModelPart::PropertiesType::Pointer pProperties, int &rMaximumConditionId)
 Creates surface loads. More...
 
void GeneratePressureLoads4WetNodes (const int PressureId, int &rMaximumConditionId, ModelPart::ElementsContainerType::ptr_iterator itElem)
 Creates surface loads for an element if there are 4 wet nodes. More...
 
void GetPressureId (ModelPart::ElementsContainerType::ptr_iterator itElem, int &rPressureId)
 returns the maximum condition Id More...
 
void GetMaximumConditionIdOnSubmodelPart (int &MaximumConditionId)
 returns the maximum condition Id inside the submodel More...
 
void CalculateNumberOfElementsOnNodes ()
 calculates the number of elements that share a node More...
 
void ResetFlagOnElements ()
 Sets the Flag on all the elements to the next step. More...
 
void SavePreviousProperties ()
 fills the mpPropertiesVector and mPropertiesId More...
 
int GetPressureIdSubModel (const std::string &rSubModelName)
 returns the pressure Id More...
 
void CreateNewConditions ()
 
void CreateNewConditions ()
 
- 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 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 ExecuteBeforeSolutionLoop ()
 This function is designed for being execute once before the solution loop but after all of the solvers where built. 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 ExecuteBeforeOutputStep ()
 This function will be executed at every time step BEFORE writing the output. More...
 
virtual void ExecuteAfterOutputStep ()
 This function will be executed at every time step AFTER writing the output. More...
 
virtual void ExecuteFinalize ()
 This function is designed for being called at the end of the computations. More...
 
virtual int Check ()
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
virtual const Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
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::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...
 

Protected Attributes

ModelPartmrModelPart
 
std::string mPressureName
 
ModelPart::PropertiesType::Pointer mpProperty
 

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

template<SizeType TDim = 2>
class Kratos::ExtendPressureConditionProcess< TDim >

Creates the new presure line loads after removing some elements.

when several elements are removed this methods generates the line loads in order to adapt to the new geometry

Author
Alejandro Cornejo

Constructor & Destructor Documentation

◆ ExtendPressureConditionProcess()

template<SizeType TDim>
Kratos::ExtendPressureConditionProcess< TDim >::ExtendPressureConditionProcess ( ModelPart r_model_part)

◆ ~ExtendPressureConditionProcess()

template<SizeType TDim = 2>
Kratos::ExtendPressureConditionProcess< TDim >::~ExtendPressureConditionProcess ( )
overridedefault

Member Function Documentation

◆ CalculateNumberOfElementsOnNodes()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::CalculateNumberOfElementsOnNodes

calculates the number of elements that share a node

◆ CreateLineLoads()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::CreateLineLoads ( const int  Id1,
const int  Id2,
ModelPart::ElementsContainerType::ptr_iterator  itElem,
ModelPart rSubModelPart,
ModelPart::PropertiesType::Pointer  pProperties,
int rMaximumConditionId 
)

Creates surface loads.

Parameters
Id1The node 1 Id
Id2The node 2 Id
itElemthe element analysed
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed
rSubModelPartthe submodel part to add the condition
pPropertiesthe properties of the condition

◆ CreateNewConditions() [1/3]

void Kratos::ExtendPressureConditionProcess< 2 >::CreateNewConditions ( )

◆ CreateNewConditions() [2/3]

void Kratos::ExtendPressureConditionProcess< 3 >::CreateNewConditions ( )

◆ CreateNewConditions() [3/3]

template<SizeType TDim = 2>
void Kratos::ExtendPressureConditionProcess< TDim >::CreateNewConditions ( )

This generates the new line/surface loads.

◆ CreatePressureLoads()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::CreatePressureLoads ( const int  Id1,
const int  Id2,
const int  Id3,
ModelPart::ElementsContainerType::ptr_iterator  itElem,
ModelPart rSubModelPart,
ModelPart::PropertiesType::Pointer  pProperties,
int rMaximumConditionId 
)

Creates surface loads.

Parameters
Id1The node 1 Id
Id2The node 2 Id
Id1The node 3 Id
itElemthe element analysed
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed
rSubModelPartthe submodel part to add the condition
pPropertiesthe properties of the condition

◆ Execute()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::Execute
overridevirtual

Regenerates the prssure load according to ne new boundary.

Reimplemented from Kratos::Process.

◆ GenerateLineLoads2Nodes()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GenerateLineLoads2Nodes ( const int  NonWetLocalIdNode,
const int  PressureId,
int rMaximumConditionId,
ModelPart::ElementsContainerType::ptr_iterator  itElem 
)

Creates line loads for an element if there are 2 wet nodes.

Parameters
NonWetLocalIdNodethe local id of the non wet node
PressureIdthe pressure id
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed

◆ GenerateLineLoads3Nodes()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GenerateLineLoads3Nodes ( const int  PressureId,
int rMaximumConditionId,
ModelPart::ElementsContainerType::ptr_iterator  itElem 
)

Creates line loads for an element if there are 3 wet nodes.

Parameters
PressureIdthe pressure id
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed

◆ GeneratePressureLoads3WetNodes()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GeneratePressureLoads3WetNodes ( const int  NonWetLocalIdNode,
const int  PressureId,
int rMaximumConditionId,
ModelPart::ElementsContainerType::ptr_iterator  itElem 
)

Creates surface loads for an element if there are 3 wet nodes.

Parameters
PressureIdthe pressure id
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed

◆ GeneratePressureLoads4WetNodes()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GeneratePressureLoads4WetNodes ( const int  PressureId,
int rMaximumConditionId,
ModelPart::ElementsContainerType::ptr_iterator  itElem 
)

Creates surface loads for an element if there are 4 wet nodes.

Parameters
PressureIdthe pressure id
rMaximumConditionIdthe maximum condition id just to not repeat
itElemthe element analysed

◆ GetMaximumConditionIdOnSubmodelPart()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GetMaximumConditionIdOnSubmodelPart ( int MaximumConditionId)

returns the maximum condition Id inside the submodel

Parameters
rMaximumConditionIdthe maximum condition id just to not repeat

◆ GetPressureId()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::GetPressureId ( ModelPart::ElementsContainerType::ptr_iterator  itElem,
int rPressureId 
)

returns the maximum condition Id

Parameters
PressureIdthe pressure id
itElemthe element analysed

◆ GetPressureIdSubModel()

template<SizeType TDim>
int Kratos::ExtendPressureConditionProcess< TDim >::GetPressureIdSubModel ( const std::string &  rSubModelName)

returns the pressure Id

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<SizeType TDim = 2>
Kratos::ExtendPressureConditionProcess< TDim >::KRATOS_CLASS_POINTER_DEFINITION ( ExtendPressureConditionProcess< TDim >  )

Pointer definition of ExtendPressureConditionProcess.

◆ operator()()

template<SizeType TDim = 2>
void Kratos::ExtendPressureConditionProcess< TDim >::operator() ( )
inline

◆ RemovePreviousLineLoads()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::RemovePreviousLineLoads

This erases all the line loads.

◆ ResetFlagOnElements()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::ResetFlagOnElements

Sets the Flag on all the elements to the next step.

◆ SavePreviousProperties()

template<SizeType TDim>
void Kratos::ExtendPressureConditionProcess< TDim >::SavePreviousProperties

fills the mpPropertiesVector and mPropertiesId

Member Data Documentation

◆ mpProperty

template<SizeType TDim = 2>
ModelPart::PropertiesType::Pointer Kratos::ExtendPressureConditionProcess< TDim >::mpProperty
protected

◆ mPressureName

template<SizeType TDim = 2>
std::string Kratos::ExtendPressureConditionProcess< TDim >::mPressureName
protected

◆ mrModelPart

template<SizeType TDim = 2>
ModelPart& Kratos::ExtendPressureConditionProcess< TDim >::mrModelPart
protected

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