Dear Timo

Thank you, that’s clear. What I am trying to do in my code is, before
solving the system, Calling some external codes in parallel to do the
upscaling of the material properties.  For this multi-domain problem I
think that not calling load balance solves the problem.

I would also like to know what exactly makes the multi-domain problems
non-compatible with parallel. Is it the type of matrix ?

If yes, when using YaspGrid is there a way of asking it not to divide  the
mesh between processors?  Because there is this other problem I am trying,
which is not multi-domain, but uses the block matrix type for multi-domain
to solve a fully coupled (elastic and one phase flow) model. Likewise,
before  solving the system I call external executables in parallel. For
some reason, which I guess is the type of matrix, the system solving does
not work in parallel. And I am not sure what I can do to prevent mesh
parallelization in Yasp Grid, because I am not calling anything like
loadBalance() but it is still  dividind the mesh. Would you know how to do
that ?

Thanks a lot

Ana

Em sex., 17 de jun. de 2022 às 09:00, Timo Koch <[email protected]>
escreveu:

> Dear Ana,
>
> you’d have to explain more. What you are trying to achieve is not clear to
> me.
>
> The Newton itself doesn’t really care about parallelism. The assembler
> assembles on the gridview it is given (usually the gridview of one process
> (maybe you read your grid on all processes and don’t distribute it (i.e.
> don’t call loadBalance); then it would assemble on the whole grid on all
> processes) it is given and the linear solver handles all the communication
> during solve.
>
> Parts that should only run on one process, you can of course wrap in a «if
> comm.rank() == process_idx». Or you can make a subcommunicator of one
> process and give that to the grid on construction, again depending on what
> you are trying to achieve.
>
> Best
> Timo
>
>
>
> Timo
>
> 16. jun. 2022 kl. 18:53 skrev Ana Carolina Loyola <
> [email protected]>:
>
> 
> Hello,
> I am working on a multi-domain problem in Dumux 3.2 and I am aware that I
> can not solve the system in parallel when using multi-domain. However,
> there are some things in the code that I would like to parallelize. Is
> there a way of "tricking" the NewtonSolver class so it won't know that I am
> working with several processors and will solve the system with only one of
> them ?
>
> Thanks in advance,
>
> Ana
> _______________________________________________
> DuMux mailing list
> [email protected]
> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>
>
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to