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
