Skip to content

Conversation

@CyprienBosserelle
Copy link
Owner

Add new engine suitable for multilayer/implicit timestep and non-hydrostatic.

This is the engine from Basilisk (Popinet 2020) that will allow BG_Flood to run with:

  • multi-layers
  • semi-implicit time step
  • non-hydrostatic

It is expected that this engine has much better dispersive property than the current ones available in BG_Flood and will be better even for hydrostatic tsunami simulations too.

Walking before running

This PR is only for the first part of this new engine where the engine is available with 1 layer and explicit time step.

To Do

  • Lots

CyprienBosserelle and others added 6 commits May 6, 2025 16:28
* add structure for parallel process of rivers

* try to build new array to parallellise rivers

* Make test for paged mem

* modify test for Pin Meme for non-GPU

* Add missing variable but also added template to various classes

* Add momentum adjustment when using rain

* Add limiter for flux adjustment for dry cells

* Add explanation to new algo

* Fix Dynamic forcing

* force sane velocity

* Fix zsoffset

* Clean <<< ...>>>

* Adding record of timestart

* Update Makefile

* add bnd filter and relax time to input param

* apply tapering on non-uniform bnd

* add "all" and "file" as keyword for boundary forcing side

* add switch to enforce mass conservation in timestep selection

* add back dirichlet bnd

* Allow hash tag for comments even when ; is not included

* Create paper.md

---------

Co-authored-by: Cyprien Bosserelle <cyprien.bosserelle@niwa.co.nz>
* add structure for parallel process of rivers

* try to build new array to parallellise rivers

* Fix some compile issue

* Fix compile issue

* Fix code and fill Xriver array

* fix allocation blunder

* Add functions for Pinned memory

* Fix Compile paged mem

* Make test for paged mem

* tweak test and remove out to screen

* modify test for Pin Meme for non-GPU

* Fix CPU only MappedMem

* add allocations of river info in GPU XModel

* Add missing variable but also added template to various classes

* Fix compile issues

* fix map mem alloc

* Add momentum adjustment when using rain

* Add limiter for flux adjustment for dry cells

* playing up with velocity sanity

* Add explanation to new algo

* Revert experiment changes on roughness

* Fix Dynamic forcing

* force sane velocity

* Fix zsoffset

* Clean <<< ...>>>

* Adding record of timestart

* Update Makefile

* ad bnd filter and relax time to input param

* apply tapering on non-uniform bnd

* Update InitialConditions.cu

* add "all" and "file" as keyword for boundary forcing side

* add sm50 to Makefile for auto test

* Update Param.h

* add switch to enforce mass conservation in timestep selection

* add mass conservation forcing as switch to param file

* Update ReadInput.cu

* Update Param.h

* add back dirichlet bnd

* Update Boundary.h

* Update Boundary.cu

* Allow hash tag for comments even when ; is not included

* Create paper.md

* add aoibnd to param file

---------

Co-authored-by: Cyprien Bosserelle <cyprien.bosserelle@niwa.co.nz>
* TRied to add an init time to the output process

Might need to be remove to add a full vector of times for init

* beginning: read_init

read (general, need zones), init (general+ zones), variables (need zones), Creation of vector time

* Main dev done but testcases

Fix compilation error and tests still to be done too

* Read flexible lines

Reading the flexible lines (10::30, 52, 60)

* Implemented but crashing

* Bugg fixed

Just Testcase to go

* Fix and cleanning

* Test flexible input implementation

* Add test an workflow part

* test workflow solutions

* formating auto

* Update main.yml

* Test workflow

* Fix unitest error

* Differentiate class and variable

* Fix error in initialisation

* Cyp_Debugging

* Cleaning a little

* Update ReadInput.h

* fix inconsistencies between zoneoutput and main Toutput

* fix a min max of model real time

* Add capability for very flexible time reading

* Big fixes

* sort before unique

sort before

* Fix test and small changes

---------

Co-authored-by: Cyprien Bosserelle <cyprien.bosserelle@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants