Hi Krishna,

Have you tried thoroughly profiling your code? You may want to check
how much of the time is being spent making copies of arrays and array
arithmetic as opposed to the linear solve before changing the solvers
for efficiency purposes. I'm not sure the linear solver matters for
reducing the number of sweeps. It may require a better non-linear
solver and using a single matrix. In the long run, it might be worth
contemplating some of the non-linear solvers in Trilinos that remove
the boundary between linear and non-linear solvers and also use matrix
free methods.

Sorry that I can't be more helpful.

On Thu, Sep 15, 2016 at 11:06 AM, Gopalakrishnan, Krishnakumar
<krishnaku...@imperial.ac.uk> wrote:
>
> Hello,
>
>
>
> We have a specific question about how a solver helps in accelerating 
> convergence of a loosely coupled system of PDEs.
>
>
>
> Due to the fundamentally different properties/behaviour/geometry, we have a 
> loosely coupled system of 8 PDEs defined along 5 different meshes, with data 
> manually copied from certain regions of one mesh to suitable regions of 
> another after sweeping each PDE.
>
>
>
> Quite unsurprisingly, the system of equations needs a lot of sweeps (80 to 
> 100) within each time-step to converge, and consequently the simulation model 
> isn’t useable. Although, the trilinos based parallel solvers are correctly 
> set-up and working correctly for the example problems shipped with FiPy, the 
> mpirun command complains when invoked on our (complicated script). We assume 
> that it is due to the complicated setup of meshes and the classes/methods and 
> objects that we have instantiated for our application. The serial code runs 
> just fine.
>
>
>
> So, in order to speed up our simulation, we looked to implement dynamic 
> relaxation factors for the sweeps. This has only a limited success so far.
>
>
>
> Next, I wonder whether including a Successive over-relaxation solver will 
> help in this case ? There are 8 PDEs to be swept continuously until the 
> residue of all of them gets lowered below a tolerance.  Does the Fipy’s JOR 
> solver (wrapper for Pysparse Jacobi/over-relaxation solvers)  help in this 
> case ?  is there any other way to speed up our system ?
>
>
>
>
>
> Best Regards
>
>
>
> Krishna
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> fipy mailing list
> fipy@nist.gov
> http://www.ctcms.nist.gov/fipy
>   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>



-- 
Daniel Wheeler

_______________________________________________
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to