Angle of Attack Sweep Controller¶
- class pyrefine.controller.aoa_sweep.ControllerAoaSweep(project_name, pbs=None)¶
Bases:
ControllerBase
A controller to perform an angle of attack sweep. There are two phases to the process. A fixed angle of attack phase where the complexity is (potentially) increases on a fixed schedule. Multiple complexity phases can occur per angle of attack. An angle of attack adjustment phase occurs between fixed angle of attack phases. In the adjustment phase, complexity is held fixed while the problem is incremented to the next angle of attack.
- Parameters
project_name (
str
) – The root name of the project (without any mesh numbers)pbs (
PBS
) – PBS queue helper
- steps_per_complexity_at_aoa¶
At a fixed aoa, the number of adaptation cycles before increasing the complexity
- Type
int
- complexity_multiplier¶
The multiplicative factor to mutiple the complexity by
- Type
float
- complexity_levels_per_aoa¶
The number of complexity levels at each angle of attack
- Type
int
- steps_per_aoa_transition¶
The number of adaptation cycles used to transition to the next angle of attack step
- Type
int
- aoa_step_size¶
The angle of attack step size at which analyze. (transition moves between step_size)
- Type
float
- initial_aoa¶
Initial angle of attack in degrees
- Type
float
- fun3d_nml_list¶
The list of fun3d namelist files to adjust the angle of attack in
- Type
list[str]
- update_inputs(istep)¶
Update the angle of attack based on the schedule
- compute_complexity(istep, current_complexity)¶
- Parameters
istep (
int
) – Adaptation step numbercurrent_complexity (
float
) – The current complexity in the driver. If doing a restart, the current complexity will be None
- Return type
complexity