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 Types | Public Member Functions | List of all members
Kratos::IterativeSolverStrategy Class Reference

#include <iterative_solver_strategy.h>

Inheritance diagram for Kratos::IterativeSolverStrategy:
Collaboration diagram for Kratos::IterativeSolverStrategy:

Public Types

typedef ExplicitSolverStrategy BaseType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ElementsIterator ElementsIterator
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
typedef GlobalPointersVector< ElementParticleWeakVectorType
 
typedef GlobalPointersVector< Element >::iterator ParticleWeakIteratorType
 
typedef ParticleWeakVectorType::ptr_iterator ParticleWeakIteratorType_ptr
 
- Public Types inherited from Kratos::ExplicitSolverStrategy
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ElementsArrayType::iterator ElementsIterator
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
typedef ModelPart::NodesContainerType::ContainerType NodesContainerType
 
typedef ModelPart::ElementsContainerType::ContainerType ElementsContainerType
 
typedef ModelPart::ConditionsContainerType::ContainerType ConditionsContainerType
 
typedef SpatialSearch::ResultElementsContainerType ResultElementsContainerType
 
typedef SpatialSearch::VectorResultElementsContainerType VectorResultElementsContainerType
 
typedef SpatialSearch::RadiusArrayType RadiusArrayType
 
typedef SpatialSearch::DistanceType DistanceType
 
typedef SpatialSearch::VectorDistanceType VectorDistanceType
 
typedef SpatialSearch::ResultConditionsContainerType ResultConditionsContainerType
 
typedef SpatialSearch::VectorResultConditionsContainerType VectorResultConditionsContainerType
 
typedef PointerVectorSet< Properties, IndexedObjectPropertiesContainerType
 
typedef PropertiesContainerType::iterator PropertiesIterator
 
typedef DiscreteParticleConfigure< 3 > ElementConfigureType
 
typedef NodeConfigure< 3 > NodeConfigureType
 
typedef RigidFaceGeometricalObjectConfigure< 3 > RigidFaceGeometricalConfigureType
 
typedef Variable< doubleComponentOf3ComponentsVariableType
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (IterativeSolverStrategy)
 Pointer definition of ExplicitSolverStrategy. More...
 
 IterativeSolverStrategy ()
 Default constructor. More...
 
 IterativeSolverStrategy (ExplicitSolverSettings &settings, const double max_delta_time, const double n_step_search, const double safety_factor, const int delta_option, ParticleCreatorDestructor::Pointer p_creator_destructor, DEM_FEM_Search::Pointer p_dem_fem_search, SpatialSearch::Pointer pSpSearch, Parameters strategy_parameters)
 
virtual ~IterativeSolverStrategy ()
 Destructor. More...
 
virtual void Initialize () override
 
void SchemeInitialize ()
 
void SchemePredict ()
 
void SchemeCorrect ()
 
virtual double SolveSolutionStep () override
 
- Public Member Functions inherited from Kratos::ExplicitSolverStrategy
 KRATOS_CLASS_POINTER_DEFINITION (ExplicitSolverStrategy)
 Pointer definition of ExplicitSolverStrategy. More...
 
 ExplicitSolverStrategy ()
 
 ExplicitSolverStrategy (ExplicitSolverSettings &settings, const double max_delta_time, const int n_step_search, const double safety_factor, const int delta_option, ParticleCreatorDestructor::Pointer p_creator_destructor, DEM_FEM_Search::Pointer p_dem_fem_search, SpatialSearch::Pointer pSpSearch, Parameters strategy_parameters)
 
virtual ~ExplicitSolverStrategy ()
 Destructor. More...
 
template<class T >
void RebuildListOfSphericParticles (ElementsArrayType &pElements, std::vector< T * > &rCustomListOfParticles)
 
void RebuildListOfDiscontinuumSphericParticles ()
 
void RebuildPropertiesProxyPointers (std::vector< SphericParticle * > &rCustomListOfSphericParticles)
 
void SendProcessInfoToClustersModelPart ()
 
void UpdateMaxIdOfCreatorDestructor ()
 
