Integrates domain forward in time using a time integration method
provided as the argument func
.
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
public pure function func(initial, tendency, dt)Arguments
Return Value type(domain_type) |
||||||||||||||||||||||||||||||||||
type(domain_type), | intent(in) | :: | initial | Initial domain instance |
||||||||||||||||||||||||||||||
type(domain_type), | intent(in) | :: | tendency | Spectrum domain instance |
||||||||||||||||||||||||||||||
real(kind=rk), | intent(in) | :: | dt | Time step [s] |
pure type(domain_type) function integrate_domain(func,initial,tendency,dt)
!! Integrates domain forward in time using a time integration method
!! provided as the argument `func`.
interface
pure type(domain_type) function func(initial,tendency,dt)
import :: domain_type,rk
type(domain_type),intent(in) :: initial
type(domain_type),intent(in) :: tendency
real(kind=rk),intent(in) :: dt
endfunction func
endinterface
type(domain_type),intent(in) :: initial !! Initial domain instance
type(domain_type),intent(in) :: tendency !! Spectrum domain instance
real(kind=rk),intent(in) :: dt !! Time step [s]
integrate_domain = func(initial,tendency,dt)
endfunction integrate_domain