StandardFieldsBinning.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef StandardFieldsBinning_H
6 #define StandardFieldsBinning_H
7 
8 #include <Math/Matrix.h>
9 #include <Math/MatrixSymmetric.h>
11 #include <array>
12 
13 #include "StandardFields.h"
14 
15 class BaseParticle;
16 
17 class BaseInteraction;
18 
19 namespace CGFields
20 {
21 
33 {
34 public:
35 
40 
45 
51 
57  void addParticleStatistics(Mdouble phi, const StandardFieldsBinning& currentInteraction);
58 
59  void addParticleDifferentialStatistics(Vec3D& dphi, const StandardFieldsBinning& currentInteraction) {};
60 
66  void addInteractionStatistics(Mdouble psi, const StandardFieldsBinning& currentInteraction) {};
67 
73  void addContactPointStatistics(Mdouble phi, const StandardFieldsBinning& currentInteraction) {};
74 
76 
78 
79  void setFields(const BaseParticle& p);
80 
82 
83 
92  {
93  return false;
94  }
95 
96  static bool evaluateFixedParticles()
97  {
98  return false;
99  }
100 
105  static bool isDifferentialField()
106  {
107  return false;
108  }
109 };
110 
111 }
112 #endif
IntegralType
Specifies the two points between which a line integral is computed.
Definition: IntegralType.h:14
float * p
Definition: Tutorial_Map_using.cpp:9
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:39
Definition: BaseParticle.h:33
Contains the computed field values, like density, momentum and stress.
Definition: StandardFieldsBinning.h:33
void addInteractionStatistics(Mdouble psi, const StandardFieldsBinning &currentInteraction)
This function should be called from within a loop over all Interactions to compute all the fields tha...
Definition: StandardFieldsBinning.h:66
void addParticleStatistics(Mdouble phi, const StandardFieldsBinning &currentInteraction)
This function should be called from within a loop over all particles to compute all the fields that a...
Definition: StandardFieldsBinning.cc:23
StandardFieldsBinning(const StandardFieldsBinning &P)=default
Default copy constructor, copies the values of all fields.
StandardFieldsBinning()
Default constructor, sets all field values to zero.
Definition: StandardFieldsBinning.cc:11
static bool doInteractionStatistics()
Returns true if the class contains fields that are defined as a sum over all Interactions (e....
Definition: StandardFieldsBinning.h:91
~StandardFieldsBinning()=default
Destructor, it simply destructs the StandardFieldsBinning and all the objects it contains.
void setCylindricalFields(const BaseParticle &p)
Definition: StandardFieldsBinning.h:81
void addParticleDifferentialStatistics(Vec3D &dphi, const StandardFieldsBinning &currentInteraction)
Definition: StandardFieldsBinning.h:59
void addContactPointStatistics(Mdouble phi, const StandardFieldsBinning &currentInteraction)
This function should be called from within a loop over all Interactions to compute all the fields tha...
Definition: StandardFieldsBinning.h:73
void setCylindricalFields(const BaseInteraction &c, IntegralType type)
Definition: StandardFieldsBinning.h:77
static bool isDifferentialField()
Definition: StandardFieldsBinning.h:105
static bool evaluateFixedParticles()
Definition: StandardFieldsBinning.h:96
void setFields(const BaseInteraction &c, IntegralType type)
Definition: StandardFieldsBinning.h:75
Contains the computed field values, like density, momentum and stress.
Definition: StandardFields.h:33
Definition: Kernel/Math/Vector.h:30
Definition: BaseFields.h:14
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:77
int c
Definition: calibrate.py:100
type
Definition: compute_granudrum_aor.py:141