Open lm2612 opened 1 week ago
For ideas on how to address this, we will compare against other PDE solver packages. These might be relevant:
https://github.com/zwicker-group/py-pde
https://github.com/sympy/sympy/tree/master
https://github.com/firedrakeproject/firedrake
https://github.com/usnistgov/fipy
https://github.com/tum-pbs/PhiFlow/tree/master
https://github.com/mcgibbon/sympl/tree/master
https://github.com/CliMT/climt/tree/develop
julia https://github.com/SpeedyWeather/SpeedyWeather.jl https://github.com/CliMA/Oceananigans.jl
Issue
Move class
AI4CFD
from script into a source code class. We may want to create a base class for a general class and then have classes inherit from this for each different case (advection diffusion, 2D Navier Stokes, 3D Navier Stokes). One question to address is how general should the base class be - we want to avoid repeating code.We want to the call the model as something like:
model = NavierStokes2D(grid, ...)
simulation = model.initialize()
simulation = simulation.run(n_timesteps)
. Inside this we will callmodel.forward(...)
Simulation contains prognostic variables, diagnostic variables and model
Thoughts
Similarities/differences
__init__
.F_cycle_MG
but this depends on the boundary conditions (whether 2D or 3D).Currently we have think there are three components that could be separated:
forward
)