underworldcode / underworld3

https://underworldcode.github.io/underworld3/
18 stars 10 forks source link

Clarification re. duplicate additions of the boundaries #246

Open jcgraciosa opened 4 days ago

jcgraciosa commented 4 days ago

Both essential and natural BCs are added (using PetscDSAddBoundary_UW) in the setup_discretisation method defined in petsc_generic_snes_solvers.pyx. In turn, the setup_discretisation method is called in build (or rebuild_after_mesh_update) function. This build function is then called in the solve functions defined in the generic solvers. However, setup_discretisation is also called in the solve of the child classes (e.g. SNES_AdvectionDiffusion). This results to duplicate addition of the essential and natural BCs.

Is this okay?