The abstract SDC sweeper type (must be extended)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | npieces | ||||
| logical, | public | :: | use_LUq |
SDC sweeper subroutines
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| type(pf_pfasst_t), | intent(inout), | target | :: | pf | ||
| integer, | intent(in) | :: | level_index | |||
| real(kind=pfdp), | intent(in) | :: | t0 | |||
| real(kind=pfdp), | intent(in) | :: | dt | |||
| integer, | intent(in) | :: | nsweeps | |||
| integer, | intent(in), | optional | :: | flags |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in), | optional | :: | flags | ||
| integer, | intent(in), | optional | :: | step |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(in) | :: | lev | |||
| class(pf_encap_t), | intent(in) | :: | qSDC(:) | |||
| class(pf_encap_t), | intent(in) | :: | fSDC(:,:) | |||
| real(kind=pfdp), | intent(in) | :: | dt | Time step size |
||
| class(pf_encap_t), | intent(inout) | :: | fintSDC(:) | |||
| integer, | intent(in), | optional | :: | flags |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t(:) | |||
| integer, | intent(in), | optional | :: | flags | ||
| integer, | intent(in), | optional | :: | step |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | Lev | |||
| real(kind=pfdp), | intent(in) | :: | dt | Time step size |
||
| integer, | intent(in), | optional | :: | flags |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | Lev | |||
| real(kind=pfdp), | intent(in) | :: | t0 | Time at beginning of step; if flags == 2, time at end of step |
||
| integer, | intent(in), | optional | :: | flags | ||
| integer, | intent(in), | optional | :: | step |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_sweeper_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | Lev |
type, abstract :: pf_sweeper_t
integer :: npieces
logical :: use_LUq
contains
procedure(pf_sweep_p), deferred :: sweep
procedure(pf_initialize_p), deferred :: initialize
procedure(pf_evaluate_p), deferred :: evaluate
procedure(pf_integrate_p), deferred :: integrate
procedure(pf_evaluate_all_p), deferred :: evaluate_all
procedure(pf_residual_p), deferred :: residual
procedure(pf_spreadq0_p), deferred :: spreadq0
procedure(pf_destroy_p), deferred :: destroy
end type pf_sweeper_t