Domain Module¶
Conceptual Overview¶
The Domain class represents a single, annular (ring-shaped) region of fluid within the simulation. In the Matched Eigenfunction Expansion Method (MEEM), the entire fluid volume is subdivided into these simple domains, each characterized by a constant depth and defined by inner and outer radial boundaries.
Figure 1: A typical problem geometry is divided into multiple concentric fluid domains, including interior domains under the bodies and a final, semi-infinite exterior domain.¶
Role in the Workflow
It’s important to understand that end-users of the OpenFLASH package do not typically create ``Domain`` objects directly. Instead, Domain objects are the output generated by a Geometry Module class (like BasicRegionGeometry).
The typical workflow is:
1. The user defines the physical structures as a collection of Body Module objects.
2. These bodies are passed to a Geometry object.
3. The Geometry object processes the physical layout and automatically generates the corresponding list of fluid Domain objects, each with the correct boundaries and properties.
Each Domain then holds the necessary information for the MEEMEngine to construct the mathematical solution within that specific region.
Table 2: This table summarizes the key attributes that define each type of fluid domain.¶
API Reference¶
- class openflash.domain.Domain(index: int, NMK: int, a_inner: float, a_outer: float, d_lower: float, geometry_h: float, heaving: bool | None = None, slant: bool = False, category: str = 'interior')[source]¶
Bases:
objectRepresents a single, circular region of the fluid.
This class stores the geometric boundaries and physical properties for a specific domain within the overall problem geometry. The upper boundary depth is determined from the geometry and cannot be set independently.
- property a¶
Alias for outer radius (used internally by MEEMEngine as .a).
- static are_adjacent(d1: Domain, d2: Domain, atol: float = 1e-06) bool[source]¶
(Future Implementation) Determines if two domains are radially adjacent.
- property di¶
Lower boundary depth of the domain (used internally in MEEMEngine as .di).
- property h¶
Return the total water depth (free surface height), which MEEMEngine expects as .h on domain objects.