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.
element_deactivation_process.h
Go to the documentation of this file.
1 // KRATOS ___ _ _ _ _ _ __ _
2 // / __\___ _ __ ___| |_(_) |_ _ _| |_(_)_ _____ / / __ ___ _____ /_\ _ __ _ __
3 // / / / _ \| '_ \/ __| __| | __| | | | __| \ \ / / _ \/ / / _` \ \ /\ / / __| //_\\| '_ \| '_ |
4 // / /__| (_) | | | \__ \ |_| | |_| |_| | |_| |\ V / __/ /__| (_| |\ V V /\__ \/ _ \ |_) | |_) |
5 // \____/\___/|_| |_|___/\__|_|\__|\__,_|\__|_| \_/ \___\____/\__,_| \_/\_/ |___/\_/ \_/ .__/| .__/
6 // |_| |_|
7 //
8 // License: BSD License
9 // license: structural_mechanics_application/license.txt
10 //
11 // Main authors: Alejandro Cornejo
12 //
13 
14 #pragma once
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "processes/process.h"
22 
23 namespace Kratos
24 {
25 
33 class KRATOS_API(CONSTITUTIVE_LAWS_APPLICATION) ElementDeactivationProcess
34  : public Process
35 {
36 public:
39  using IndexType = std::size_t;
40 
42 
46 
49  ModelPart& rThisModelPart,
50  Parameters ThisParameters = Parameters(R"({})")
51  );
52 
54  ~ElementDeactivationProcess() override = default;
55 
59 
64  void ExecuteFinalizeSolutionStep() override;
65 
69  const Parameters GetDefaultParameters() const override;
70 
74 
76  std::string Info() const override
77  {
78  return "ElementDeactivationProcess";
79  }
80 
82  void PrintInfo(std::ostream& rOStream) const override
83  {
84  rOStream << "ElementDeactivationProcess";
85  }
86 
88  void PrintData(std::ostream& rOStream) const override
89  {
90  }
91 
93 protected:
96 
97 
101 
104  std::string mVariableName;
105  double mThreshold;
106  bool mAverageOverIP = true;
107 
109 private:
113 
116 
118  //ElementDeactivationProcess(ElementDeactivationProcess const& rOther);
119 
121 }; // Class ElementDeactivationProcess
122 
124 inline std::istream& operator >> (std::istream& rIStream,
126 
128 inline std::ostream& operator << (std::ostream& rOStream,
129  const ElementDeactivationProcess& rThis)
130 {
131  rThis.PrintInfo(rOStream);
132  rOStream << std::endl;
133  rThis.PrintData(rOStream);
134 
135  return rOStream;
136 }
137 
138 } // namespace Kratos.
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
This class process deactivates elements according to a certain variable threshold We currently suport...
Definition: element_deactivation_process.h:35
KRATOS_CLASS_POINTER_DEFINITION(ElementDeactivationProcess)
double mThreshold
Definition: element_deactivation_process.h:105
Parameters mThisParameters
Definition: element_deactivation_process.h:103
std::string mVariableName
Definition: element_deactivation_process.h:104
ModelPart & mrThisModelPart
Definition: element_deactivation_process.h:102
~ElementDeactivationProcess() override=default
Destructor.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: element_deactivation_process.h:88
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: element_deactivation_process.h:82
std::string Info() const override
Turn back information as a string.
Definition: element_deactivation_process.h:76
std::size_t IndexType
Definition: flags.h:74
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
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432