rtx-cfd/rtx-fsi: every EmbeddedParameters literal carries the smoother field (all test targets of both crates compile)
CI / Build (macos-latest) (push) Waiting to run
CI / Test (macos-latest) (push) Blocked by required conditions
CI / Test (ubuntu-latest) (push) Blocked by required conditions
CI / Python Bindings (maturin) (macos-latest) (push) Blocked by required conditions
CI / Python Bindings (maturin) (ubuntu-latest) (push) Blocked by required conditions
CI / WASM Build + Size Check (push) Blocked by required conditions
CI / Distributed Training Tests (push) Blocked by required conditions
CI / CI Success (push) Blocked by required conditions
CI / Build (ubuntu-latest) (push) Failing after 6s
CI / Format Check (push) Failing after 7s
Documentation / Build API Documentation (push) Failing after 5s
CI / Clippy Check (push) Failing after 7s
Performance Benchmarks / Run Benchmarks (push) Failing after 8s
CI / Build CPU-Only (Explicit) (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 5s

This commit is contained in:
Omar Sobh
2026-09-15 23:50:19 -05:00
parent 43d5abde8d
commit f9d38bee55
7 changed files with 9 additions and 0 deletions
@@ -141,6 +141,7 @@ async fn run(moving: bool, dt: f64, t_end: f64) -> CfdResult<Vec<Record>> {
tolerance: 1e-8, tolerance: 1e-8,
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}, },
)?; )?;
@@ -81,6 +81,7 @@ fn solver(n: usize) -> CfdResult<EmbeddedPisoSolver> {
tolerance: 1e-8, tolerance: 1e-8,
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}, },
)?; )?;
@@ -154,6 +154,7 @@ impl Composite {
}, },
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: MgPrecision::F64, poisson_precision: MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
// The harness's finding: upwind's numerical viscosity // The harness's finding: upwind's numerical viscosity
// suppressed CFD3's shedding entirely. // suppressed CFD3's shedding entirely.
convection_scheme: ConvectionScheme::TvdVanAlbada, convection_scheme: ConvectionScheme::TvdVanAlbada,
@@ -439,6 +439,7 @@ async fn embedded_mms_with(
tolerance: 1e-8, tolerance: 1e-8,
poisson_solver: kind, poisson_solver: kind,
poisson_precision: precision, poisson_precision: precision,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}, },
)?; )?;
@@ -600,6 +601,7 @@ async fn without_a_body_the_embedded_solver_is_piso_to_the_bit_with_multigrid()
tolerance: 1e-8, tolerance: 1e-8,
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}, },
)?; )?;
@@ -665,6 +667,7 @@ async fn channel_with_circle(kind: PoissonSolverKind) -> CfdResult<(FlowField, u
}, },
poisson_solver: kind, poisson_solver: kind,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}, },
)?; )?;
@@ -120,6 +120,7 @@ async fn run_cfd1(ny: usize) -> CfdResult<Cfd1> {
}, },
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
..EmbeddedParameters::default() ..EmbeddedParameters::default()
}; };
let mut solver = EmbeddedPisoSolver::new(config, params)?; let mut solver = EmbeddedPisoSolver::new(config, params)?;
@@ -127,6 +127,7 @@ impl Runner {
}, },
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
// Upwind's numerical viscosity (|u| h / 2 ~ 10x the physical nu // Upwind's numerical viscosity (|u| h / 2 ~ 10x the physical nu
// on these grids) suppressed CFD3's vortex shedding entirely: // on these grids) suppressed CFD3's vortex shedding entirely:
// the ny = 41 upwind run produced ONE lift zero-crossing in // the ny = 41 upwind run produced ONE lift zero-crossing in
@@ -324,6 +324,7 @@ fn fsi1_coupled_cylinder_and_flag() {
}, },
poisson_solver: PoissonSolverKind::Multigrid, poisson_solver: PoissonSolverKind::Multigrid,
poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64, poisson_precision: rtx_cfd::solvers::incompressible::MgPrecision::F64,
poisson_smoother: rtx_cfd::solvers::incompressible::MgSmoother::Lexicographic,
// Upwind, deliberately: FSI1 is a steady FIXED-POINT problem, and // Upwind, deliberately: FSI1 is a steady FIXED-POINT problem, and
// the TVD limiter's switching keeps the steady load chattering by // the TVD limiter's switching keeps the steady load chattering by
// ~0.5% (a known property of limited schemes — they stall short of // ~0.5% (a known property of limited schemes — they stall short of