underworld3 icon indicating copy to clipboard operation
underworld3 copied to clipboard

Boundary conditions and labels

Open lmoresi opened this issue 3 years ago • 5 comments

We currently do not utilise the full functionality of labels in Boundary conditions but we should to save ourselves having to document every deviation we make from PETSc.

lmoresi avatar Nov 29 '22 06:11 lmoresi

I'll expand on this: we should adopt the PETSc label approach (many values in a label, pick the ones that are used to provide the constraint). We currently limit this to a single value per label.

lmoresi avatar May 04 '23 10:05 lmoresi

@julesghub - do you want to task somebody to do this ? It's just because it is a cython pain-in-the-arse to pass lists and arrays from python to petsc that I haven't done this.

The point is that we do not support a common PETSc pattern: to make a single label with multiple values that distinguish different sub-domains. We only support one label value ...

This would save us some effort in documentation but it might make out boundary condition interface more complicated.

lmoresi avatar Feb 21 '24 10:02 lmoresi

I'm up for looking at this. I think it would be a big benefit for uw3 as we could leverage the PETSc functionality and docs.

julesghub avatar Feb 22 '24 00:02 julesghub

[ DEMONIC LAUGHTER is heard] "we could leverage the PETSc ... docs"

I think we might need to introduce the idea of a boundary and a sub-boundary or equivalent in order to make this flow within our pattern. It's not too difficult to see how to do this but I think it would be good to do hand-in-hand with a shift in the way we use cython because the painful part of all of this is continually handing python arrays to c arrays.

lmoresi avatar Feb 22 '24 10:02 lmoresi

The changes I made are not a fix for this - I still have one label value for one bc. Just letting you know !

lmoresi avatar Apr 03 '24 10:04 lmoresi