This module sets up the ionospheric diffusion problem and then passes it off to the parabolic solvers.
sizes are not imported in case we want to do subgrid diffusion
SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | f | expected to include ghosts |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | A | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | B | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | C | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | D | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | E | trimmed to grid size |
|
real(kind=wp), | intent(in) | :: | dt | |||
type(curvmesh), | intent(in) | :: | x |
SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | f | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | A | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | B | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | C | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | D | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | E | ||
real(kind=wp), | intent(in) | :: | dt | |||
type(curvmesh), | intent(in) | :: | x |
SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | f | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | A | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | B | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | C | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | D | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | E | ||
real(kind=wp), | intent(in) | :: | dt | |||
type(curvmesh), | intent(in) | :: | x |
SOLVE A 3D SEQUENCE OF 1D DIFFUSION PROBLEMS. GHOST CELLS ARE ACCOMODATED AS THEY PROVIDE A CONVENIENT MEMORY SPACE FOR BOUNDARY CONDITIONS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | f | expected to include ghosts |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | A | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | B | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | C | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | D | trimmed to grid size |
|
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | E | trimmed to grid size |
|
real(kind=wp), | intent(in) | :: | dt | |||
type(curvmesh), | intent(in) | :: | x |
COMPUTE COEFFICIENTS IN DIFFUSION EQUATIONS AND LOAD UP GHOST CELLS
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | isp | |||
type(curvmesh), | intent(in) | :: | x | |||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | lambda | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | betacoeff | ||
real(kind=wp), | intent(in), | dimension(-1:,-1:,-1:) | :: | ns | ||
real(kind=wp), | intent(inout), | dimension(-1:,-1:,-1:) | :: | T | ||
real(kind=wp), | intent(out), | dimension(1:size(ns,1)-4,1:size(ns,2)-4,1:size(ns,3)-4) | :: | A | ||
real(kind=wp), | intent(out), | dimension(1:size(ns,1)-4,1:size(ns,2)-4,1:size(ns,3)-4) | :: | B | ||
real(kind=wp), | intent(out), | dimension(1:size(ns,1)-4,1:size(ns,2)-4,1:size(ns,3)-4) | :: | C | ||
real(kind=wp), | intent(out), | dimension(1:size(ns,1)-4,1:size(ns,2)-4,1:size(ns,3)-4) | :: | D | ||
real(kind=wp), | intent(out), | dimension(1:size(ns,1)-4,1:size(ns,2)-4,1:size(ns,3)-4) | :: | E | ||
real(kind=wp), | intent(in), | dimension(:,:,:) | :: | Tn | ||
real(kind=wp), | intent(in) | :: | Teinf |