UKAEA-Edge-Code / EdgeCodeRequirements

MIT License
1 stars 0 forks source link

Aspire to be better than existing codes #8

Open jwscook opened 5 months ago

jwscook commented 5 months ago

Redesign code to better exploit parallelism: SIMD, threads, tasks, distributed memory. Enforce positivity: limiters, evolving the log of density, structure preserving methods... Better tools for gridding to remove painful cells AMR to increase the size of the smallest cell. Different time steps in different cells. Smart indicators that flag terms as a cause of loss of convergence (per grid cell): drifts, viscosity, Argon... Have flexibility in coordinate systems for meshes and variable decomposition. Avoid problems when projecting parallel derivatives onto the poloidal plane. 3D geometry for ripple, RMPs Dynamic equilibrium: double null to single null, changing positions of x-points, topology - unstructured would be good. We love the interface that BOUT++ has. No limitation on aspect ratio Self consistent boundary conditions at the sheath Moment kinetics side steps $\nabla\perp^2$ solve. ($\nabla\perp^2$ limits aspect ratio in other frameworks) Implicit treatment of electrons to avoid timesteps from being limited to that scale.