13 #ifndef KRATOS_APPLY_PERTURBATION_FUNCTION_PROCESS_H_INCLUDED
14 #define KRATOS_APPLY_PERTURBATION_FUNCTION_PROCESS_H_INCLUDED
58 template<
class TVarType>
82 TVarType& rThisVariable,
89 TVarType& rThisVariable,
114 void Execute()
override;
119 int Check()
override;
125 void ExecuteBeforeSolutionLoop()
override;
142 virtual std::string
Info()
const override
144 std::stringstream buffer;
145 buffer <<
"ApplyPerturbationFunctionProcess" ;
150 virtual void PrintInfo(std::ostream& rOStream)
const override {rOStream <<
"ApplyPerturbationFunctionProcess";}
153 virtual void PrintData(std::ostream& rOStream)
const override {}
211 TVarType& mrVariable;
212 double mDefaultValue;
213 double mInfluenceDistance;
214 double mPerturbation;
215 double mHalfWaveNumber;
226 void ValidateParameters(
Parameters& rParameters);
232 double ComputeInitialValue(
double& rDistance);
This process assigns a default value or a perturbation if the node is close to an influence area.
Definition: apply_perturbation_function_process.h:60
std::size_t IndexType
Definition: apply_perturbation_function_process.h:65
NodesArrayType::iterator NodeIteratorType
Definition: apply_perturbation_function_process.h:69
Node::Pointer NodePointerType
Definition: apply_perturbation_function_process.h:67
Node NodeType
Definition: apply_perturbation_function_process.h:66
ModelPart::NodesContainerType NodesArrayType
Definition: apply_perturbation_function_process.h:68
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: apply_perturbation_function_process.h:150
void operator()()
Definition: apply_perturbation_function_process.h:102
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: apply_perturbation_function_process.h:153
virtual std::string Info() const override
Turn back information as a string.
Definition: apply_perturbation_function_process.h:142
~ApplyPerturbationFunctionProcess() override
Destructor.
Definition: apply_perturbation_function_process.h:93
KRATOS_CLASS_POINTER_DEFINITION(ApplyPerturbationFunctionProcess)
Pointer definition of ApplyPerturbationFunctionProcess.
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
This class defines the node.
Definition: node.h:65
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
double ComputeDistance(const T1 &rCoords1, const T2 &rCoords2)
Definition: mapper_utilities.h:207
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42