Solver module. More...
Public Member Functions | |
subroutine | allocate_matrix |
Solver variables allocation. More... | |
subroutine | rate (rhs_) |
Compute the right-hand side of the equations. More... | |
subroutine | lump (f_) |
Calculate the lumped variables. More... | |
subroutine | marching (fold, fnew, rate) |
Marching s one step. More... | |
subroutine | unlump (f_) |
Calculate physical variables from lumped variables. More... | |
Public Attributes | |
real *8, dimension(:), allocatable | rhstemp |
Right-Hand Side (rhs) More... | |
real *8, dimension(:), allocatable | rhs |
Right-Hand Side (rhs) More... | |
real *8, dimension(:), allocatable | ftemp |
Integrated variables. More... | |
real *8, dimension(:), allocatable | f |
Integrated variables. More... | |
real *8, dimension(:), allocatable | f_stepold |
Integrated variables. More... | |
integer | itotal |
Total number of equations. More... | |
real *8 | ds |
Integration step. More... | |
real *8 | ds0 |
Initial integration step. More... | |
Solver module.
This module contains the procedures to evaluate the terms of the differential equations of the model.
Definition at line 11 of file solver_rise.f90.
subroutine solver_module::allocate_matrix | ( | ) |
Solver variables allocation.
This subroutine allocate the variables defining the terms on the two sides of equations of the model (f and rhs).
Definition at line 55 of file solver_rise.f90.
subroutine solver_module::lump | ( | real*8, dimension(:), intent(out) | f_ | ) |
Calculate the lumped variables.
This subroutine calculates the lumped variables f_ (left-hand side of the equations of the model).
[out] | f_ | lumped variables |
Definition at line 301 of file solver_rise.f90.
subroutine solver_module::marching | ( | real*8, dimension(:), intent(in) | fold, |
real*8, dimension(:), intent(out) | fnew, | ||
real*8, dimension(:), intent(in) | rate | ||
) |
Marching s one step.
This subroutine update the solution of the model from s to s+ds as fnew=fold+ds*rate.
[in] | fold | old lumped variables |
[in] | rate | rate of change of the lumped variables |
[out] | fnew | new lumped variables |
Definition at line 361 of file solver_rise.f90.
subroutine solver_module::rate | ( | real*8, dimension(:), intent(out) | rhs_ | ) |
Compute the right-hand side of the equations.
This subroutine compute the right-hand side of the equations.
[out] | rhs_ | right-hand side |
Definition at line 87 of file solver_rise.f90.
subroutine solver_module::unlump | ( | real*8, dimension(:), intent(inout) | f_ | ) |
Calculate physical variables from lumped variables.
This subroutine calculates a set of physical variables from lumped variables f_.
[in] | f_ | lumped variables |
Definition at line 409 of file solver_rise.f90.
real*8 solver_module::ds |
Integration step.
Definition at line 36 of file solver_rise.f90.
real*8 solver_module::ds0 |
Initial integration step.
Definition at line 39 of file solver_rise.f90.
real*8, dimension(:), allocatable solver_module::f |
Integrated variables.
Definition at line 27 of file solver_rise.f90.
real*8, dimension(:), allocatable solver_module::f_stepold |
Integrated variables.
Definition at line 30 of file solver_rise.f90.
real*8, dimension(:), allocatable solver_module::ftemp |
Integrated variables.
Definition at line 24 of file solver_rise.f90.
integer solver_module::itotal |
Total number of equations.
Definition at line 33 of file solver_rise.f90.
real*8, dimension(:), allocatable solver_module::rhs |
Right-Hand Side (rhs)
Definition at line 21 of file solver_rise.f90.
real*8, dimension(:), allocatable solver_module::rhstemp |
Right-Hand Side (rhs)
Definition at line 18 of file solver_rise.f90.