Cooling
Two things are required to turn on cooling: the lCooling flag to indicate that cooling is active in this simulation, and iCooling to specify the type of cooling to use. These values are usually included in the problem.data file. The user must also create a cooling object in ProblemModuleInit() to manage the cooling settings. An example of cooling object creation can be seen below:
IF(iCooling>0) THEN
IF (.NOT. lRestart) THEN
! see sources/cooling.f90::CreateCoolingObject for
! default values of a cooling source term
CALL CreateCoolingObject(coolingobj)
ELSE
coolingobj => firstcoolingobj
END IF
END IF
coolingobj%iCooling=iCooling
SELECT CASE(iCooling) ! cases defined in sources/cooling.f90
CASE(NoCool)
CASE(AnalyticCool)
coolingobj%alpha=alpha
coolingobj%beta=beta
CASE(DMCool)
CASE(IICool)
CASE DEFAULT
END SELECT
coolingobj%floortemp=1d0
coolingobj%mintemp=0.001
The .NOT. lRestart conditional prevents AstroBEAR from creating a new cooling object on restarts; this is because the cooling objects will be read in from the restart files.
Last modified
9 years ago
Last modified on 02/22/17 12:27:52
Note:
See TracWiki
for help on using the wiki.