Composite Fe spaces

Thank you for including composite FE spaces in version 4.13 as announced in https://community.freefem.org/t/equations-involve-different-mesh-spaces/2453/2.
Is there also a documentation available for this feature?

I noted that with standard FreeFEM++ the example stokes_composite.edp runs without problems. However, using the mpi version gives a compilation error.

Hello,

the documentation is in progress but unfortunately it is not available yet.
If you want to run the sequential examples such as stokes_composite.edp in parallel, for now you first need to add

load "bem"
load "MUMPS"

at the beginning, then add solver=sparsesolver, master=-1 in problem/solve to enable the parallel assembly and solution, like this:

solve Stokes ( <[u1,u2],[p]>, <[v1,v2],[q]>, solver=sparsesolver, master=-1) = ...
1 Like

Does this feature work with PETSc?

I think so (see https://github.com/FreeFem/FreeFem-sources/blob/master/examples/hpddm/Helmholtz-2d-FEM-BEM-coupling-PETSc-composite.edp#L95), but it’s better if you are able to expose the MatNest yourself since this allows you to set custom preconditioners for each field. If you use the < > notation, you (currently) cannot set specific solver for each field (appart from the sparams), e.g., you cannot set the rigid body modes if you do elasticity. Also, you have to keep the full mesh on all processes (currently). Both of these limitations may be lifted in the future.

1 Like