PERF-2: red-black symmetric Gauss–Seidel smoother behind a knob (MgSmoother::RedBlack; default lexicographic = the recorded regime, bit-identical) — red/black cell lists per level, the symmetric pair red,black,black,red, the operator cache keyed on the smoother; EmbeddedParameters::poisson_smoother, harness knobs RTX_FSI2O_MG_RB (overset) and RTX_FSI2_MG_RB (embedded, the noise probe); pin: solves the masked problem to the same stop, agrees with lexicographic to 2e-12, cached = uncached bit for bit
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 CPU-Only (Explicit) (push) Failing after 5s
Documentation / Build API Documentation (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 5s
CI / Format Check (push) Failing after 16s
CI / Build (ubuntu-latest) (push) Failing after 2m18s
CI / Clippy Check (push) Failing after 2m38s
Performance Benchmarks / Run Benchmarks (push) Successful in 4m13s
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 CPU-Only (Explicit) (push) Failing after 5s
Documentation / Build API Documentation (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 5s
CI / Format Check (push) Failing after 16s
CI / Build (ubuntu-latest) (push) Failing after 2m18s
CI / Clippy Check (push) Failing after 2m38s
Performance Benchmarks / Run Benchmarks (push) Successful in 4m13s
Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01YJPeT6WA2e7YvAnS875AHL
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
26904e37d8
commit
cb5771fa71
@@ -71,6 +71,9 @@ pub struct EmbeddedParameters {
|
||||
/// and the stop stay f64; only the preconditioner runs in single
|
||||
/// precision. No effect with [`PoissonSolverKind::Sor`].
|
||||
pub poisson_precision: MgPrecision,
|
||||
/// The multigrid smoother ordering (PERF-2; default lexicographic, the
|
||||
/// recorded regime).
|
||||
pub poisson_smoother: super::poisson::MgSmoother,
|
||||
/// Convective face values in the explicit predictor (default
|
||||
/// [`ConvectionScheme::Upwind`], which is bit-identical to the fixed-grid
|
||||
/// PISO). The TVD schemes add SIMPLE's limited correction to each
|
||||
@@ -93,6 +96,7 @@ impl Default for EmbeddedParameters {
|
||||
boundaries: AleBoundaries::default(),
|
||||
poisson_solver: PoissonSolverKind::Sor,
|
||||
poisson_precision: MgPrecision::F64,
|
||||
poisson_smoother: super::poisson::MgSmoother::Lexicographic,
|
||||
convection_scheme: ConvectionScheme::Upwind,
|
||||
}
|
||||
}
|
||||
@@ -215,6 +219,12 @@ impl EmbeddedPisoSolver {
|
||||
self.parameters.poisson_precision = precision;
|
||||
}
|
||||
|
||||
/// The multigrid smoother ordering (PERF-2's red-black knob); the
|
||||
/// cached operator is rebuilt on the next solve.
|
||||
pub fn set_poisson_smoother(&mut self, smoother: super::poisson::MgSmoother) {
|
||||
self.parameters.poisson_smoother = smoother;
|
||||
}
|
||||
|
||||
/// Mask hysteresis for the moving-body rebuild, as a fraction of the
|
||||
/// min cell size (default 0, exactly the plain rebuild). With a band,
|
||||
/// a cell within `band * h_min` of the surface keeps the
|
||||
|
||||
@@ -299,6 +299,7 @@ impl EmbeddedPisoSolver {
|
||||
&mut p_prime,
|
||||
&MultigridParameters {
|
||||
precision: self.parameters.poisson_precision,
|
||||
smoother: self.parameters.poisson_smoother,
|
||||
..MultigridParameters::default()
|
||||
},
|
||||
inner_stop,
|
||||
|
||||
Reference in New Issue
Block a user