Skip to content

eqiora.fsi

← Python API index

Fixed-mesh monolithic FSI intent, plan, and typed evidence.

Module authority: bindings/python/python/eqiora/fsi.py

Shipped stub: bindings/python/python/eqiora/fsi.pyi

This module publishes 6 literal __all__ spellings. Member entries below are exact signatures under documented owning types; they do not imply member-level behavioral prose.

Complete fixed-mesh monolithic FSI request with no hidden numerical state.

Authority: crates/eqiora-python/src/fsi.rs::PyFixedMeshMonolithic

python
@final
class FixedMeshMonolithic:
def __new__(cls, *, time_step_s: float, steps: int, initial_velocity_m_per_s: tuple[float, float], initial_free_interface_displacement_m: tuple[float, float], length_scale_m: float, velocity_scale_m_per_s: float, pressure_scale_pa: float, relative_tolerance: float, absolute_tolerance: float, maximum_iterations: int) -> FixedMeshMonolithic: ...
@property
def time_step_s(self) -> float: ...
@property
def steps(self) -> int: ...
@property
def initial_velocity_m_per_s(self) -> tuple[float, float]: ...
@property
def initial_free_interface_displacement_m(self) -> tuple[float, float]: ...
@property
def length_scale_m(self) -> float: ...
@property
def velocity_scale_m_per_s(self) -> float: ...
@property
def pressure_scale_pa(self) -> float: ...
@property
def relative_tolerance(self) -> float: ...
@property
def absolute_tolerance(self) -> float: ...
@property
def maximum_iterations(self) -> int: ...
def __eq__(self, other: object, /) -> bool: ...
def __hash__(self) -> int: ...

Typed evidence for one fixed-mesh monolithic FSI result.

Authority: crates/eqiora-python/src/fsi.rs::PyFixedMeshMonolithicEvidence

python
@final
class FixedMeshMonolithicEvidence:
@property
def trajectory_digest(self) -> str: ...
@property
def run_digest(self) -> str: ...
@property
def fluid_cells(self) -> npt.NDArray[np.uint32]: ...
@property
def solid_cells(self) -> npt.NDArray[np.uint32]: ...
@property
def interface_facets(self) -> npt.NDArray[np.uint32]: ...
@property
def states(self) -> tuple[FixedMeshMonolithicStateEvidence, FixedMeshMonolithicStateEvidence]: ...
def state(self, state: TrajectoryState, /) -> FixedMeshMonolithicStateEvidence: ...
@property
def case_ids(self) -> tuple[str, str]: ...

Immutable fully resolved fixed-mesh monolithic FSI plan.

Authority: crates/eqiora-python/src/fsi.rs::PyFixedMeshMonolithicPlan

python
@final
class FixedMeshMonolithicPlan:
@property
def model_digest(self) -> str: ...
@property
def semantic_revision(self) -> int: ...
@property
def geometry_digest(self) -> str: ...
@property
def correspondence_digest(self) -> str: ...
@property
def mesh_digest(self) -> str: ...
@property
def realization_digest(self) -> str: ...
@property
def realization_revision(self) -> int: ...
@property
def spatial_dimension(self) -> int: ...
@property
def coupling_method(self) -> str: ...
@property
def geometry_motion(self) -> str: ...
@property
def mesh_kind(self) -> str: ...
@property
def fluid_velocity_space(self) -> str: ...
@property
def fluid_pressure_space(self) -> str: ...
@property
def solid_velocity_space(self) -> str: ...
@property
def solid_displacement_space(self) -> str: ...
@property
def time_integrator(self) -> str: ...
@property
def time_step_s(self) -> float: ...
@property
def steps(self) -> int: ...
@property
def initial_velocity_m_per_s(self) -> tuple[float, float]: ...
@property
def initial_free_interface_displacement_m(self) -> tuple[float, float]: ...
@property
def length_scale_m(self) -> float: ...
@property
def velocity_scale_m_per_s(self) -> float: ...
@property
def pressure_scale_pa(self) -> float: ...
@property
def solver_algorithm(self) -> str: ...
@property
def preconditioner(self) -> str: ...
@property
def reduction(self) -> str: ...
@property
def relative_tolerance(self) -> float: ...
@property
def absolute_tolerance(self) -> float: ...
@property
def maximum_iterations(self) -> int: ...
@property
def solver_backend(self) -> str: ...
@property
def execution_adapter(self) -> str: ...
@property
def workers(self) -> int: ...
@property
def canonical_bytes(self) -> bytes: ...
def __eq__(self, other: object, /) -> bool: ...
def __hash__(self) -> int: ...

Solver and scientific observations for one accepted FSI state.

Authority: crates/eqiora-python/src/fsi.rs::PyFixedMeshMonolithicStateEvidence

python
@final
class FixedMeshMonolithicStateEvidence:
@property
def state_digest(self) -> str: ...
@property
def interface_vertices(self) -> npt.NDArray[np.uint32]: ...
@property
def fluid_action(self) -> npt.NDArray[np.float64]: ...
@property
def solid_action(self) -> npt.NDArray[np.float64]: ...
@property
def action_imbalance(self) -> npt.NDArray[np.float64]: ...
@property
def previous_kinetic_energy_j_per_m(self) -> float: ...
@property
def next_kinetic_energy_j_per_m(self) -> float: ...
@property
def previous_elastic_energy_j_per_m(self) -> float: ...
@property
def next_elastic_energy_j_per_m(self) -> float: ...
@property
def kinetic_increment_j_per_m(self) -> float: ...
@property
def elastic_increment_j_per_m(self) -> float: ...
@property
def viscous_dissipation_j_per_m(self) -> float: ...
@property
def energy_defect_j_per_m(self) -> float: ...
@property
def numerical_residual_norm(self) -> float: ...
@property
def continuity_residual_norm(self) -> float: ...
@property
def kinematic_residual_norm(self) -> float: ...
@property
def interface_velocity_jump_norm(self) -> float: ...
@property
def interface_action_imbalance_n_per_m(self) -> float: ...
@property
def solve(self) -> LinearSolveSummary: ...
@property
def assembly_packets(self) -> int: ...
@property
def assembly_targets(self) -> int: ...

Select typed fixed-mesh monolithic evidence from its result.

Authority: crates/eqiora-python/src/fsi.rs::fixed_mesh_monolithic_evidence

python
def fixed_mesh_monolithic_evidence(result: Result, /) -> FixedMeshMonolithicEvidence: ...

Resolve a complete FSI intent without executing it.

Authority: crates/eqiora-python/src/fsi.rs::resolve

python
def resolve(model: Model, intent: FixedMeshMonolithic, /) -> FixedMeshMonolithicPlan: ...