14 #if !defined(KRATOS_FIXED_MESH_ALE_UTILITIES_H_INCLUDED )
15 #define KRATOS_FIXED_MESH_ALE_UTILITIES_H_INCLUDED
128 virtual void Initialize(
ModelPart &rOriginModelPart);
137 virtual void SetVirtualMeshValuesFromOriginMesh();
146 virtual void ComputeMeshMovement(
const double DeltaTime);
154 virtual void UndoMeshMovement();
165 template <
unsigned int TDim>
166 void ProjectVirtualValues(
168 const unsigned int BufferSize = 3);
212 double mSearchTolerance;
213 unsigned int mSearchMaxResults;
217 std::vector<const Variable<double>*> mScalarVariablesList;
218 std::vector<const Variable<array_1d<double,3>>*> mArrayVariablesList;
220 LinearSolverType::Pointer mpLinearSolver =
nullptr;
244 void SetLinearSolverPointer(
const Parameters &rLinearSolverSettings);
252 virtual void FillVirtualModelPart(
ModelPart &rOriginModelPart);
259 virtual void CreateVirtualModelPartElements(
const ModelPart &rOriginModelPart);
265 void SetMeshMovingStrategy();
274 void InitializeVirtualMeshValues();
281 void InitializeMeshDisplacementFixity();
288 void SetMeshDisplacementFixityFromOriginModelPart();
296 void SetEmbeddedNodalMeshDisplacement();
305 void SolveMeshMovementStrategy(
const double DeltaTime);
314 void RevertMeshDisplacementFixity();
345 std::ostream& rOStream,
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: calculate_embedded_nodal_variable_from_skin_process.h:160
Utility to perform the FM-ALE algorithm operations This utility implements the Fixed Mesh - Arbitrary...
Definition: fixed_mesh_ale_utilities.h:79
CalculateEmbeddedNodalVariableFromSkinProcess< array_1d< double, 3 >, SparseSpaceType, LocalSpaceType, LinearSolverType > EmbeddedNodalVariableProcessArrayType
Definition: fixed_mesh_ale_utilities.h:92
LinearSolver< SparseSpaceType, LocalSpaceType > LinearSolverType
Definition: fixed_mesh_ale_utilities.h:87
KRATOS_CLASS_POINTER_DEFINITION(FixedMeshALEUtilities)
Pointer definition of FixedMeshALEUtilities.
LinearSolverFactory< SparseSpaceType, LocalSpaceType > LinearSolverFactoryType
Definition: fixed_mesh_ale_utilities.h:88
Element::NodesArrayType NodesArrayType
Definition: fixed_mesh_ale_utilities.h:84
StrategyType::Pointer StrategyPointerType
Definition: fixed_mesh_ale_utilities.h:95
virtual ~FixedMeshALEUtilities()=default
Destructor.
BuilderAndSolverType::Pointer BuilderAndSolverPointerType
Definition: fixed_mesh_ale_utilities.h:96
void PrintInfo(std::ostream &rOStream) const
Print information about this object.
ResidualBasedBlockBuilderAndSolver< SparseSpaceType, LocalSpaceType, LinearSolverType > BuilderAndSolverType
Definition: fixed_mesh_ale_utilities.h:91
UblasSpace< double, Matrix, Vector > LocalSpaceType
Definition: fixed_mesh_ale_utilities.h:85
UblasSpace< double, CompressedMatrix, Vector > SparseSpaceType
Definition: fixed_mesh_ale_utilities.h:86
std::string Info() const
Turn back information as a string.
ResidualBasedIncrementalUpdateStaticScheme< SparseSpaceType, LocalSpaceType > SchemeType
Definition: fixed_mesh_ale_utilities.h:89
SchemeType::Pointer SchemePointerType
Definition: fixed_mesh_ale_utilities.h:94
void PrintData(std::ostream &rOStream) const
Print object's data.
ResidualBasedLinearStrategy< SparseSpaceType, LocalSpaceType, LinearSolverType > StrategyType
Definition: fixed_mesh_ale_utilities.h:90
Here we add the functions needed for the registration of linear solvers.
Definition: linear_solver_factory.h:62
Base class for all the linear solvers in Kratos.
Definition: linear_solver.h:65
This class aims to manage different model parts across multi-physics simulations.
Definition: model.h:60
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
Current class provides an implementation for standard builder and solving operations.
Definition: residualbased_block_builder_and_solver.h:82
This class provides the implementation of a static scheme.
Definition: residualbased_incrementalupdate_static_scheme.h:57
This is a very simple strategy to solve linearly the problem.
Definition: residualbased_linear_strategy.h:64
A class template for handling data types, matrices, and vectors in a Ublas space.
Definition: ublas_space.h:121
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
TUblasSparseSpace< double > SparseSpaceType
Definition: linear_solver_factory.h:154
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
TUblasDenseSpace< double > LocalSpaceType
Definition: register_factories.h:33