156#ifndef targetCoeffTrim_H
157#define targetCoeffTrim_H
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
248 void operator=(
const targetCoeffTrim&) =
delete;
261 virtual tmp<scalarField>
thetag()
const;
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Applies cell-based momentum sources on velocity (i.e. U) within a specified cylindrical region to app...
Trim model where the operating characteristics of rotor (e.g. blade pitch angle) can vary to reach a ...
label nIter_
Maximum number of iterations in trim routine.
label calcFrequency_
Number of iterations between calls to 'correct'.
targetCoeffTrim(const fv::rotorDiskSource &rotor, const dictionary &dict)
Constructor from rotor and dictionary.
virtual tmp< scalarField > thetag() const
Return the geometric angle of attack [rad].
vector theta_
Pitch angles (collective, roll, pitch) [rad].
vector target_
Target coefficient vector (thrust force, roll moment, pitch moment)
scalar dTheta_
Perturbation angle used to determine jacobian.
void read(const dictionary &dict)
Read.
TypeName("targetCoeffTrim")
Run-time type information.
bool useCoeffs_
Flag to indicate whether to solve coeffs (true) or forces (false)
virtual ~targetCoeffTrim()=default
Destructor.
scalar relax_
Under-relaxation coefficient.
targetCoeffTrim(const targetCoeffTrim &)=delete
No copy construct.
scalar alpha_
Coefficient to allow for conversion between US and EU definitions.
void operator=(const targetCoeffTrim &)=delete
No copy assignment.
scalar tol_
Convergence tolerance.
void correctTrim(const RhoFieldType &rho, const vectorField &U, vectorField &force)
Correct the model.
vector calcCoeffs(const RhoFieldType &rho, const vectorField &U, const scalarField &alphag, vectorField &force) const
Calculate the rotor force and moment coefficients vector.
A class for managing temporary objects.
Base class for trim models for handling blade characteristics and thrust-torque relations.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.