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.
set_multiple_moving_loads.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Jonathan Nuttall
11 //
12 
13 #pragma once
14 
15 #include "includes/define.h"
16 #include "processes/process.h"
17 #include "includes/model_part.h"
20 
21 #include "../../StructuralMechanicsApplication/custom_processes/set_moving_load_process.h"
22 
23 namespace Kratos {
24 
33  class KRATOS_API(GEO_MECHANICS_APPLICATION) SetMultipleMovingLoadsProcess : public Process
34  {
35  public:
38 
43 
44 
45  using SizeType = std::size_t;
46 
50 
52  const Parameters & rParameters);
53 
56 
58 
60 
63 
68  void ExecuteInitialize() override;
69 
75  void ExecuteInitializeSolutionStep() override;
76 
81  void ExecuteFinalizeSolutionStep() override;
82 
83 
85 
86  private:
89  ModelPart& mrModelPart;
90  Parameters mParameters;
91  std::vector<Kratos::unique_ptr<SetMovingLoadProcess>> mMovingPointLoadsProcesses;
96 
100  ModelPart& CloneMovingConditionInComputeModelPart(const std::string& NewBodyPartName);
101 
105  [[nodiscard]] int GetMaxConditionsIndex() const;
106 
110  void RemoveClonedConditions();
111 
113  };
114  }
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
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
The base class for all processes in Kratos.
Definition: process.h:49
Process to set and manage multiple moving loads offset according to a configuration variable.
Definition: set_multiple_moving_loads.h:34
KRATOS_CLASS_POINTER_DEFINITION(SetMultipleMovingLoadsProcess)
std::size_t SizeType
Definition: set_multiple_moving_loads.h:45
SetMultipleMovingLoadsProcess & operator=(const SetMultipleMovingLoadsProcess &)=delete
SetMultipleMovingLoadsProcess(const SetMultipleMovingLoadsProcess &)=delete
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21