DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Euler::CLDriverSettings Struct Reference

JSON-configurable settings for the CL (lift coefficient) driver. More...

#include <CLDriver.hpp>

Collaboration diagram for DNDS::Euler::CLDriverSettings:
[legend]

Public Member Functions

 DNDS_DECLARE_CONFIG (CLDriverSettings)
 

Public Attributes

real AOAInit = 0.0
 Initial angle of attack in degrees.
 
std::string AOAAxis = "z"
 Coordinate axis about which AoA rotation is applied ("x", "y", or "z").
 
std::string CL0Axis = "y"
 Coordinate axis defining the zero-AoA lift direction ("x", "y", or "z").
 
std::string CD0Axis = "x"
 Coordinate axis defining the zero-AoA drag direction ("x", "y", or "z").
 
real refArea = 1.0
 Reference area for aerodynamic coefficient normalization.
 
real refDynamicPressure = 0.5
 Reference dynamic pressure (0.5 * rho_inf * V_inf^2) for coefficient normalization.
 
real targetCL = 0.0
 Target lift coefficient that the driver attempts to achieve.
 
real CLIncrementRelax = 0.25
 Under-relaxation factor applied to each AoA increment (0,1]. // reduce each alpha increment.
 
real thresholdTargetRatio = 0.5
 Fraction of |targetCL - lastCL| used to tighten the convergence threshold near the target. // reduce CL convergence threshold when close to the target CL.
 
index nIterStartDrive = INT32_MAX
 Solver iteration at which the CL driver becomes active.
 
index nIterConvergeMin = 50
 Minimum number of iterations before the CL convergence window is evaluated.
 
real CLconvergeThreshold = 1e-3
 Maximum deviation within the sliding window for CL to be considered converged.
 
index CLconvergeWindow = 10
 Number of most-recent CL samples in the sliding convergence window.
 
index CLconvergeLongWindow = 100
 Number of consecutive iterations within tolerance required for final (long-window) convergence. // for converged-at-target exit of main iteration loop.
 
real CLconvergeLongThreshold = 1e-4
 CL error tolerance for the long-window converged-at-target check.
 
bool CLconvergeLongStrictAoA = false
 If true, reset the long-window counter whenever the AoA is updated.
 

Detailed Description

JSON-configurable settings for the CL (lift coefficient) driver.

Controls the iterative angle-of-attack (AoA) adjustment loop that seeks to match a target lift coefficient. Parameters govern the AoA rotation axis, force reference directions, normalization areas/pressures, under-relaxation, and both short-window and long-window convergence criteria.

Definition at line 30 of file CLDriver.hpp.

Member Function Documentation

◆ DNDS_DECLARE_CONFIG()

DNDS::Euler::CLDriverSettings::DNDS_DECLARE_CONFIG ( CLDriverSettings  )
inline

Definition at line 51 of file CLDriver.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ AOAAxis

std::string DNDS::Euler::CLDriverSettings::AOAAxis = "z"

Coordinate axis about which AoA rotation is applied ("x", "y", or "z").

Definition at line 33 of file CLDriver.hpp.

◆ AOAInit

real DNDS::Euler::CLDriverSettings::AOAInit = 0.0

Initial angle of attack in degrees.

Definition at line 32 of file CLDriver.hpp.

◆ CD0Axis

std::string DNDS::Euler::CLDriverSettings::CD0Axis = "x"

Coordinate axis defining the zero-AoA drag direction ("x", "y", or "z").

Definition at line 35 of file CLDriver.hpp.

◆ CL0Axis

std::string DNDS::Euler::CLDriverSettings::CL0Axis = "y"

Coordinate axis defining the zero-AoA lift direction ("x", "y", or "z").

Definition at line 34 of file CLDriver.hpp.

◆ CLconvergeLongStrictAoA

bool DNDS::Euler::CLDriverSettings::CLconvergeLongStrictAoA = false

If true, reset the long-window counter whenever the AoA is updated.

Definition at line 49 of file CLDriver.hpp.

◆ CLconvergeLongThreshold

real DNDS::Euler::CLDriverSettings::CLconvergeLongThreshold = 1e-4

CL error tolerance for the long-window converged-at-target check.

Definition at line 48 of file CLDriver.hpp.

◆ CLconvergeLongWindow

index DNDS::Euler::CLDriverSettings::CLconvergeLongWindow = 100

Number of consecutive iterations within tolerance required for final (long-window) convergence. // for converged-at-target exit of main iteration loop.

Definition at line 47 of file CLDriver.hpp.

◆ CLconvergeThreshold

real DNDS::Euler::CLDriverSettings::CLconvergeThreshold = 1e-3

Maximum deviation within the sliding window for CL to be considered converged.

Definition at line 44 of file CLDriver.hpp.

◆ CLconvergeWindow

index DNDS::Euler::CLDriverSettings::CLconvergeWindow = 10

Number of most-recent CL samples in the sliding convergence window.

Definition at line 45 of file CLDriver.hpp.

◆ CLIncrementRelax

real DNDS::Euler::CLDriverSettings::CLIncrementRelax = 0.25

Under-relaxation factor applied to each AoA increment (0,1]. // reduce each alpha increment.

Definition at line 39 of file CLDriver.hpp.

◆ nIterConvergeMin

index DNDS::Euler::CLDriverSettings::nIterConvergeMin = 50

Minimum number of iterations before the CL convergence window is evaluated.

Definition at line 43 of file CLDriver.hpp.

◆ nIterStartDrive

index DNDS::Euler::CLDriverSettings::nIterStartDrive = INT32_MAX

Solver iteration at which the CL driver becomes active.

Definition at line 42 of file CLDriver.hpp.

◆ refArea

real DNDS::Euler::CLDriverSettings::refArea = 1.0

Reference area for aerodynamic coefficient normalization.

Definition at line 36 of file CLDriver.hpp.

◆ refDynamicPressure

real DNDS::Euler::CLDriverSettings::refDynamicPressure = 0.5

Reference dynamic pressure (0.5 * rho_inf * V_inf^2) for coefficient normalization.

Definition at line 37 of file CLDriver.hpp.

◆ targetCL

real DNDS::Euler::CLDriverSettings::targetCL = 0.0

Target lift coefficient that the driver attempts to achieve.

Definition at line 38 of file CLDriver.hpp.

◆ thresholdTargetRatio

real DNDS::Euler::CLDriverSettings::thresholdTargetRatio = 0.5

Fraction of |targetCL - lastCL| used to tighten the convergence threshold near the target. // reduce CL convergence threshold when close to the target CL.

Definition at line 40 of file CLDriver.hpp.


The documentation for this struct was generated from the following file: