Choral
|
DERIVED TYPE ode_opSplt: operator splitting methods for ODEs. More...
Data Types | |
interface | clear |
destructor More... | |
interface | ode_opsplt |
The type opSplt defines operator spltting methods. More... | |
interface | |
print 'ode_opSplt' parameters More... | |
interface | valid |
check 'ode_opSplt' parameters More... | |
Functions/Subroutines | |
subroutine | ode_opsplt_clear (os) |
destructor for 'ode_opSplt' More... | |
type(ode_opsplt) function | ode_opsplt_create (method, L_meth, NL_meth, check_overflow) |
Constructor for the type ode_opSplt More... | |
subroutine | def_splitting (os) |
Define splitting methods. More... | |
logical function | ode_opsplt_valid (os) |
subroutine | ode_opsplt_print (os) |
character(len=15) function, public | name_ode_method_opsplt (method) |
Get operator splitting method name. More... | |
integer function, public | order_ode_method_opsplt (method) |
Get operator splitting method name. More... | |
subroutine, public | create_ode_opsplt_sol (sol, pb, os) |
subroutine, public | solve_ode_opsplt (sol, t0, T, dt, os, pb, kry, out) |
solve : operator splitting with constant time step More... | |
DERIVED TYPE ode_opSplt: operator splitting methods for ODEs.
Choral constants for operator splitting methods for ODEs: ODE_OS_xxx, see the list.
The type ode_opsplt defines operator splitting methods for ODEs.
Addressed ODE problems (see ode_problem_mod detailed description):
An ode_opsplt method 'os' is constructed with:
To solve an ODE with an operator splitting solver, follow the steps in ode_solver_mod.
subroutine, public ode_opsplt_mod::create_ode_opsplt_sol | ( | type(ode_solution), intent(inout) | sol, |
type(ode_problem), intent(in) | pb, | ||
type(ode_opsplt), intent(in) | os | ||
) |
|
private |
Define splitting methods.
Definition at line 218 of file ode_opSplt_mod.f90.
character(len=15) function, public ode_opsplt_mod::name_ode_method_opsplt | ( | integer, intent(in) | method | ) |
Get operator splitting method name.
Definition at line 321 of file ode_opSplt_mod.f90.
|
private |
destructor for 'ode_opSplt'
Definition at line 149 of file ode_opSplt_mod.f90.
|
private |
Constructor for the type ode_opSplt
Definition at line 183 of file ode_opSplt_mod.f90.
|
private |
|
private |
integer function, public ode_opsplt_mod::order_ode_method_opsplt | ( | integer, intent(in) | method | ) |
Get operator splitting method name.
Definition at line 351 of file ode_opSplt_mod.f90.
subroutine, public ode_opsplt_mod::solve_ode_opsplt | ( | type(ode_solution), intent(inout) | sol, |
real(rp), intent(in) | t0, | ||
real(rp), intent(in) | T, | ||
real(rp), intent(in) | dt, | ||
type(ode_opsplt), intent(in) | os, | ||
type(ode_problem), intent(in) | pb, | ||
type(krylov), intent(inout) | kry, | ||
procedure(ode_output_proc) | out | ||
) |
solve : operator splitting with constant time step
Definition at line 399 of file ode_opSplt_mod.f90.