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.