Nested field split
I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about. I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible? Alex
Absolutely, that is fundamental to the design. In the simple case where all the degrees of freedom exist at the same grid points, hence storage is like u,v,t,p in the vector the nesting is trivial. You indicate the fields without using IS (don't even need to change any code) -pc_fieldsplit_0_fields 0,1,2 -fieldsplit_pc_fieldsplit_0_fields 0,1 Listing the two complimentary fields pc_fieldsplit_1_fields 3 -fieldsplit_pc_fieldsplit_1_fields 2 should be optional (I can't remember if it is smart enough to allow not listing them) If you have a staggered grid then indicating the fields is trickery (since you don't have the simple u,v,t,p layout of the degrees of freedom)
On May 17, 2023, at 12:47 PM, Alexander Lindsay <[email protected]> wrote:
I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about.
I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible?
Alex
Awesome, thanks Barry! On Wed, May 17, 2023 at 11:59 AM Barry Smith <[email protected]> wrote:
Absolutely, that is fundamental to the design.
In the simple case where all the degrees of freedom exist at the same grid points, hence storage is like u,v,t,p in the vector the nesting is trivial. You indicate the fields without using IS (don't even need to change any code)
-pc_fieldsplit_0_fields 0,1,2 -fieldsplit_pc_fieldsplit_0_fields 0,1
Listing the two complimentary fields pc_fieldsplit_1_fields 3 -fieldsplit_pc_fieldsplit_1_fields 2 should be optional (I can't remember if it is smart enough to allow not listing them)
If you have a staggered grid then indicating the fields is trickery (since you don't have the simple u,v,t,p layout of the degrees of freedom)
On May 17, 2023, at 12:47 PM, Alexander Lindsay < [email protected]> wrote:
I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about.
I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible?
Alex
On Wed, May 17, 2023 at 2:59 PM Barry Smith <[email protected]> wrote:
Absolutely, that is fundamental to the design.
In the simple case where all the degrees of freedom exist at the same grid points, hence storage is like u,v,t,p in the vector the nesting is trivial. You indicate the fields without using IS (don't even need to change any code)
-pc_fieldsplit_0_fields 0,1,2 -fieldsplit_pc_fieldsplit_0_fields 0,1
Listing the two complimentary fields pc_fieldsplit_1_fields 3 -fieldsplit_pc_fieldsplit_1_fields 2 should be optional (I can't remember if it is smart enough to allow not listing them)
If you have a staggered grid then indicating the fields is trickery (since you don't have the simple u,v,t,p layout of the degrees of freedom)
Here we do something similar. Thanks, Matt
On May 17, 2023, at 12:47 PM, Alexander Lindsay < [email protected]> wrote:
I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about.
I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible?
Alex
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
On Wed, May 17, 2023 at 3:23 PM Matthew Knepley <[email protected]> wrote:
On Wed, May 17, 2023 at 2:59 PM Barry Smith <[email protected]> wrote:
Absolutely, that is fundamental to the design.
In the simple case where all the degrees of freedom exist at the same grid points, hence storage is like u,v,t,p in the vector the nesting is trivial. You indicate the fields without using IS (don't even need to change any code)
-pc_fieldsplit_0_fields 0,1,2 -fieldsplit_pc_fieldsplit_0_fields 0,1
Listing the two complimentary fields pc_fieldsplit_1_fields 3 -fieldsplit_pc_fieldsplit_1_fields 2 should be optional (I can't remember if it is smart enough to allow not listing them)
If you have a staggered grid then indicating the fields is trickery (since you don't have the simple u,v,t,p layout of the degrees of freedom)
Here we do something similar.
The URL was missing: https://arxiv.org/abs/1808.08328 Thanks, Matt
Thanks,
Matt
On May 17, 2023, at 12:47 PM, Alexander Lindsay < [email protected]> wrote:
I've seen threads in the archives about nested field split but I'm not sure they match what I'm asking about.
I'm doing a Schur field split for a porous version of incompressible Navier-Stokes. In addition to pressure and velocity fields, we have fluid and solid temperature fields. I plan to put all primal variables in one split and the pressure obviously in the Schur split. Now within the "primal variable split" a user is wondering whether we can do a further split, e.g. perhaps an additive split with the solid temperature split out from the velocities and fluid temperature (the former is almost pure conduction whereas the latter may be advection dominated). Is this possible?
Alex
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
participants (3)
-
Alexander Lindsay -
Barry Smith -
Matthew Knepley