Cavity Flow Environment
This module provides cavity flow CFD environments for reinforcement learning, designed for flow control applications in cavity configurations.
CavityBase Objects
class CavityBase(MaiaFlowEnv)
Base class for cavity flow environments with Hugging Face integration.
This environment implements two reward strategies:
- 'baseline_mean': Penalize deviation from a pre-computed baseline state
- 'running_mean': Penalize deviation from a running average
Attributes:
reward_strategy- Strategy for reward computation ('baseline_mean' or 'running_mean').
__init__
def __init__(env_config: Dict)
Initialize the cavity base environment.
Arguments:
env_config- Environment configuration dictionary containing:- reward_strategy (str): 'baseline_mean' or 'running_mean'. Default: 'baseline_mean'
get_reward
def get_reward() -> Tuple[float, Dict]
Compute the reward based on the selected strategy.
For 'running_mean': Penalizes deviation from exponential moving average. For 'baseline_mean': Penalizes deviation from pre-computed baseline.
Returns:
Tuple containing:
- reward: Negative sum of absolute deviations
- obj_dict: Empty dictionary (for compatibility)
Raises:
ValueError- If unknown reward strategy is specified.
Cavity Objects
class Cavity(CavityBase)
Single-jet cavity environment.
This environment simulates cavity flow with a single jet actuator for flow control.
Attributes:
numJetsInSimulation- Number of jet actuators in the CFD simulation.
__init__
def __init__(env_config: Dict)
Initialize the cavity environment.
Arguments:
env_config- Environment configuration dictionary.
convert_action
def convert_action(action: np.ndarray) -> np.ndarray
Convert RL action to CFD actuation format.
Arguments:
action- Action array from the RL agent.
Returns:
Action sequence for the CFD solver.
Cavity3Jet Objects
class Cavity3Jet(CavityBase)
Three-jet cavity environment.
This environment simulates cavity flow with three independent jet actuators for flow control.
Attributes:
numJetsInSimulation- Number of jet actuators in the CFD simulation.
__init__
def __init__(env_config: Dict)
Initialize the 3-jet cavity environment.
Arguments:
env_config- Environment configuration dictionary.
convert_action
def convert_action(action: np.ndarray) -> np.ndarray
Convert RL action to CFD actuation format.
Arguments:
action- Action array from the RL agent.
Returns:
Action sequence for the CFD solver.