diff --git a/sources/user_problem.F90 b/sources/user_problem.F90 index c13ac62..0398383 100644 --- a/sources/user_problem.F90 +++ b/sources/user_problem.F90 @@ -31,41 +31,42 @@ module user_problem implicit none - real(kind=8), save :: beta = 1.00d+00 - real(kind=8), save :: zeta = 0.00d+00 - real(kind=8), save :: eta = 0.00d+00 - real(kind=8), save :: dens = 1.00d+00 - real(kind=8), save :: bamp = 1.00d+00 - real(kind=8), save :: bgui = 0.00d+00 + real(kind=8), save :: alpha = 5.00d-01 + real(kind=8), save :: beta = 1.00d+00 + real(kind=8), save :: zeta = 0.00d+00 + real(kind=8), save :: eta = 0.00d+00 + real(kind=8), save :: dens = 1.00d+00 + real(kind=8), save :: bamp = 1.00d+00 + real(kind=8), save :: bgui = 0.00d+00 - real(kind=8), save :: pres = 5.00d-01 - real(kind=8), save :: pmag = 5.00d-01 - real(kind=8), save :: ptot = 1.00d+00 - real(kind=8), save :: valf = 1.00d+00 - real(kind=8), save :: lund = 1.00d+00 + real(kind=8), save :: pres = 5.00d-01 + real(kind=8), save :: pmag = 5.00d-01 + real(kind=8), save :: ptot = 1.00d+00 + real(kind=8), save :: valf = 1.00d+00 + real(kind=8), save :: lund = 1.00d+00 - real(kind=8), save :: dlta = 1.00d-16 - real(kind=8), save :: tdec = 1.00d+00 + real(kind=8), save :: dlta = 1.00d-16 + real(kind=8), save :: tdec = 1.00d+00 - integer , save :: pert = 0 - integer , save :: nper = 10 - real(kind=8), save :: bper = 0.00d+00 - real(kind=8), save :: vper = 0.00d+00 - real(kind=8), save :: kper = 1.00d+00 - real(kind=8), save :: kvec = 1.00d+00 - real(kind=8), save :: xcut = 1.00d+99 - real(kind=8), save :: ycut = 1.00d+99 - real(kind=8), save :: xdec = 1.00d-01 - real(kind=8), save :: ydec = 1.00d-01 + integer , save :: pert = 0 + integer , save :: nper = 10 + real(kind=8), save :: bper = 0.00d+00 + real(kind=8), save :: vper = 0.00d+00 + real(kind=8), save :: kper = 1.00d+00 + real(kind=8), save :: kvec = 1.00d+00 + real(kind=8), save :: xcut = 1.00d+99 + real(kind=8), save :: ycut = 1.00d+99 + real(kind=8), save :: xdec = 1.00d-01 + real(kind=8), save :: ydec = 1.00d-01 - real(kind=8), save :: ylo = -9.00d+99 - real(kind=8), save :: yup = 9.00d+99 + real(kind=8), save :: ylo = -9.00d+99 + real(kind=8), save :: yup = 9.00d+99 - real(kind=8), save :: tabs = 1.00d+00 - real(kind=8), save :: adif = 5.00d-01 - real(kind=8), save :: acut = 1.00d+00 - real(kind=8), save :: adec = 1.00d+00 - real(kind=8), save :: yabs = 9.00d+99 + real(kind=8), save :: tabs = 1.00d+00 + real(kind=8), save :: adif = 5.00d-01 + real(kind=8), save :: acut = 1.00d+00 + real(kind=8), save :: adec = 1.00d+00 + real(kind=8), save :: yabs = 9.00d+99 integer(kind=4), save :: runit = 33 @@ -191,6 +192,17 @@ module user_problem return end if +! get the index for the current sheet thickness scaling +! + call get_parameter("alpha", alpha) + if (alpha <= 0.0d+00) then + if (verbose) & + call print_message(loc, "Current sheet thickness scaling index " // & + "(alpha) must be larger than zero! " // & + "Resetting it to the default value of 1/2.") + alpha = 5.0d-01 + end if + ! calculate the maximum magnetic pressure, thermal pressure from the plasma-β ! parameters, and the sound speed in the case of isothermal equations of state ! @@ -201,7 +213,7 @@ module user_problem csnd = sqrt(csnd2) valf = sqrt(2.0d+00 * pmag / dens) lund = valf / max(tiny(eta), eta) - dlta = lund**(- 1.0d+00 / 3.0d+00) + dlta = lund**(-alpha) ! fill up the boundary values !