I am trying to incorporate non-linear thermal properties in my heat transfer problem. My current approach with solving through Newton Raphson iteratively is turning out to be computationally costly due to the number of newtonian iterations for convergence. Parallelizing the code is not adding any benefit to the computational cost. Could you suggest if there is any way with some command that might decrease the computational time for my code?
Thank you for the reply,
This is the link with both .edp and .mesh file.
I tried my best to make the script minimal, but I believe its still little long.
What kind of solver/preconditioner are you using? How many processes?
Also, your script is wrong, line 133, delT and Tparallel are local functions, so you need to to a mpiAllReduce, otherwise, processes won’t share the same value.
Thank you a lot for your suggestion. Now I could really see the improvement in computational time.
1 proc-500s
4 procs-300s.
I have added the improved version to the link.
Currently, I am using Hypre Preconditioner (just trial). What preconditioner do you suggest which could be better with respect to computational time? Further, is there a way to solve the nonlinear problem with any other approach, through some command or function in freefem, better than how I am doing now by solving for jacobian from varf and inverting matrix at each iteration?
No, that is not normal, but I have no idea of the what the time you are reporting is representing.
You need to run with the command line option -log_view and it will be easier to get meaningful metrics in the table you’ll get at the end of the simulation.