Go to the documentation of this file.
31 template<
class RhoFieldType>
37 const RhoFieldType&
rho,
41 scalar a = 1.0 - Cp_/Ct_;
42 vector uniDiskDir = diskDir_/
mag(diskDir_);
44 E.
xx() = uniDiskDir.
x();
45 E.
yy() = uniDiskDir.
y();
46 E.
zz() = uniDiskDir.
z();
49 scalar upRho = VGREAT;
50 if (upstreamCellId_ != -1)
52 upU =
U[upstreamCellId_];
53 upRho =
rho[upstreamCellId_];
58 scalar
T = 2.0*upRho*diskArea_*
mag(upU)*a*(1 - a);
62 Usource[
cells[i]] += ((Vcells[
cells[i]]/V())*
T*E) & upU;
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
#define forAll(list, i)
Loop across all elements in list.
dimensioned< scalar > mag(const dimensioned< Type > &)
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
Pre-declare SubField and related Field type.
Vector< scalar > vector
A scalar version of the templated Vector.
void addActuationDiskAxialInertialResistance(vectorField &Usource, const labelList &cells, const scalarField &V, const RhoFieldType &rho, const vectorField &U) const
Add resistance to the UEqn.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...