Asynchronous multi-implicit sweeper type
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | npieces | ||||
| logical, | public | :: | use_LUq | ||||
| real(kind=pfdp), | public, | allocatable | :: | SdiffE(:,:) | |||
| real(kind=pfdp), | public, | allocatable | :: | SdiffI(:,:) | |||
| real(kind=pfdp), | public, | allocatable | :: | QdiffE(:,:) | |||
| real(kind=pfdp), | public, | allocatable | :: | QdiffI(:,:) | |||
| real(kind=pfdp), | public, | allocatable | :: | QtilE(:,:) | |||
| real(kind=pfdp), | public, | allocatable | :: | QtilI(:,:) | |||
| logical, | public | :: | use_LUq_ | = | .true. |
| 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_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_encap_t), | intent(in) | :: | y | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| integer, | intent(in) | :: | level | |||
| class(pf_encap_t), | intent(inout) | :: | f1 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_encap_t), | intent(in) | :: | y | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| integer, | intent(in) | :: | level | |||
| class(pf_encap_t), | intent(inout) | :: | f2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_encap_t), | intent(inout) | :: | y | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| real(kind=pfdp), | intent(in) | :: | dt | |||
| class(pf_encap_t), | intent(in) | :: | rhs | |||
| integer, | intent(in) | :: | level | |||
| class(pf_encap_t), | intent(inout) | :: | f2 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_encap_t), | intent(in) | :: | y | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| integer, | intent(in) | :: | level | |||
| class(pf_encap_t), | intent(inout) | :: | f3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_encap_t), | intent(inout) | :: | y | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| real(kind=pfdp), | intent(in) | :: | dt | |||
| class(pf_encap_t), | intent(in) | :: | rhs | |||
| integer, | intent(in) | :: | level | |||
| class(pf_encap_t), | intent(inout) | :: | f3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t | |||
| integer, | intent(in) | :: | m |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | dt |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdc_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| type(pf_pfasst_t), | intent(inout) | :: | pf | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t0 | |||
| real(kind=pfdp), | intent(in) | :: | dt |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_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 | |||
| class(pf_encap_t), | intent(inout) | :: | fintSDC(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| type(pf_pfasst_t), | intent(inout) | :: | pf | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t0 | |||
| real(kind=pfdp), | intent(in) | :: | dt |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| type(pf_pfasst_t), | intent(inout) | :: | pf | |||
| class(pf_level_t), | intent(inout) | :: | lev | |||
| real(kind=pfdp), | intent(in) | :: | t0 | |||
| real(kind=pfdp), | intent(in) | :: | dt |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pf_amisdcQ_t), | intent(inout) | :: | this | |||
| class(pf_level_t), | intent(inout) | :: | lev |
type, extends(pf_amisdc_t), abstract :: pf_amisdcQ_t
real(pfdp), allocatable :: QdiffE(:,:)
real(pfdp), allocatable :: QdiffI(:,:)
real(pfdp), allocatable :: QtilE(:,:)
real(pfdp), allocatable :: QtilI(:,:)
logical :: use_LUq_ = .true.
contains
procedure :: sweep => amisdcQ_sweep
procedure :: initialize => amisdcQ_initialize
procedure :: integrate => amisdcQ_integrate
procedure :: destroy => amisdcQ_destroy
procedure :: sweep_coupled_implicit_terms
procedure :: sweep_decoupled_implicit_terms
procedure :: amisdcQ_destroy
end type pf_amisdcQ_t