void RepairPointersToNormalProperties (std::vector< SphericParticle * > &rCustomListOfSphericParticles)
 
virtual void AttachSpheresToStickyWalls ()
 
virtual void DisplayThreadInfo ()
 
double CalculateMaxInletTimeStep ()
 
virtual void InitializeClusters ()
 
virtual void GetClustersForce ()
 
virtual void GetRigidBodyElementsForce ()
 
void SearchDEMOperations (ModelPart &r_model_part, bool has_mpi=true)
 
void SearchFEMOperations (ModelPart &r_model_part, bool has_mpi=true)
 
virtual void ForceOperations (ModelPart &r_model_part)
 
void GetForce ()
 
void FastGetForce ()
 
virtual void PerformTimeIntegrationOfMotion (int StepFlag=0)
 
void InitializeSolutionStep ()
 
virtual void BoundingBoxUtility (bool is_time_to_mark_and_remove=true)
 
virtual void FinalizeSolutionStep ()
 
void InitializeElements ()
 
void InitializeDEMElements ()
 
void InitializeFEMElements ()
 
void InitializeFEMWallsAsRigidBodyElements (ModelPart::SubModelPartsContainerType::iterator &sub_model_part)
 
void MarkToDeleteAllSpheresInitiallyIndentedWithFEM (ModelPart &rSpheresModelPart)
 
void ComputeNodalArea ()
 
void ComputeNormalPressureVectorField ()
 
virtual void CalculateConditionsRHSAndAdd ()
 
void ClearFEMForces ()
 
void CalculateNodalPressuresAndStressesOnWalls ()
 
void SetFlagAndVariableToNodes (const Kratos::Flags &r_flag_name, ComponentOf3ComponentsVariableType &r_variable_to_set, const double value, NodesArrayType &r_nodes_array)
 
void SetVariableToNodes (ComponentOf3ComponentsVariableType &r_variable_to_set, const double value, NodesArrayType &r_nodes_array)
 
void ResetPrescribedMotionFlagsRespectingImposedDofs ()
 
void ApplyPrescribedBoundaryConditions ()
 
void ApplyInitialConditions ()
 
virtual void SetSearchRadiiOnAllParticles (ModelPart &r_model_part, const double added_search_distance=0.0, const double amplification=1.0)
 
void SetNormalRadiiOnAllParticles (ModelPart &r_model_part)
 
virtual void SetSearchRadiiWithFemOnAllParticles (ModelPart &r_model_part, const double added_search_distance=0.0, const double amplification=1.0)
 
virtual void SearchNeighbours ()
 
virtual void ComputeNewNeighboursHistoricalData ()
 
virtual void CreateContactElements ()
 
void InitializeContactElements ()
 
void PrepareContactElementsForPrinting ()
 
virtual void ComputeNewRigidFaceNeighboursHistoricalData ()
 
virtual void SearchRigidFaceNeighbours ()
 
void CheckHierarchyWithCurrentNeighbours ()
 
void CalculateInitialMaxIndentations (const ProcessInfo &r_process_info)
 
void PrepareContactModelPart (ModelPart &r_model_part, ModelPart &mcontacts_model_part)
 
void PrepareElementsForPrinting ()
 
void SynchronizeHistoricalVariables (ModelPart &r_model_part)
 
void SynchronizeRHS (ModelPart &r_model_part)
 
void Check_MPI (bool &has_mpi)
 
virtual double ComputeCoordinationNumber (double &standard_dev)
 
ModelPartGetModelPart ()
 
ModelPartGetFemModelPart ()
 
ModelPartGetContactModelPart ()
 
ModelPartGetClusterModelPart ()
 
ModelPartGetInletModelPart ()
 
ModelPartGetRigidBodyModelPart ()
 
VectorResultElementsContainerTypeGetResults ()
 
VectorDistanceTypeGetResultsDistances ()
 
RadiusArrayTypeGetArrayOfAmplifiedRadii ()
 
intGetNStepSearch ()
 
intGetSearchControl ()
 
intGetNumberOfThreads ()
 
