firedrakeproject / gusto

Three dimensional atmospheric dynamical core using the Gung Ho numerics.
http://firedrakeproject.org/gusto/
MIT License
10 stars 10 forks source link

Correct BCs with wrappers (including mixed options) #514

Open ta440 opened 1 month ago

ta440 commented 1 month ago

Currently, if any wrappers are used, the boundary conditions default to Dirichlet conditions on all fields, which surely wouldn't be correct for all cases?

In the time_discretisation.py file: `elif self.wrapper is not None:

Transfer boundary conditions onto test function space

        self.bcs = [DirichletBC(self.fs, bc.function_arg, bc.sub_domain)
                    for bc in bcs]`

This arose as an error when trying to use the mixed_options wrapper when simultaneously transporting multiple fields with SIQN. When doing so, we use the full mixed space, so applying the individual Dirichlet BCs is not compatible with this.