You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Combine these to a single flag: maybe PCMS_ENABLE_TRANSFER #355
Like this, there are many places in both cmake and c++ codebase where these two are used to determine if pcms::transfer is being enabled or not. Having a specific flag combining these two would be helpful.
We may want to have a separate flag for enabling transfer overall, but we have already relaxed some of the constraints that required both of these libraries to perform transfer.
Petsc is required for the transfer methods that require doing global solves (for now this is just projections).
The mesh intersection variants only work with Omega_h meshes.
The current version of the conservative transfer probably does require mesh fields for the integration, but eventually we can relax that for order 0/order one where we just use the barycentric coords from Omega_h. This is how we support evaluations without meshfields installed.
@Fuad-HH and I had a productive offline discussion. the point he was trying to get across is that most of our PCMS_ENABLE flags are dependency / PCMS developer focused. However, for the end-user, they are going to be much more interested in capability focused ENABLE flags that help them to turn on the features they want.
For example, we could have a flag called PCMS_ENABLE_CONSERVATIVE_TRANSFER which when turned on would require that PCMS was configured with PETSC/MeshFields/Omega_h.
I think this is probably a fairly good idea. However, it will take a fair amount of effort to figure out what the appropriate capabilities should be called and then figure out how to get CMake to handle properly.
I am leaving this issue open for future discussion and potential coordination on how to accomplish this.
Activity
jacobmerson commentedon Aug 12, 2026
We may want to have a separate flag for enabling transfer overall, but we have already relaxed some of the constraints that required both of these libraries to perform transfer.
jacobmerson commentedon Aug 14, 2026
@Fuad-HH and I had a productive offline discussion. the point he was trying to get across is that most of our
PCMS_ENABLEflags are dependency / PCMS developer focused. However, for the end-user, they are going to be much more interested in capability focused ENABLE flags that help them to turn on the features they want.For example, we could have a flag called
PCMS_ENABLE_CONSERVATIVE_TRANSFERwhich when turned on would require that PCMS was configured with PETSC/MeshFields/Omega_h.I think this is probably a fairly good idea. However, it will take a fair amount of effort to figure out what the appropriate capabilities should be called and then figure out how to get CMake to handle properly.
I am leaving this issue open for future discussion and potential coordination on how to accomplish this.