doubleGetMaxTimeStep ()
 
doubleGetSafetyFactor ()
 
intGetDeltaOption ()
 
ParticleCreatorDestructor::Pointer & GetParticleCreatorDestructor ()
 
SpatialSearch::Pointer & GetSpSearch ()
 
VectorResultConditionsContainerTypeGetRigidFaceResults ()
 
VectorDistanceTypeGetRigidFaceResultsDistances ()
 
DEM_FEM_Search::Pointer & GetDemFemSearch ()
 
virtual ElementsArrayTypeGetElements (ModelPart &r_model_part)
 
virtual ElementsArrayTypeGetAllElements (ModelPart &r_model_part)
 

Additional Inherited Members

- Protected Attributes inherited from Kratos::ExplicitSolverStrategy
Parameters mParameters
 
bool mRemoveBallsInitiallyTouchingWallsOption
 
VectorResultElementsContainerType mResults
 
VectorDistanceType mResultsDistances
 
RadiusArrayType mArrayOfAmplifiedRadii
 
int mNStepSearch
 
int mSearchControl
 
int mNumberOfThreads
 
double mMaxTimeStep
 
double mSafetyFactor
 
int mDeltaOption
 
ParticleCreatorDestructor::Pointer mpParticleCreatorDestructor
 
DEM_FEM_Search::Pointer mpDemFemSearch
 
SpatialSearch::Pointer mpSpSearch
 
bool mDoSearchNeighbourElements
 
bool mDoSearchNeighbourFEMElements
 
VectorResultConditionsContainerType mRigidFaceResults
 
VectorDistanceType mRigidFaceResultsDistances
 
ModelPartmpFem_model_part
 
ModelPartmpDem_model_part
 
ModelPartmpInlet_model_part
 
ModelPartmpContact_model_part
 
ModelPartmpCluster_model_part
 
ModelPartmpRigidBody_model_part
 
std::vector< SphericParticle * > mListOfSphericParticles
 
std::vector< SphericParticle * > mListOfGhostSphericParticles
 

Member Typedef Documentation

◆ BaseType

◆ ConditionsArrayType

◆ ElementsArrayType

◆ ElementsIterator

◆ NodesArrayType

◆ ParticleWeakIteratorType

◆ ParticleWeakIteratorType_ptr

◆ ParticleWeakVectorType

Constructor & Destructor Documentation

◆ IterativeSolverStrategy() [1/2]

Kratos::IterativeSolverStrategy::IterativeSolverStrategy ( )
inline

Default constructor.

◆ IterativeSolverStrategy() [2/2]

Kratos::IterativeSolverStrategy::IterativeSolverStrategy ( ExplicitSolverSettings settings,
const double  max_delta_time,
const double  n_step_search,
const double  safety_factor,
const int  delta_option,
ParticleCreatorDestructor::Pointer  p_creator_destructor,
DEM_FEM_Search::Pointer  p_dem_fem_search,
SpatialSearch::Pointer  pSpSearch,
Parameters  strategy_parameters 
)
inline

◆ ~IterativeSolverStrategy()

virtual Kratos::IterativeSolverStrategy::~IterativeSolverStrategy ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Initialize()

virtual void Kratos::IterativeSolverStrategy::Initialize ( void  )
inlineoverridevirtual

Reimplemented from Kratos::ExplicitSolverStrategy.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::IterativeSolverStrategy::KRATOS_CLASS_POINTER_DEFINITION ( IterativeSolverStrategy  )

Pointer definition of ExplicitSolverStrategy.

◆ SchemeCorrect()

void Kratos::IterativeSolverStrategy::SchemeCorrect ( )
inline

◆ SchemeInitialize()

void Kratos::IterativeSolverStrategy::SchemeInitialize ( )
inline

◆ SchemePredict()

void Kratos::IterativeSolverStrategy::SchemePredict ( )
inline

◆ SolveSolutionStep()

virtual double Kratos::IterativeSolverStrategy::SolveSolutionStep ( )
inlineoverridevirtual

Reimplemented from Kratos::ExplicitSolverStrategy.


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