Oceananigans.jl icon indicating copy to clipboard operation
Oceananigans.jl copied to clipboard

Cannot construct a `ConjugateGradientPoissonSolver` with a default preconditioner

Open ali-ramadhan opened this issue 1 year ago • 1 comments

I'll open a PR to add a test that covers this.


MWE:

using Oceananigans
using Oceananigans.Solvers: ConjugateGradientPoissonSolver

grid = RectilinearGrid(
    CPU(),
    Float64,
    topology = (Bounded, Bounded, Bounded),
    size = (16, 16, 16),
    x = (0, 1),
    y = (0, 1),
    z = (-1, 0)
)

ConjugateGradientPoissonSolver(grid)

Error:

ERROR: UndefVarError: `ImmersedBoundaryGrid` not defined
Stacktrace:
 [1] ConjugateGradientPoissonSolver(grid::RectilinearGrid{…}; preconditioner::Oceananigans.Solvers.DefaultPreconditioner, reltol::Float64, abstol::Float64, kw::@Kwargs{})
   @ Oceananigans.Solvers ~/atdepth/Oceananigans.jl/src/Solvers/conjugate_gradient_poisson_solver.jl:54
 [2] ConjugateGradientPoissonSolver(grid::RectilinearGrid{Float64, Bounded, Bounded, Bounded, Float64, Float64, Float64, OffsetArrays.OffsetVector{Float64, StepRangeLen{…}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{…}}, OffsetArrays.OffsetVector{Float64, StepRangeLen{…}}, CPU})
   @ Oceananigans.Solvers ~/atdepth/Oceananigans.jl/src/Solvers/conjugate_gradient_poisson_solver.jl:47
 [3] top-level scope
   @ REPL[6]:1
Some type information was truncated. Use `show(err)` to see complete types.

ali-ramadhan avatar Oct 07 '24 21:10 ali-ramadhan

Good catch

glwagner avatar Oct 08 '24 00:10 glwagner

Closed by https://github.com/CliMA/Oceananigans.jl/pull/3846

tomchor avatar Oct 22 '24 11:10 tomchor