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.
postprocess_eigenvalues_process.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Philipp Bucher (https://github.com/philbucher)
10 //
11 
12 #pragma once
13 
14 // System includes
15 
16 // External includes
17 
18 // Project includes
19 #include "includes/define.h"
20 #include "processes/process.h"
22 
23 namespace Kratos {
24 
27 
30 
32 
38 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) PostprocessEigenvaluesProcess : public Process
39 {
40 public:
43 
48 
49  typedef std::size_t SizeType;
50 
52 
56 
58  Model& rModel,
59  Parameters OutputParameters);
60 
64 
65  void ExecuteFinalizeSolutionStep() override;
66 
70 
71  const Parameters GetDefaultParameters() const override;
72 
76 
78  virtual std::string Info() const override {
79  return "PostprocessEigenvaluesProcess";
80  }
81 
83  void PrintInfo(std::ostream& rOStream) const override {
84  rOStream << "PostprocessEigenvaluesProcess";
85  }
86 
88  void PrintData(std::ostream& rOStream) const override {
89  }
90 
92 
93 private:
96 
97  ModelPart* mpModelPart;
98  Parameters mOutputParameters;
99 
103 
104  std::string GetLabel(const int NumberOfEigenValue,
105  const int NumberOfEigenvalues,
106  const double EigenValueSolution) const;
107 
108  void GetVariables(std::vector<const Variable<double>*>& rRequestedDoubleResults,
109  std::vector<const Variable<array_1d<double,3>>*>& rRequestedVectorResults) const;
110 
112 
113 }; // Class PostprocessEigenvaluesProcess
114 
116 
117 } // namespace Kratos.
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 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
std::vector< std::unique_ptr< Dof< double > >> DofsContainerType
The DoF container type definition.
Definition: node.h:92
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
Process to create the animated Eigenvectors.
Definition: postprocess_eigenvalues_process.h:39
KRATOS_CLASS_POINTER_DEFINITION(PostprocessEigenvaluesProcess)
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: postprocess_eigenvalues_process.h:88
ModelPart::NodeType::DofsContainerType DofsContainerType
Definition: postprocess_eigenvalues_process.h:51
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: postprocess_eigenvalues_process.h:83
std::size_t SizeType
Definition: postprocess_eigenvalues_process.h:49
virtual std::string Info() const override
Turn back information as a string.
Definition: postprocess_eigenvalues_process.h:78
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