www.cemf.ir
grainShape.hpp
Go to the documentation of this file.
1 /*------------------------------- phasicFlow ---------------------------------
2  O C enter of
3  O O E ngineering and
4  O O M ultiscale modeling of
5  OOOOOOO F luid flow
6 ------------------------------------------------------------------------------
7  Copyright (C): www.cemf.ir
8  email: hamid.r.norouzi AT gmail.com
9 ------------------------------------------------------------------------------
10 Licence:
11  This file is part of phasicFlow code. It is a free software for simulating
12  granular and multiphase flows. You can redistribute it and/or modify it under
13  the terms of GNU General Public License v3 or any other later versions.
14 
15  phasicFlow is distributed to help others in their research in the field of
16  granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
17  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 
19 -----------------------------------------------------------------------------*/
20 
21 #ifndef __grainShape_hpp__
22 #define __grainShape_hpp__
23 
24 #include "shape.hpp"
25 
26 namespace pFlow
27 {
28 
30 :
31  public shape
32 {
33 private:
34 
35  // - diameter of spheres
39 
40 
41  bool readFromDictionary3();
42 
43 protected:
44 
45  bool writeToDict(dictionary& dict)const override;
46 
47 public:
48 
49  // - type info
50  TypeInfo("shape<grain>");
51 
52  grainShape(
53  const word& fileName,
55  const property& prop);
56 
57 
58  ~grainShape() override = default;
59 
61 
62  real maxBoundingSphere()const override;
63 
64  real minBoundingSphere()const override;
65 
66  bool boundingDiameter(uint32 index, real& bDiam)const override;
67 
68  real boundingDiameter(uint32 index)const override;
69 
70  realVector boundingDiameter()const override;
71 
72  real coarseGrainFactor(uint32 index)const ;
73 
75 
76  real orginalDiameter(uint32 index)const ;
77 
79 
80  bool mass(uint32 index, real& m)const override;
81 
82  real mass(uint32 index) const override;
83 
84  realVector mass()const override;
85 
86  realVector density() const override;
87 
88  bool Inertia(uint32 index, real& I)const override;
89 
90  real Inertia(uint32 index)const override;
91 
92  realVector Inertia()const override;
93 
94  bool Inertia_xx(uint32 index, real& Ixx)const override;
95 
96  real Inertial_xx(uint32 index)const override;
97 
98  bool Inertia_yy(uint32 index, real& Iyy)const override;
99 
100  real Inertial_yy(uint32 index)const override;
101 
102  bool Inertia_zz(uint32 index, real& Izz)const override;
103 
104  real Inertial_zz(uint32 index)const override;
105 
106 };
107 
108 } // pFlow
109 
110 #endif //__grainShape_hpp__
pFlow::grainShape::writeToDict
bool writeToDict(dictionary &dict) const override
Definition: grainShape.cpp:51
pFlow::real
float real
Definition: builtinTypes.hpp:45
shape.hpp
pFlow::grainShape::mass
realVector mass() const override
Definition: grainShape.cpp:173
pFlow::grainShape::Inertial_zz
real Inertial_zz(uint32 index) const override
Definition: grainShape.cpp:239
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::grainShape::Inertial_yy
real Inertial_yy(uint32 index) const override
Definition: grainShape.cpp:229
pFlow::word
std::string word
Definition: builtinTypes.hpp:64
pFlow::grainShape::coarseGrainFactor
realVector coarseGrainFactor() const
Definition: grainShape.cpp:126
pFlow::grainShape::Inertia_xx
bool Inertia_xx(uint32 index, real &Ixx) const override
Definition: grainShape.cpp:214
pFlow::grainShape::orginalDiameter
realVector orginalDiameter() const
Definition: grainShape.cpp:145
pFlow
Definition: demGeometry.hpp:27
pFlow::grainShape::grainShape
grainShape(const word &fileName, repository *owner, const property &prop)
Definition: grainShape.cpp:60
pFlow::grainShape::density
realVector density() const override
Definition: grainShape.cpp:178
pFlow::grainShape::sphereDiameters_
realVector sphereDiameters_
Definition: grainShape.hpp:37
pFlow::grainShape::readFromDictionary3
bool readFromDictionary3()
Definition: grainShape.cpp:24
pFlow::grainShape::Inertial_xx
real Inertial_xx(uint32 index) const override
Definition: grainShape.cpp:219
pFlow::shape
Definition: shape.hpp:30
pFlow::grainShape::grainDiameters_
realVector grainDiameters_
Definition: grainShape.hpp:36
pFlow::dictionary::dict
virtual dictionary & dict()
ref to this dictionary, if it is a dictionary
Definition: dictionary.cpp:369
pFlow::grainShape::minBoundingSphere
real minBoundingSphere() const override
Definition: grainShape.cpp:81
pFlow::grainShape::Inertia_zz
bool Inertia_zz(uint32 index, real &Izz) const override
Definition: grainShape.cpp:234
pFlow::grainShape::~grainShape
~grainShape() override=default
pFlow::IOobject::owner
const repository * owner() const override
Definition: IOobject.hpp:76
pFlow::property
property holds the pure properties of materials.
Definition: property.hpp:37
pFlow::grainShape::boundingDiameter
realVector boundingDiameter() const override
Definition: grainShape.cpp:108
pFlow::grainShape::Inertia
realVector Inertia() const override
Definition: grainShape.cpp:209
pFlow::grainShape::TypeInfo
TypeInfo("shape<grain>")
pFlow::grainShape::maxBoundingSphere
real maxBoundingSphere() const override
Definition: grainShape.cpp:76
pFlow::grainShape
Definition: grainShape.hpp:29
pFlow::repository
Definition: repository.hpp:34
pFlow::grainShape::Inertia_yy
bool Inertia_yy(uint32 index, real &Iyy) const override
Definition: grainShape.cpp:224
pFlow::Vector< real >
m
uint32 m
Definition: NBSLoop.hpp:22
pFlow::grainShape::coarseGrainFactor_
realVector coarseGrainFactor_
Definition: grainShape.hpp:38
pFlow::dictionary
Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...
Definition: dictionary.hpp:67