-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial working version, no Conductivty, Plooster EOS or electrode is…
…othermal bdry yet.
- Loading branch information
Showing
75 changed files
with
19,848 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# Configuration file for the Sedov explosion problem | ||
# (Sedov, L. I., 1959, Similarity and Dimensional Methods | ||
# in Mechanics [New York: Academic]) | ||
|
||
REQUIRES Driver | ||
REQUIRES physics/Hydro | ||
REQUIRES physics/Eos | ||
REQUIRES physics/sourceTerms/PlasmaPR | ||
#REQUIRES physics/Diffuse/DiffuseMain | ||
#REQUIRES physics/Diffuse/DiffuseMain/Unsplit | ||
#REQUIRES physics/materialProperties/Conductivity | ||
#REQUIRES physics/materialProperties/Viscosity/ViscosityMain | ||
|
||
PPDEFINE NBOUNDARIES 18 | ||
|
||
IF withParticles | ||
PARTICLETYPE active INITMETHOD lattice MAPMETHOD quadratic ADVMETHOD leapfrog | ||
|
||
REQUIRES Particles/ParticlesMain | ||
REQUIRES Particles/ParticlesMain/active | ||
REQUIRES Particles/ParticlesMain/active/massive | ||
REQUESTS Particles/ParticlesInitialization/Lattice | ||
REQUESTS Particles/ParticlesMapping/meshWeighting/CIC | ||
REQUESTS Particles/ParticlesMapping/meshWeighting/MapToMesh | ||
REQUESTS Grid/GridParticles/GridParticlesMapToMesh | ||
REQUESTS Particles/ParticlesMain/active/massive/Leapfrog | ||
REQUESTS IO/IOMain/ | ||
REQUESTS IO/IOParticles | ||
ENDIF | ||
|
||
LINKIF Grid_markRefineDerefine.F90 Grid/GridMain/paramesh | ||
LINKIF gr_expandDomain.F90 Grid/GridMain/paramesh | ||
|
||
D sim_pAmbient Initial ambient pressure | ||
PARAMETER sim_pAmbient REAL 1.E-5 | ||
|
||
D sim_rhoAmbient Initial ambient density | ||
PARAMETER sim_rhoAmbient REAL 1. | ||
|
||
D sim_tempAmbient Initial ambient temperature | ||
PARAMETER sim_tempAmbient REAL 300. | ||
|
||
D sim_exl Lower bound for x source | ||
PARAMETER sim_exl REAL 0.0 | ||
|
||
D sim_exu Lower bound for x source | ||
PARAMETER sim_exu REAL 0.0 | ||
|
||
D sim_eyl Lower bound for x source | ||
PARAMETER sim_eyl REAL 0.0 | ||
|
||
D sim_eyu Lower bound for x source | ||
PARAMETER sim_eyu REAL 0.0 | ||
|
||
D sim_pxl Lower bound for x source | ||
PARAMETER sim_pxl REAL 0.0 | ||
|
||
D sim_pxu Lower bound for x source | ||
PARAMETER sim_pxu REAL 0.0 | ||
|
||
D sim_pyl Lower bound for x source | ||
PARAMETER sim_pyl REAL 0.0 | ||
|
||
D sim_pyu Lower bound for x source | ||
PARAMETER sim_pyu REAL 0.0 | ||
|
||
D sim_vx Lower bound for x source | ||
PARAMETER sim_vx REAL 0.0 | ||
|
||
D sim_vy Lower bound for x source | ||
PARAMETER sim_vy REAL 0.0 | ||
|
||
D sim_vz Lower bound for x source | ||
PARAMETER sim_vz REAL 0.0 | ||
|
||
D sim_expEnergy Explosion energy (distributed over initial explosion region) | ||
PARAMETER sim_expEnergy REAL 1. | ||
|
||
D sim_minRhoInit Density floor for initial condition | ||
PARAMETER sim_minRhoInit REAL 1.E-20 [0.0 ...] | ||
|
||
D sim_rInit Radius of region into which explosion energy is dumped | ||
D & initially, used only if tinitial <= 0. | ||
PARAMETER sim_rInit REAL 0.05 | ||
|
||
D sim_xctr Explosion center coordinates | ||
PARAMETER sim_xctr REAL 0.5 | ||
|
||
D sim_yctr Explosion center coordinates | ||
PARAMETER sim_yctr REAL 0.5 | ||
|
||
D sim_zctr Explosion center coordinates | ||
PARAMETER sim_zctr REAL 0.5 | ||
|
||
D sim_nsubzones Number of `sub-zones' in cells for applying 1d profile | ||
PARAMETER sim_nsubzones INTEGER 7 [1 ...] | ||
|
||
D sim_forceCenterDerefine Try to force low refinement level around explosion center? | ||
D sim_centerRefineLevel Desired refinement level at center (if "forcing") | ||
D sim_derefineRadius Radius of center region to force derefinement | ||
PARAMETER sim_forceCenterDerefine BOOLEAN FALSE | ||
PARAMETER sim_centerRefineLevel INTEGER 1 [-1, 1 ...] | ||
PARAMETER sim_derefineRadius REAL 0.0 [0.0 ...] | ||
|
||
D sim_profFileName Name of file from which to read a 1D Sedov solution for the | ||
D & initial condition. | ||
D & The data from the file will be rescaled, and a density floor given | ||
D & by sim_minRhoInit will be applied, to construct the initial condition. | ||
D & This file will only be used if tinitial > 0. | ||
PARAMETER sim_profFileName STRING "sedovSolution.dat" | ||
|
||
DATAFILES sedovSolution.dat | ||
DATAFILES sedovSolutionMod*.dat | ||
|
||
D sim_bcSetBdryVar Whether to set the "bdry" variable in unk (if it exists) to 1 | ||
D & in guard cells at reflecting boundaries. Doing this will entice Hydro | ||
D & implementations to lower reconstruction order in adjacent cells, and possibly | ||
D & lower the CFL factor applied to timestep computation as well. | ||
PARAMETER sim_bcSetBdryVar BOOLEAN FALSE | ||
|
||
D sim_earliestLSTime earliest time included in Largest-{Norm,Error} summaries | ||
D sim_latestLSTime latest time included in Largest-{Norm,Error} summaries | ||
PARAMETER sim_earliestLSTime REAL 0.0 | ||
PARAMETER sim_latestLSTime REAL HUGE(1.0) | ||
|
||
D sim_smallestNormRadius inner radius bound of region for norm computation | ||
D sim_largestNormRadius outer radius bound of region for norm computation | ||
PARAMETER sim_smallestNormRadius REAL 0.0 | ||
PARAMETER sim_largestNormRadius REAL HUGE(1.0) | ||
|
||
D sim_oneLevelIntegralsOnly Whether to compute intgral quantities only on | ||
D & cells at one refinement level, ignoring all finer or coarser cells | ||
PARAMETER sim_oneLevelIntegralsOnly BOOLEAN FALSE | ||
D sim_integralsLevel if sim_oneLevelIntegralsOnly is TRUE, this gives the | ||
D & requested refinement level, either explicitly as a positive integer | ||
D & or as -1 for the largest currently realized level. | ||
PARAMETER sim_integralsLevel INTEGER -1 [-1, 1 ...] | ||
|
||
D nblockx num initial blocks in x dir | ||
PARAMETER nblockx INTEGER 12 | ||
|
||
D nblocky num initial blocks in y dir | ||
PARAMETER nblocky INTEGER 18 | ||
|
||
D nblockz num initial blocks in z dir | ||
PARAMETER nblockz INTEGER 1 | ||
|
||
|
||
# VARIABLE declarations for analytical solution from file here, | ||
# other VARIABLES declared in Hydro etc. | ||
|
||
VARIABLE dena TYPE:PER_VOLUME | ||
VARIABLE prsa | ||
VARIABLE vlxa | ||
VARIABLE vlya | ||
VARIABLE vlza | ||
VARIABLE eina | ||
VARIABLE enra | ||
|
||
USESETUPVARS DoAnalytical | ||
IF DoAnalytical | ||
LINKIF Grid_computeUserVars.F90.analytical Simulation | ||
LINKIF IO_writeIntegralQuantities.F90.analytical Simulation | ||
LINKIF Simulation_computeAnalytical.F90.analytical Simulation | ||
|
||
#VARIABLE dend | ||
#VARIABLE prsd | ||
#VARIABLE vlrd | ||
|
||
#VARIABLE denc | ||
#VARIABLE prsc | ||
#VARIABLE vlrc | ||
|
||
ENDIF | ||
|
||
USESETUPVARS UseBdryVar | ||
IF UseBdryVar | ||
LINKIF Grid_bcApplyToRegionSpecialized.F90.bdryvar Grid | ||
VARIABLE bdry | ||
|
||
ENDIF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
!!****if* source/Driver/DriverMain/Driver_initSourceTerms | ||
!! | ||
!! NAME | ||
!! | ||
!! Driver_initSourceTerms | ||
!! | ||
!! SYNOPSIS | ||
!! | ||
!! Driver_initSourceTerms(logical(in) :: restart) | ||
!! | ||
!! DESCRIPTION | ||
!! | ||
!! Initializes all source terms Units by | ||
!! calling their respective initialization routines | ||
!! viz. Stir_init, Burn_init, Heat_init, Cool_init, etc. | ||
!! | ||
!! ARGUMENTS | ||
!! myPE - current processor number | ||
!! restart - indicates if run is starting from scratch (.false.) | ||
!! or restarting from checkpoint (.true.) | ||
!! | ||
!!*** | ||
|
||
subroutine Driver_initSourceTerms( restart) | ||
|
||
use Polytrope_interface, ONLY: Polytrope_init | ||
use Burn_interface, ONLY: Burn_init | ||
use Stir_interface, ONLY : Stir_init | ||
use Heat_interface, ONLY : Heat_init | ||
use Heatexchange_interface, ONLY : Heatexchange_init | ||
use Cool_interface, ONLY : Cool_init | ||
use Diffuse_interface, ONLY : Diffuse_init | ||
use Ionize_interface, ONLY : Ionize_init | ||
use Flame_interface, ONLY : Flame_init | ||
use Turb_interface, ONLY : Turb_init | ||
use RadTrans_interface, ONLY : RadTrans_init | ||
use EnergyDeposition_interface, ONLY : EnergyDeposition_init | ||
use Deleptonize_interface, ONLY : Deleptonize_init | ||
use PlasmaPR_interface, ONLY : PlasmaPR_init | ||
|
||
implicit none | ||
|
||
logical, intent(in) :: restart | ||
|
||
call Polytrope_init() | ||
call Stir_init( restart) | ||
call Cool_init() | ||
call Diffuse_init() | ||
call Heat_init() | ||
call Heatexchange_init( restart) | ||
call Ionize_init() | ||
call Burn_init() | ||
call Turb_init() | ||
call Flame_init() | ||
call RadTrans_init() | ||
call EnergyDeposition_init() | ||
call Deleptonize_init() | ||
call PlasmaPR_init() | ||
|
||
end subroutine Driver_initSourceTerms |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
!!****if* source/Driver/DriverMain/Driver_sourceTerms | ||
!! | ||
!! NAME | ||
!! | ||
!! Driver_sourceTerms | ||
!! | ||
!! SYNOPSIS | ||
!! | ||
!! Driver_sourceTerms(integer(IN)::blockCount, | ||
!! integer(IN)::blockList(blockCount), | ||
!! real(IN) :: dt) | ||
!! | ||
!! DESCRIPTION | ||
!! | ||
!! Driver for source terms. Instead of calling all these routines | ||
!! from Driver_evolveFlash we call Driver_sourceTerms which then | ||
!! makes the calls to Cool, Burn, Heat and Stir. If a unit is not | ||
!! included in the simulation, the routine will be a stub and return | ||
!! without doing anything. | ||
!! | ||
!! | ||
!! ARGUMENTS | ||
!! blockCount : The number of blocks in the list | ||
!! blockList : The list of blocks on which to apply the stirring operator | ||
!! dt : the current timestep | ||
!! | ||
!!*** | ||
|
||
|
||
|
||
subroutine Driver_sourceTerms(blockCount, blockList, dt, pass) | ||
|
||
use Polytrope_interface, ONLY : Polytrope | ||
use Driver_data, ONLY: dr_simTime | ||
use Flame_interface, ONLY : Flame_step | ||
use Stir_interface, ONLY : Stir | ||
use Heat_interface, ONLY : Heat | ||
use Heatexchange_interface, ONLY : Heatexchange | ||
use Burn_interface, ONLY : Burn | ||
use Cool_interface, ONLY : Cool | ||
use Ionize_interface, ONLY : Ionize | ||
use Flame_interface, ONLY : Flame_step | ||
use Turb_interface, ONLY : Turb_calc | ||
use EnergyDeposition_interface, ONLY : EnergyDeposition | ||
use Deleptonize_interface, ONLY : Deleptonize | ||
use PlasmaPR_interface, ONLY : PlasmaPR_calc | ||
|
||
implicit none | ||
|
||
real, intent(IN) :: dt | ||
integer, intent(IN) :: blockCount | ||
integer, dimension(blockCount), intent(IN):: blockList | ||
integer, OPTIONAL, intent(IN):: pass | ||
|
||
#ifdef DRIVER_EDEARLY | ||
call EnergyDeposition(blockCount, blockList, dt, dr_simTime, pass) | ||
#endif | ||
call Polytrope(blockCount, blockList, dt) | ||
call Stir(blockCount, blockList, dt) | ||
call Turb_calc(blockCount, blockList) | ||
call Flame_step(blockCount, blockList, dt) | ||
call Burn(blockCount, blockList, dt) | ||
call Heat(blockCount, blockList, dt, dr_simTime) | ||
call Heatexchange(blockCount, blockList, dt) | ||
call Cool(blockCount, blockList, dt, dr_simTime) | ||
call Ionize(blockCount, blockList, dt, dr_simTime) | ||
#ifndef DRIVER_EDEARLY | ||
call EnergyDeposition(blockCount, blockList, dt, dr_simTime, pass) | ||
#endif | ||
call Deleptonize(blockCount, blockList, dt, dr_simTime) | ||
call PlasmaPR_calc(blockCount, blockList) | ||
|
||
return | ||
end subroutine Driver_sourceTerms |
Oops, something went wrong.