156 #ifndef targetCoeffTrim_H 157 #define targetCoeffTrim_H 172 class targetCoeffTrim
211 template<
class RhoFieldType>
214 const RhoFieldType&
rho,
221 template<
class RhoFieldType>
224 const RhoFieldType&
rho,
240 const fv::rotorDiskSource& rotor,
241 const dictionary&
dict 261 virtual tmp<scalarField>
thetag()
const;
virtual void correct(const vectorField &U, vectorField &force)
Correct the model.
scalar alpha_
Coefficient to allow for conversion between US and EU definitions.
void correctTrim(const RhoFieldType &rho, const vectorField &U, vectorField &force)
Correct the model.
virtual ~targetCoeffTrim()=default
Destructor.
scalar tol_
Convergence tolerance.
label nIter_
Maximum number of iterations in trim routine.
void operator=(const targetCoeffTrim &)=delete
No copy assignment.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
vector theta_
Pitch angles (collective, roll, pitch) [rad].
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
vector target_
Target coefficient vector (thrust force, roll moment, pitch moment)
label calcFrequency_
Number of iterations between calls to 'correct'.
TypeName("targetCoeffTrim")
Run-time type information.
vector calcCoeffs(const RhoFieldType &rho, const vectorField &U, const scalarField &alphag, vectorField &force) const
Calculate the rotor force and moment coefficients vector.
virtual tmp< scalarField > thetag() const
Return the geometric angle of attack [rad].
scalar dTheta_
Perturbation angle used to determine jacobian.
targetCoeffTrim(const fv::rotorDiskSource &rotor, const dictionary &dict)
Constructor from rotor and dictionary.
void read(const dictionary &dict)
Read.
Field< vector > vectorField
Specialisation of Field<T> for vector.
scalar relax_
Under-relaxation coefficient.
bool useCoeffs_
Flag to indicate whether to solve coeffs (true) or forces (false)