![]() |
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.
|
This class extends ApplyChimera base class and overwrites the function ApplyContinuityWithMpcs to use same container for storing pressure and velocity constraints. More...
#include <apply_chimera_process_monolithic.h>
Public Member Functions | |
Life Cycle | |
| ApplyChimeraProcessMonolithic (ModelPart &rMainModelPart, Parameters iParameters) | |
| Constructor. More... | |
| ~ApplyChimeraProcessMonolithic ()=default | |
| Destructor. More... | |
Operations | |
| 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::ApplyChimera< TDim > | |
| ApplyChimera (ModelPart &rMainModelPart, Parameters iParameters) | |
| Constructor. More... | |
| virtual | ~ApplyChimera ()=default |
| Destructor. More... | |
| void | SetEchoLevel (int EchoLevel) |
| void | SetReformulateEveryStep (bool Reformulate) |
| virtual void | ExecuteInitializeSolutionStep () override |
| This function will be executed at every time step BEFORE performing the solve phase. More... | |
| virtual void | ExecuteFinalizeSolutionStep () override |
| This function will be executed at every time step AFTER performing the solve phase. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (ApplyChimera) | |
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 | ExecuteBeforeSolutionLoop () |
| This function is designed for being execute once before the solution loop but after all of the solvers where built. 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... | |
Public Member Functions inherited from Kratos::Flags | |
| Flags & | operator= (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 Flags & | operator|= (const Flags &Other) |
| const Flags & | operator&= (const Flags &Other) |
| Flags () | |
| Default constructor. More... | |
| Flags (Flags const &rOther) | |
| Copy constructor. More... | |
| virtual | ~Flags () |
| Destructor. More... | |
Protected Member Functions | |
Protected Operations | |
| void | ApplyContinuityWithMpcs (ModelPart &rBoundaryModelPart, PointLocatorType &rBinLocator) override |
| Applies the continuity between the boundary modelpart and the background. More... | |
Protected Member Functions inherited from Kratos::ApplyChimera< TDim > | |
| virtual void | DoChimeraLoop () |
| Does a loop on the background and patch combinations possible and uses FormulateChimera method. More... | |
| virtual void | FormulateChimera (const Parameters BackgroundParam, const Parameters PatchParameters, ChimeraHoleCuttingUtility::Domain DomainType) |
| Formulates the Chimera conditions with a given set of background and patch combination. More... | |
| void | CreateConstraintIds (std::vector< int > &rIdVector, const IndexType NumberOfConstraintsRequired) |
| Creates a vector of unique constraint ids based on how many required and how many are already present in the mrModelPart. More... | |
| template<typename TVariableType > | |
| void | AddMasterSlaveRelation (MasterSlaveConstraintContainerType &rMasterSlaveContainer, const LinearMasterSlaveConstraint &rCloneConstraint, unsigned int ConstraintId, NodeType &rMasterNode, TVariableType &rMasterVariable, NodeType &rSlaveNode, TVariableType &rSlaveVariable, const double Weight, const double Constant=0.0) |
| Applies the master-slave constraint between the given master and slave nodes with corresponding variable. More... | |
| template<typename TVariableType > | |
| void | ApplyContinuityWithElement (Geometry< NodeType > &rGeometry, NodeType &rBoundaryNode, Vector &rShapeFuncWeights, TVariableType &rVariable, unsigned int StartIndex, std::vector< int > &rConstraintIdVector, MasterSlaveConstraintContainerType &rMsContainer) |
| Applies the master-slave constraint to enforce the continuity between a given geometry/element and a boundary node. More... | |
| void | ReserveMemoryForConstraintContainers (ModelPart &rModelPart, MasterSlaveContainerVectorType &rContainerVector) |
| This function reserves the necessary memory for the contraints in each thread. More... | |
| int | RemoveExistingConstraintsForNode (ModelPart::NodeType &rBoundaryNode) |
| Given a node, this funcition finds and deletes all the existing constraints for that node. More... | |
| void | AddConstraintsToModelpart (ModelPart &rModelPart, MasterSlaveContainerVectorType &rContainerVector) |
| The function transfers all the constraints in the container vector to the modelpart. IMPORTANT: The constraints are directly added to the constraints container of the modelpart. So the parent and child modelparts have no info about these constraints. More... | |
| void | FormulateConstraints (ModelPart &rBoundaryModelPart, PointLocatorType &rBinLocator, MasterSlaveContainerVectorType &rVelocityMasterSlaveContainerVector, MasterSlaveContainerVectorType &rPressureMasterSlaveContainerVector) |
| Loops over the nodes of the given modelpart and uses the binlocater to locate them on a element and formulates respective constraints. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::ApplyChimera< TDim > | |
| typedef ModelPart::IndexType | IndexType |
| typedef ModelPart::NodeType | NodeType |
| typedef Kratos::Variable< double > | VariableType |
| typedef std::vector< IndexType > | ConstraintIdsVectorType |
| typedef ModelPart::MasterSlaveConstraintType | MasterSlaveConstraintType |
| typedef ModelPart::MasterSlaveConstraintContainerType | MasterSlaveConstraintContainerType |
| typedef std::vector< MasterSlaveConstraintContainerType > | MasterSlaveContainerVectorType |
| typedef BinBasedFastPointLocator< TDim > | PointLocatorType |
| typedef PointLocatorType::Pointer | PointLocatorPointerType |
| typedef ModelPart::NodesContainerType | NodesContainerType |
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) |
Protected Attributes inherited from Kratos::ApplyChimera< TDim > | |
| ModelPart & | mrMainModelPart |
| int | mNumberOfLevels |
| Parameters | mParameters |
| std::unordered_map< IndexType, ConstraintIdsVectorType > | mNodeIdToConstraintIdsMap |
| int | mEchoLevel |
| bool | mReformulateEveryStep |
| std::map< std::string, PointLocatorPointerType > | mPointLocatorsMap |
| bool | mIsFormulated |
| const std::string | mModifiedName = "ChimeraModified" |
| const std::string | mBoundaryName = "ChimeraBoundary" |
| const std::string | mHoleName = "ChimeraHole" |
This class extends ApplyChimera base class and overwrites the function ApplyContinuityWithMpcs to use same container for storing pressure and velocity constraints.
| typedef ApplyChimera<TDim> Kratos::ApplyChimeraProcessMonolithic< TDim >::BaseType |
| typedef BaseType::ConstraintIdsVectorType Kratos::ApplyChimeraProcessMonolithic< TDim >::ConstraintIdsVectorType |
| typedef BaseType::MasterSlaveConstraintContainerType Kratos::ApplyChimeraProcessMonolithic< TDim >::MasterSlaveConstraintContainerType |
| typedef BaseType::MasterSlaveContainerVectorType Kratos::ApplyChimeraProcessMonolithic< TDim >::MasterSlaveContainerVectorType |
| typedef BaseType::PointLocatorPointerType Kratos::ApplyChimeraProcessMonolithic< TDim >::PointLocatorPointerType |
| typedef BaseType::PointLocatorType Kratos::ApplyChimeraProcessMonolithic< TDim >::PointLocatorType |
|
explicit |
Constructor.
| rMainModelPart | The reference to the modelpart which will be used for computations later on. |
| iParameters | The settings parameters. |
|
default |
Destructor.
|
overrideprotectedvirtual |
Applies the continuity between the boundary modelpart and the background.
| rBoundaryModelPart | The boundary modelpart for which the continuity is to be enforced. |
| rBinLocator | The bin based locator formulated on the background. This is used to locate nodes of rBoundaryModelPart on background. |
Reimplemented from Kratos::ApplyChimera< TDim >.
|
overridevirtual |
Turn back information as a string.
Reimplemented from Kratos::ApplyChimera< TDim >.
| Kratos::ApplyChimeraProcessMonolithic< TDim >::KRATOS_CLASS_POINTER_DEFINITION | ( | ApplyChimeraProcessMonolithic< TDim > | ) |
|
overridevirtual |
Print object's data.
Reimplemented from Kratos::ApplyChimera< TDim >.
|
overridevirtual |
Print information about this object.
Reimplemented from Kratos::ApplyChimera< TDim >.