PDEparabolic Module

a module for use for solving parabolic partial differential equations

banded and tridiagonal solvers, for now we just take everything to be banded...


Uses

  • module~~pdeparabolic~~UsesGraph module~pdeparabolic PDEparabolic module~phys_consts phys_consts module~pdeparabolic->module~phys_consts module~vendor_lapack95 vendor_lapack95 module~pdeparabolic->module~vendor_lapack95 iso_fortran_env iso_fortran_env module~phys_consts->iso_fortran_env module~vendor_lapack95->iso_fortran_env

Used by

  • module~~pdeparabolic~~UsedByGraph module~pdeparabolic PDEparabolic program~test_diffusion1d test_diffusion1d program~test_diffusion1d->module~pdeparabolic module~diffusion diffusion module~diffusion->module~pdeparabolic module~multifluid multifluid module~multifluid->module~diffusion program~gemini3d Gemini3D program~gemini3d->module~multifluid

Contents


Functions

public function TRBDF21D(Ts, A, B, C, D, E, Tsminx1, Tsmaxx1, dt, dx1, dx1i)

SOLVE A 1D DIFFUSION PROBLEM. IT IS EXPECTED THAT GHOST CELLS WILL HAVE BEEN TRIMMED FROM ARRAYS BEFORE THEY ARE PASSED INTO THIS ROUTINE.

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: Ts
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) :: Tsminx1
real(kind=wp), intent(in) :: Tsmaxx1
real(kind=wp), intent(in) :: dt
real(kind=wp), intent(in), dimension(0:):: dx1
real(kind=wp), intent(in), dimension(:):: dx1i

Return Value real(kind=wp), dimension(size(Ts))

public function backEuler1D(Ts, A, B, C, D, E, Tsminx1, Tsmaxx1, dt, dx1, dx1i)

MINX1 BOUNDARY FIRST INTERIOR GRID POINT INTERIOR GRID POINTS ix1-2 grid point, sub-diag. ix1+2 grid point LAST INTERIOR GRID POINT MAXX1 BOUNDARY ## DO SOME STUFF TO CALL LAPACK'S BANDED SOLVER

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: Ts
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) :: Tsminx1
real(kind=wp), intent(in) :: Tsmaxx1
real(kind=wp), intent(in) :: dt
real(kind=wp), intent(in), dimension(0:):: dx1
real(kind=wp), intent(in), dimension(:):: dx1i

Return Value real(kind=wp), dimension(size(Ts))