I have 2 nonlinear parabolic PDEs which are coupled (heat and mass diffusion equation). I am looking for a method with good convergence and stability. The language I should write my code in is FORTRAN.
The simplest approach would be to discretize the equations using finite difference in space and then use an implicit time stepper for the time discretization.To solve the arising non-linear systems I would use a 'Lapack' non-linear solver in Fortran.
Discretize the space domain and express all spatial derivatives using finite difference method, however do not discretize the time domain. This will give you a set of nonlinear ordinary differential equations corresponding to solution at the grid points. Use any ODE solver to solve the set of nonlinear ODE's.
Thaks Saroj. Yes I am using the method of line to solve the problem. I found it the most reliable method for this type of problems. One can use DLSODA solver from netlib to solve the resulting system of ordinary differential equations in time.
There is nothing like "the best, most stable ... method", it is a matter of choosing between advantages and disadvantages. I would do first a discretization in time (e,g, Euler implicit) and end up at any time step with coupled systems of nonlinear elliptic equations. Then I would linearie them, or better said define a linear iterative method, generating a system of linear elliptic equations at each iteration step. Next you discretise and solve numerically these equations by using the method that suits you best.
An example in this sense is our recent publication
(see also https://www.researchgate.net/publication/273579720_A_robust_linearization_scheme_for_finite_volume_based_discretizations_for_simulation_of_two-phase_flow_in_porous_media)
The method is a contraction type scheme and converges for any initial guess, but it is only linear. The method can be easier understood from