Skip to main content

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.