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.
auton_hunt_prudhomme_inviscid_force_law.h
Go to the documentation of this file.
1 // Author: Guillermo Casas (gcasas@cimne.upc.edu)
2 // Date: February 2019
3 
4 #if !defined(SDEM_STANDARD_INVISCID_FORCE_LAW_H_INCLUDED)
5 #define SDEM_STANDARD_INVISCID_FORCE_LAW_H_INCLUDED
6 
7 #include "inviscid_force_law.h"
8 
9 namespace Kratos {
10 
11  class KRATOS_API(SWIMMING_DEM_APPLICATION) AutonHuntPrudhommeInviscidForceLaw : public InviscidForceLaw {
12 
13  public:
14  typedef Node NodeType;
16 
17  // TODO: make mDoApplyFaxenCorrections an option
19 
21 
23 
24  InviscidForceLaw::Pointer Clone() const override;
25 
26  void Initialize(const ProcessInfo& r_process_info) override;
27 
28  std::string GetTypeOfLaw() override;
29 
30  void ComputeForce(Geometry<Node >& r_geometry,
31  const double fluid_density,
32  const double displaced_volume,
33  array_1d<double, 3>& virtual_mass_plus_undisturbed_flow_force,
34  const ProcessInfo& r_current_process_info) override;
35 
36  protected:
37 
38  double GetVirtualMassCoefficient(Geometry<Node >& r_geometry,
39  const array_1d<double, 3>& minus_slip_acc) override;
40 
41  private:
42  bool mDoApplyFaxenCorrections;
43 
44  friend class Serializer;
45 
46  virtual void save(Serializer& rSerializer) const override {
48  }
49 
50  virtual void load(Serializer& rSerializer) override {
52  }
53 
54  }; //class AutonHuntPrudhommeInviscidForceLaw
55 
56 } // Namespace Kratos
57 
58 #endif /* SDEM_STANDARD_INVISCID_FORCE_LAW_H_INCLUDED defined */
Definition: auton_hunt_prudhomme_inviscid_force_law.h:11
AutonHuntPrudhommeInviscidForceLaw()
Definition: auton_hunt_prudhomme_inviscid_force_law.h:18
~AutonHuntPrudhommeInviscidForceLaw()
Definition: auton_hunt_prudhomme_inviscid_force_law.h:22
KRATOS_CLASS_POINTER_DEFINITION(AutonHuntPrudhommeInviscidForceLaw)
Node NodeType
Definition: auton_hunt_prudhomme_inviscid_force_law.h:14
Geometry base class.
Definition: geometry.h:71
Definition: inviscid_force_law.h:16
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
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307