39 #ifndef forceSubModel_H
40 #define forceSubModel_H
43 #include "cfdemCloud.H"
44 #include "probeModel.H"
60 const dictionary& dict_;
66 label nrDefaultSwitches_;
68 wordList switchesNameList_;
70 mutable List<Switch> switchesList_;
72 mutable List<Switch> switches_;
74 mutable volScalarField nu_;
76 mutable volVectorField divTau_;
78 mutable volVectorField IBDragPerV_;
80 word densityFieldName_;
82 const volScalarField& rho_;
87 TypeName(
"forceSubModel");
91 declareRunTimeSelectionTable
97 const dictionary& dict,
110 const dictionary& dict,
123 static autoPtr<forceSubModel> New
125 const dictionary& dict,
133 void partToArray(label&, vector&,
const vector&,
const vector& Ufluid=vector::zero, scalar Cd=scalar(0))
const;
135 virtual void explicitCorr(vector&, vector&, scalar&, vector&,
const vector&, vector&,
const vector&,
bool,label index=100)
const;
139 inline bool verbose()
const {
return switches_[3]; };
141 inline bool interpolation()
const {
return switches_[4]; };
143 inline bool useFilteredDragModel()
const {
return switches_[5]; };
145 inline bool useParcelSizeDependentFilteredDrag()
const {
return switches_[6]; };
147 virtual word myType()
const=0;
149 inline forceModel& myForceM()
const {
return forceModel_;};
151 inline const List<Switch>& switches()
const {
return switches_;};
153 inline const wordList& switchesNameList()
const {
return switchesNameList_;};
155 void setSwitchesList(label i,
bool v)
const { switchesList_[i] = label(v);};
157 void setSwitches(label i, Switch v)
const { switches_[i] = v;};
159 virtual void readSwitches()
const;
161 const label& nrDefaultSwitches()
const {
return nrDefaultSwitches_;};
163 const volScalarField& nuField()
const;
165 const volScalarField& muField()
const;
167 const volScalarField& rhoField()
const;
169 const volVectorField& divTauField(
const volVectorField&)
const;
171 const volVectorField& IBDragPerV(
const volVectorField&,
const volScalarField&)
const;
Definition: forceSubModel.H:54
Definition: cfdemCloud.H:81
Definition: forceModel.H:55