102
Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running Enzo 2. Enzo Projects Introduction to YT Wed. Enzo Algorithms Lab session Thu. Applications to First Stars, First Galaxies, and Reionization Lab session Fri. What’s New in Enzo 2.0? Q & A

Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Morning Afternoon

Mon. Introduction to Enzo

Tue. 1. Setting Up and Running Enzo2. Enzo Projects

Introduction to YT

Wed. Enzo Algorithms Lab session

Thu. Applications to First Stars, First Galaxies, and Reionization

Lab session

Fri. What’s New in Enzo 2.0? Q & A

Page 2: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running
Page 3: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Feature Authors

physics

star particle class John Wise, Ji-hoon Kim

adaptive ray tracing radiative transfer John Wise, Tom Abel

flux limited diffusion radiative transfer Dan Reynolds

Runge-Kutta2 MHD Tom Abel, Peng Wang

CUDA MHD Tom Abel, Peng Wang

high-density primordial chemistry Matt Turk

CLOUDY cooling Britton Smith

sink particles John Wise, Peng Wang, Tom Abel

Page 4: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Feature Authors

numerics

particle splitting Ji-hoon Kim

shearing box boundary conditions Tom Abel, Fen Zhao

inline Friends-Of-Friends John Wise

mpgraphic initial conditions John Wise

non-blocking communication John Wise, Greg Bryan

AMR checkpoint dumps Matt Turk

r16 Positioning Matt Turk

Python embedding Matt Turk

LCA-perf James Bordner

New Streaming Format John Wise, Tom Abel

Page 5: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

V1.5

V2.0

Page 6: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

I. Radiative Transfer with Ray TracingII. Radiating “Star” Particles

John Wise (Princeton)Enzo WorkshopUCSD – 29 Jun 2010

Tuesday, 29 June 2010

Page 7: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Cosmological Radiative Transfer Equation

n := normal vectora := scale factorā := a/aem

H := Hubble factorν := frequency

Iν ≡ I(ν,x,Ω, t)

1c

∂Iν

∂t+

n ·∇Iν

a− H

c

ν

∂Iν

∂ν− 3Iν

= −κνIν + jν

Tuesday, 29 June 2010

Page 8: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Cosmological Radiative Transfer Equation

n := normal vectora := scale factorā := a/aem

H := Hubble factorν := frequency

Iν ≡ I(ν,x,Ω, t)

Propagation &

Cosmic Expansion

Redshifting

Cosmological DilutionAbsorptionEmission

1c

∂Iν

∂t+

n ·∇Iν

a− H

c

ν

∂Iν

∂ν− 3Iν

= −κνIν + jν

Tuesday, 29 June 2010

Page 9: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

1c

∂Iν

∂t+

n ·∇Iν

a− H

c

ν

∂Iν

∂ν− 3Iν

= −κνIν + jν

Simplifications – “Local” Approximation

Propagation &

Cosmic Expansion

Redshifting

Cosmological DilutionAbsorptionEmission

1. Short timesteps (ā = 1)2. Ignore cosmological redshift and dilution (may

become important >50 Mpc)

Tuesday, 29 June 2010

Page 10: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

1c

∂Iν

∂t+

n ·∇Iν

a− H

c

ν

∂Iν

∂ν− 3Iν

= −κνIν + jν

Simplifications – “Local” Approximation

Propagation &

Cosmic Expansion

Redshifting

Cosmological DilutionAbsorptionEmission

1. Short timesteps (ā = 1)2. Ignore cosmological redshift and dilution (may

become important >50 Mpc)

Tuesday, 29 June 2010

Page 11: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

1c

∂Iν

∂t+

n ·∇Iν

a− H

c

ν

∂Iν

∂ν− 3Iν

= −κνIν + jν

Simplifications – “Local” Approximation

Propagation &

Cosmic Expansion

Redshifting

Cosmological DilutionAbsorptionEmission

1. Short timesteps (ā = 1)2. Ignore cosmological redshift and dilution (may

become important >50 Mpc)

Tuesday, 29 June 2010

Page 12: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

RT Equation along a Ray

• Consider point sources of radiation

• Initially, the radiation flux is split equally among all rays.

1c

∂P

∂t+

∂P

∂r= −κP

• P := photon flux in the ray

Tuesday, 29 June 2010

Page 13: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Adaptive Ray TracingAbel & Wandelt (2002)

Tuesday, 29 June 2010

Page 14: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Adaptive Ray TracingAbel & Wandelt (2002)

Tuesday, 29 June 2010

Page 15: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Adaptive Ray TracingAbel & Wandelt (2002)

• Ray directions and splitting based on HEALPix (Gorski et al. 2005)

• Rays are split into 4 child rays when the solid angle is large compared to the cell face area

• Well-suited for AMR

• Fully coupled to the chemistry and energy solvers in Enzo, i.e. radiation hydrodynamics!

Tuesday, 29 June 2010

Page 16: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Adaptive Ray TracingAbel & Wandelt (2002)

• Each ray is mono-chromatic

• Hydrogen ionizing (E > 13.6 eV)

• Helium singly ionizing (E > 24.6 eV)

• Helium doubly ionizing (E > 54.4 eV)

• X-rays• hydrogen ionizations• secondary ionizations• helium ionizations• reduced photo-heating

• H2 dissociating (Lyman-Werner)

Tuesday, 29 June 2010

Page 17: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Time for an example!

Tuesday, 29 June 2010

Page 18: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Cosmological RT Codes ComparisonIliev et al. (2006)

Test 1Source at the originUniform density fieldNo hydrodynamics

IsothermalMono-chromatic spectrum (13.6 eV)

Tuesday, 29 June 2010

Page 19: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

PhotonTest, i.e. CollapseTest with radiation sources

Turn on radiative transfer

Must be ≥1. Doesn’t make sense for an equation of

state (no ionizations)

Tuesday, 29 June 2010

Page 20: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Minimum rays per cell, i.e. angular resolution

Tuesday, 29 June 2010

Page 21: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Minimum rays per cell, i.e. angular resolution

Initial number of rays from the pt. source. N0 = 12 x 4n

Tuesday, 29 June 2010

Page 22: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Minimum rays per cell, i.e. angular resolution

Initial number of rays from the pt. source. N0 = 12 x 4n

Determines timestep by restricting HI fraction change to 5%. Not stable for

big runs (yet).

If set to 0, uses hydro timestep on the finest level.

Tuesday, 29 June 2010

Page 23: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Minimum rays per cell, i.e. angular resolution

Initial number of rays from the pt. source. N0 = 12 x 4n

Determines timestep by restricting HI fraction change to 5%. Not stable for

big runs (yet).

If set to 0, uses hydro timestep on the finest level.

If set to 1, uses one of the two timestepping schemes above.

If set to 0, uses constant (can be user-defined in dtPhoton).

Tuesday, 29 June 2010

Page 24: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 25: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

For future use.

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 26: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

For future use.

(x,y,z) Must be in domain

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 27: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

For future use.

(x,y,z) Must be in domain

Total photon luminosity (ph/sec)

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 28: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

For future use.

(x,y,z) Must be in domain

Total photon luminosity (ph/sec)

Source lifetime in code units

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 29: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Number of point sources

For future use.

(x,y,z) Must be in domain

Total photon luminosity (ph/sec)

Source lifetime in code units

Energy of rays in energy group

SpheresSame parameters as CollapseTest

but replace with PhotonTest

Tuesday, 29 June 2010

Page 30: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Tuesday, 29 June 2010

Page 31: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Cosmological RT Codes Comparison IIIliev et al. (2009)

Test 6 (with AMR)Source at the origin1/r2 density profileHydrodynamics

Blackbody spectrum (105 K)

Tuesday, 29 June 2010

Page 32: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Turn hydro on

AMR with 2 levels

Tuesday, 29 June 2010

Page 33: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Background temperature and electron fraction

No gravity (in accordance to the test parameters)

Tuesday, 29 June 2010

Page 34: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Sphere parametersType 5 := 1/r2 density profile

with a core

Tuesday, 29 June 2010

Page 35: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Density

Temperature

Tuesday, 29 June 2010

Page 36: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Tuesday, 29 June 2010

Page 37: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

How do I have >1 energy group?

Example:105 K blackbody in

4 energy groups

Tuesday, 29 June 2010

Page 38: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

How do I have >1 energy group?

Example:105 K blackbody in

4 energy groups

Tuesday, 29 June 2010

Page 39: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

How do I have >1 energy group?

Example:105 K blackbody in

4 energy groups

Tuesday, 29 June 2010

Page 40: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

How do I have >1 energy group?

Example:105 K blackbody in

4 energy groups

Tuesday, 29 June 2010

Page 41: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Radiative “Star” Particles Complex behavior encouraged!

made with yt!

Tuesday, 29 June 2010

Page 42: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Star particle overview

• Two types of star particles: (1) Normal and (2) Radiative

• Normal star particles are similar to DM particles but have particle attributes

• Creation time

• Dynamical time (or lifetime)

• Metallicity

• Normal star particles only interact with local grid cells.

• Feedback is accomplished through energy injection

Tuesday, 29 June 2010

Page 43: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Star class

• To mirror nature better, star particles needed more flexibility.

• The class is an additional layer on top of the normal star particle, so it is included in the gravity solver and refinement criteria.

• Main advantage: greater interactivity between the stars and grid

• Able to change cells on multiple grids and levels

class Star ;

Tuesday, 29 June 2010

Page 44: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Feedback spheres

Tuesday, 29 June 2010

Page 45: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Star class

• Different types of feedback modes (all operate in spheres of any radius)

• Star formation – instantaneous accretion

• Supernova feedback – thermal energy injection

• Strömgren sphere – radial profile taken from Whalen et al. (2004)

• Color field – Marks sphere with a color

Tuesday, 29 June 2010

Page 46: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Star class

• Can represent a single star, star cluster, black hole, neutron star, etc.

• Can grow from a pre-determined accretion rate “future”.

• Easy to merge.

• Doesn’t necessarily creates radiation. This is determined in Star_IsARadiationSource.C.

if (Star1->Mergable(Star2)) Star1 += Star2; Star2->DisableParticle(LevelArray);

Tuesday, 29 June 2010

Page 47: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

StarParticleIntitialize

StarParticleFinalize

StarParticleAddFeedback

Loop over all stars

StarParticleDeath

Loop over all stars

For each star

EvolveLevel

if first timestep

after restart

Main grid loop

in EvolveLevelCommunicationUpdateStarParticleCount

grid::FindAllStarParticles

Converts ALL active star particles into objects

yes

StarParticleFindAll

Update position and velocity of existing star objects.

Converts NEW star particles into star objects.

Creates a global list of star objects on all processors.

no

Synchronize stars in global list with copies in grids

StarParticleMergeNew

Merges NEW particles within some radius and the same type.

Delete merged particles.

Star::SetFeedbackFlag

Star::UpdatePositionVelocity

Copies new position and velocity from star particles to objects

if grid

feedback necessary

StarParticleAccretion

(for every star)

Calculate its mass accretion rate.

Add mass to star.

Star::HitEndPoint

if kill only star object

(e.g. active to inactive star)

delete only the star object.

ActivateNewStar

If star is now 'active'

(e.g. surpassed some mass threshold),

activate it by setting the type to positive.

ResetAccretion

Synchronize star in global list with copy in grids

Delete global star list.

next star

no

Star::CalculateFeedbackParameters

Calculates radius, density, color,

and energy of the feedback sphere.

yes

Star::FindFeedbackSphere

Determines whether the sphere is

enclosed in grids on the current level.

if sphere contained

no

grid::AddFeedbackSphere

Adds feedback sphere to grid.

yes

if supernova,

set FeedbackFlag to DEATH

if kill star

delete the star particle AND object.

http://lca.ucsd.edu/projects/enzo/wiki/Tutorials/StarParticleClass

Tuesday, 29 June 2010

Page 48: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

StarParticleIntitialize

StarParticleFinalize

StarParticleAddFeedback

Loop over all stars

StarParticleDeath

Loop over all stars

For each star

EvolveLevel

if first timestep

after restart

Main grid loop

in EvolveLevelCommunicationUpdateStarParticleCount

grid::FindAllStarParticles

Converts ALL active star particles into objects

yes

StarParticleFindAll

Update position and velocity of existing star objects.

Converts NEW star particles into star objects.

Creates a global list of star objects on all processors.

no

Synchronize stars in global list with copies in grids

StarParticleMergeNew

Merges NEW particles within some radius and the same type.

Delete merged particles.

Star::SetFeedbackFlag

Star::UpdatePositionVelocity

Copies new position and velocity from star particles to objects

if grid

feedback necessary

StarParticleAccretion

(for every star)

Calculate its mass accretion rate.

Add mass to star.

Star::HitEndPoint

if kill only star object

(e.g. active to inactive star)

delete only the star object.

ActivateNewStar

If star is now 'active'

(e.g. surpassed some mass threshold),

activate it by setting the type to positive.

ResetAccretion

Synchronize star in global list with copy in grids

Delete global star list.

next star

no

Star::CalculateFeedbackParameters

Calculates radius, density, color,

and energy of the feedback sphere.

yes

Star::FindFeedbackSphere

Determines whether the sphere is

enclosed in grids on the current level.

if sphere contained

no

grid::AddFeedbackSphere

Adds feedback sphere to grid.

yes

if supernova,

set FeedbackFlag to DEATH

if kill star

delete the star particle AND object.

http://lca.ucsd.edu/projects/enzo/wiki/Tutorials/StarParticleClass

Tuesday, 29 June 2010

Page 49: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Radiative Star Particles

• Population III stars – method 3. Represent single Pop III stars. Luminosity, lifetime, and endpoint determined from PopIIIStarMass

• “Star cluster” particles – method 5. Represents a star cluster or galaxy (depending on resolution).

• In Enzo 2.0, multiple star formation routines may be used.

• Specified in a bitwise fashion. • Method 3 → 23 = 8• Method 4 → 24 = 16• Method 3 & 5 → 23 + 25 = 40

• Black hole particles – PopIIIBlackHoles = 1

Tuesday, 29 June 2010

Page 50: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Tuesday, 29 June 2010

Page 51: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Tuesday, 29 June 2010

Page 52: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Tuesday, 29 June 2010

Page 53: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

Tuesday, 29 June 2010

Page 54: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

SN energy – erg / M⊙

Tuesday, 29 June 2010

Page 55: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

SN energy – erg / M⊙

Radius (pc) to inject SN feedback thermal energy. In the code, minimum of 3.5 cell widths.

Tuesday, 29 June 2010

Page 56: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

SN energy – erg / M⊙

Radius (pc) to inject SN feedback thermal energy. In the code, minimum of 3.5 cell widths.

Star formation efficiency. This fraction of the cold gas mass is

converted into a star.

Tuesday, 29 June 2010

Page 57: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

SN energy – erg / M⊙

Radius (pc) to inject SN feedback thermal energy. In the code, minimum of 3.5 cell widths.

Star formation efficiency. This fraction of the cold gas mass is

converted into a star.

Star cluster minimum mass (M⊙)

Tuesday, 29 June 2010

Page 58: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Metal enrichment

Minimum tdyn of a star-forming molecular cloud (higher → lower

dens. & more massive). In years.

Ionizing photons / sec / M⊙

Use helium ionizing photons

SN energy – erg / M⊙

Radius (pc) to inject SN feedback thermal energy. In the code, minimum of 3.5 cell widths.

Star formation efficiency. This fraction of the cold gas mass is

converted into a star.

Star cluster minimum mass (M⊙)

Radius (pc) to combine stars when first created

Tuesday, 29 June 2010

Page 59: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Tuesday, 29 June 2010

Page 60: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

Tuesday, 29 June 2010

Page 61: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Tuesday, 29 June 2010

Page 62: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Tuesday, 29 June 2010

Page 63: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Minimum H2 fraction to form

Tuesday, 29 June 2010

Page 64: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Minimum H2 fraction to form

Maximum metallicity (in absolute, not solar, fractions) of Pop III stars

Tuesday, 29 June 2010

Page 65: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Minimum H2 fraction to form

Maximum metallicity (in absolute, not solar, fractions) of Pop III stars

Radius (pc) to inject SN energy

Tuesday, 29 June 2010

Page 66: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Minimum H2 fraction to form

Maximum metallicity (in absolute, not solar, fractions) of Pop III stars

Radius (pc) to inject SN energy

Use a color (metal) field in SN feedback

Tuesday, 29 June 2010

Page 67: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Stellar mass in M⊙ (constant)

Use radiative BH particles when <140 M⊙ and >260 M⊙ stars

LBH = f * dMBH/dt * c2

Overdensity to form StarCluster and Pop III star particles

(negative value for units of cm-3)

Minimum H2 fraction to form

Maximum metallicity (in absolute, not solar, fractions) of Pop III stars

Radius (pc) to inject SN energy

Use a color (metal) field in SN feedback

Use at your own risk. Pre-refines region before supernova.

Tuesday, 29 June 2010

Page 68: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Let’s put them together.

+

Tuesday, 29 June 2010

Page 69: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Toy ReionizationSimulation

• 30 Mpc, 643 resolution

• AMR with 8 levels

• Maximal spatial resolution of 1.8 comoving kpc

• 4 x 109 M⊙ DM mass resolution

• Hydrogen ionization only

• Star cluster particles with metal enrichment

• Stop at z = 6

Tuesday, 29 June 2010

Page 70: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

No full reionization because of mass resolution (i.e. we miss all of the low-luminosity dwarfs)

Tuesday, 29 June 2010

Page 71: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

1. In macros_and_parameters.h, add your particle type macro.

2. Add a “star_maker” to Grid_StarParticleHandler.C or create your own routine that adds particles to the grid (e.g., only done in a restart).

• Assign the new particles a particle type = –NEW_PARTICLE_TYPE, which tells the Star class routines to create a new Star object from this particle. It will be changed into a positive number when the Star object is created.

Tuesday, 29 June 2010

Page 72: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

3. Add your new star particle type to the if-statement in Grid_FindNewStarParticles.C

4. Add a case-statement to Star_SetFeedbackFlag

Tuesday, 29 June 2010

Page 73: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

3. Add your new star particle type to the if-statement in Grid_FindNewStarParticles.C

4. Add a case-statement to Star_SetFeedbackFlag

Tuesday, 29 June 2010

Page 74: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

5. If adding a feedback sphere, you can customize your own sphere in

Star_CalculateFeedbackParameters.C

Grid_AddFeedbackSphere.C.

Tuesday, 29 June 2010

Page 75: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

6. Add a case-statement to Star_ActivateNewStar.C

Tuesday, 29 June 2010

Page 76: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Create your own star particle type

7. If you don’t want your new star particle type to be radiating (i.e. only add feedback spheres), add an additional logic check in Star_IsARadiationSource.C.

Tuesday, 29 June 2010

Page 77: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Summary

• Run non-cosmological radiative hydrodynamics problems.

• New Star class

• New “star cluster” and Population III star particles.

• Run cosmological simulations with radiation transport from dynamically created star particles

• Create your own radiating “star” particle type.

Tuesday, 29 June 2010

Page 78: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Self-consistent Cosmological Radiation Hydrodynamics/Ionization

• implicit flux limited diffusion solver• coupled to ionization kinetics and gas energy equation• only for unigrid in 2.0 (AMR not supported yet)• requires hypre library from LLNL

Page 79: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Self-consistent Cosmological Radiation Hydrodynamics/Ionization

Reynolds, Hayes, Paschos & MN (2009)• Goal

– Create a parallel scalable solver that couples cosmological hydrodynamics, radiation transport, chemical ionization, and gas photoheating self-consistently

Explicit cosmological hydrodynamics

(ENZO)

Implicit radiation transport, ionization

kinetics, and photoheating

Page 80: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Cosmological Radiative Transfer Equation

EcEE

a

a

a

F

t

E

dnnIFdnIc

E

zta

III

c

tH

a

In

t

I

c

4)3(

ˆ)ˆ( ;)ˆ(1

factor scale cosmic 1

1)(

)3()(ˆ1

2

Spatial gradients WRT coordinates comoving with expanding universe

cosmological

redshift

cosmological

expansion

Page 81: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

EcEEa

aED

aE

aE bt 43)(

1)(

12

Reduces to standard equation setting a=1

Page 82: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Spectral Modeling: 1-group Approximation

)/(

)(B

)(

)(

00

0

powerlaw

blackbody

ticmonochroma

TE

Comoving radiation energy density

EcEa

amED

aE

aE bt 4)(

1)(

12

Page 83: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Why use FLD?

• Invented by my thesis adviser Jim Wilson

• Simple and easy (no formal solution needed)

• Correct behavior in limiting regimes

• Causal propagation of radiation energy

• I am interested in large volumes and many sources, where diffuse radiation backgrounds dominate local effects (i.e., shadows)

• SPD matrixefficient solution methods

• Extenstion to VTEF with analytic EFs straightforward

Page 84: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

System of Equations

Page 85: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Operator Splitting

ionizationradiation/ with coupling todue correctionenergy is

motions ichydrodynam todueenergy gas is

where

let

c

h

ch

e

e

eee

Gas energy equation

Page 86: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Explicit hydrodynamics

This is what ENZO already does

Page 87: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Implicit Coupled System

• non-equilibrium multispecies model

• LTE (2 temperature) model

Page 88: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Temporal DiscretizationGeneralized Crank-Nicholson (theta scheme)

Page 89: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Multigrid-Preconditioned Conjugate Gradient

• The primary difficulty in solving these systems lies in the Schur complement system

(D – LM-1U) xE = bE – LM-1bM

• Due to the diffusion approximation, and the spatial locality of M and L, this matrix is symmetric and positive definite.

• SPD systems are often solved using the conjugate-gradient method; a robust, low-memory Krylov iterative solver. Unfortunately, CG convergence rates depend on the eigenvalues of the matrix, which here spread rapidly with mesh refinement, resulting in slower convergence as the mesh is refined.

• We therefore precondition the CG solver, i.e. Ax = b (P-1AP-1)(Px) = P-1b, where the symmetric operator P-1 comes from a geometric multigrid (MG) solver.

• MG methods, while less robust, exhibit convergence rates that are independent of the matrix spectrum, resulting in near optimal log-linear algorithm complexity, and scalability to thousands of processors.

• This MG-CG combination results in a robust, scalable solver for the inner Schur systems.

HYPRE solver library, LLNL

Page 90: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Build Configuration

To use any FLD solver module, Enzo must be configured with:

gmake photon-yes [enables all radiation solvers]gmake hypre-yes [enables HYPRE solver interface]gmake use-mpi-yes [enables MPI]

Moreover, the machine Makefile must specify how to include andlink with an available HYPRE library (version ≥ 2.4.0b).

If you must compile HYPRE yourself, use the configuration option--with-no-global-partition for runs using over 1000 tasks.

Optional/recommended Enzo configuration options include:

gmake emissivity-yes [enables coupling with star-maker]gmake precision-64 [the solvers prefer double precision]

Page 91: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Startup Parameters

The main problem parameter file must have the following parameters:

RadiativeTransferFLD [0] – this must be 2.

ImplicitProblem [0] – use 3 for gFLDSplit, 1 for gFLDProblem.

ProblemType [0] – FLD-based solvers use values in the 400’s.

RadHydroParamfile [NULL] – the filename containing allFLD-specific solver parameters (next slide).

RadiativeTransferOpticallyThinH2 [1] – this must be 0.

RadiationFieldType [0] – can be any value except 10 or 11.

RadiativeTransferFLDCallOnLevel [0] – must currently be 0.

RadiativeTransfer [0] – this must be be 0.

RadiativeCooling [0] – must currently be 0.

Page 92: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

FLD Solver Parameters (separate input file)

The following parameters control various aspects of gFLDSplit:

RadHydroESpectrum [1] – form for radiation spectrum χE (ν):

-1. is monochromatic at hν = 13.6 eV,0. is power law,1. is T = 105 blackbody.

RadHydroChemistry [1] – controls whether to use nHI (1 yes, 0 no)

RadHydroHFraction [1] – controls the fraction of baryonic mattercomprised of Hydrogen (RadHydroHFraction ∈ [0, 1]).

RadHydroModel [1] – determines which model for radiation-mattercoupling we wish to use:

1. Chemistry-dependent model with case B recombination coeff.4. Same as model 1, with an isothermal gas energy.

10. Local thermodynamic equilibrium model (no nHI ).

Page 93: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

FLD Solver Parameters – continued

RadHydroMaxDt [1020] – sets ∆tmax in scaled time units.

RadHydroMinDt [0] – sets ∆tmin in scaled time units.

RadHydroInitDt [1020] – sets the initial ∆tE in scaled time units.

RadHydroDtNorm [2] – sets p in computing the time error estimate.

RadHydroDtRadFac, RadHydroDtGasFac, RadHydroDtChemFac[1020] – the values of τi,tol in computing ∆tE , ∆te and ∆tHI .

RadiationScaling, EnergyCorrectionScaling,ChemistryScaling [1.0] – the scaling factors sE , se and sn.

RadHydroTheta [1.0] – the ∂tE discretization parameter, θ.

RadHydroSolTolerance [10−8] – linear solver tolerance δ.

Page 94: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

FLD Solver Parameters – continued

RadiationBoundaryX0Faces, RadiationBoundaryX1Faces,RadiationBoundaryX2Faces [0 0] – BC types at each face:

0. periodic (must match on both faces in a given direction)1. Dirichlet2. Neumann

EnergyOpacityC0-EnergyOpacityC2 [1, 1, 0] – theopacity-defining constants C0-C2 for the LTE model.

RadHydroMaxMGIters [50] – max number of MG-CG iterations.

RadHydroMGRelaxType [1] - the MG relaxation method:

0. Jacobi1. Weighted Jacobi2. Red/Black Gauss-Seidel (symmetric)3. Red/Black Gauss-Seidel (nonsymmetric)

RadHydroMGPreRelax [1] – number of pre-relaxation MG sweeps.

RadHydroMGPostRelax [1] – number of post-relaxation MG sweeps.

Page 95: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Customization

To set up a new FLD problem:

Allocate a baryon field with FieldType set to RadiationFreq0.

Set η(x, t) by either:

Edit gFLDSplit RadiationSource.src90 orgFLDProblem RadiationSource.src90,

Fill in the baryon field Emissivity0, and edit logic ingFLDSplit Evolve.C or gFLDProblem Evolve.C to use thatfield (emulate logic for StarMakerEmissivityField).

Edit gFLDSplit Initialize.C or gFLDProblem Initialize.C tocall the problem initializer and set BCs.

All other requirements for setting up a new ProblemType in Enzo arelike normal (InitializeNew.C, problem initialization files, etc.).

Page 96: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Iliev Test 5 Example – Dynamic I-front Expansion

[on Triton: /home/enzo-1/IlievEtAl5]

Dynamic ionization test of an initially-neutral hydrogen region:

Box size L = 15 kpc; Run time Tf = 500 Myr.

T = 105 blackbody spectrum, at rate Nγ = 5 · 1048 photon/s.

Initial conditions: n = 10−3 cm−3, T = 100 K, E = 10−30 erg

cm3 .

No available analytical solution, but:

Front transitions from R- to D-type as it reaches Stromgren radius,

rRI = rS

[1− e−tαB (Ti )nH

]1/3

, rDI = rS [1 + (7cst)/(4rS)]4/7

,

Eventually stalls at rf = rS(

2Ti

Te

)2/3

, where Ti and Te are the

temperatures behind and ahead of the I-front.

[Whalen & Norman, ApJS, 2006; Iliev et al., MNRAS, 2009]

Page 97: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Hydrodynamic Radiative Ionization Results

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.5

1

1.5

2

2.5

t/trec

r I/r S

Convergence in I−front Position

163 mesh323 mesh643 mesh1283 mesh

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

t/trec

|r I−r I* |/r

S

Error in I−front Position

163 mesh323 mesh643 mesh

NW:I-front position history

NE:T profile (175 Myr)

SW:rI conv. wrt ∆x

SE:T convergence wrt ∆t

0 0.2 0.4 0.6 0.8 11.5

2

2.5

3

3.5

4

4.5

r/Lbox

log(

T)

Temperature profile, t = 175 Myr

0 0.1 0.2 0.3 0.4 0.510−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

r/Lbox

rela

tive

erro

r

Temperature error profile, t = 175 Myr

5e−42e−41e−45e−52e−51e−5

Page 98: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Shapiro & Giroux [Isothermal, Static Cosmic Ionization]

[in enzo-2.0: run/RadiationTransportFLD/SG q5z4 sp]

Repeat of previous test, but in a cosmologically expanding universe, witha static, isothermal gas, using a monochromatic radiation spectrum.

Four tests:q0 zi Li [kpc] ρb,i [g cm−3] H0 Ωm ΩΛ Ωb

0.5 4 80 1.18e-28 0.5 1.0 0 0.20.05 4 60 2.35e-28 1.0 0.1 0 0.10.5 10 36 1.18e-28 0.5 1.0 0 0.20.05 10 27 2.35e-28 1.0 0.1 0 0.1

Analytical solution given by

rI (t) = rS,i

(λe−τ(t)

∫ a(t)

1

eτ(b)[1− 2q0 + 2q0(1 + zi )/b]−1/2db

)1/3

,

τ(a) = λ [F (a)− F (1)][6q2

0(1 + zi )2]−1

, λ =αBnH,i

H0(1+zi ),

F (a) =[2− 4q0 − 2q0

1+zi

a

] [1− 2q0 + 2q0

1+zi

a

]1/2.

[Shapiro & Giroux, ApJ, 1987]

Page 99: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Cosmological Ionization Results

0 0.5 1 1.5 2 2.5 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

−log[(1+z)/(1+zi)]

r/rs

ri(t)/rs(t) vs redshift

q0=0.5, z0=4q0=0.05, z0=4q0=0.5, z0=10q0=0.05, z0=10

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

−log[(1+z)/(1+zi)]

r/rs

ri(t)/rs(t) vs redshift, zi=4

q0=0.5 (computed)q0=0.5 (analytic)q0=0.05 (computed)q0=0.05 (analytic)

NW:I-front radii vs scaled z

NE:I-front error vs scaled z

SW:I-front radii for zi = 4.

SE:Weak CPU scaling(Nsrc ∝ NCPU)

Kraken @ NICS:O(N log N) scaling

0 0.1 0.2 0.3 0.4 0.5 0.6 0.71

2

3

4

5

6

7

8

9

10

11x 10−3

−log[(1+z)/(1+z0)]

(r true−

r)/r s

Error in ri(t)/rs(t) vs scaled redshift, q0 = 0.5, z0 = 4

163 mesh323 mesh643 mesh

1 8 64 512 4096 327685

10

15

20

25

Cores

Aver

age

wall t

ime

/ ste

p (s

)

Cosmology Weak Scaling (Kraken): Tavg vs Cores

Page 100: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Reionization Simulations (FLD + StarMaker)

[in enzo-2.0: run/RadiationTransportFLD/CosmologyFLD RT]

Geoffrey So has constructed an interface to StarMaker to seed η(x, t):

Requires Enzo configuration with EMISSIVITY enabled,

Adds StarMakerEmissivityField=1 to main parameter file,

The interface fills the Emissivity0 baryon field based on emissionfrom star particles; the FLD modules copy this field into η(x, t).

Utilizes identical startup machinery as typical cosmology runs, viaCosmologySimulationInitialize.C [ProblemType 30], withadditional input file options to enable the FLD solver module.

Page 101: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Reionization Simulations (FLD + StarMaker)

ρ

E

xHI

Page 102: Morning Afternoon Mon. Introduction to Enzo Tue. …hipacc.ucsc.edu/html/HIPACCLectures/Enzo Lectures V Part...Morning Afternoon Mon. Introduction to Enzo Tue. 1. Setting Up and Running

Model Solution Approach Configuration Non-Cosmological Problems Cosmological Problems End

Summary of Current Results

The gFLDSplit and gFLDProblem solver modules implement a grey,field-based, flux-limited diffusion radiation approximation for unigrid runs:

Implicit MG-CG solvers enable scalable solution on many thousandsof cores, independently of the number of ionization sources.

Accurately solves couplings between radiation, ionization and gasenergy, due to implicit formulation and coupled solvers.

Split and implicit formulations allow for tradeoffs betweenrobustness/efficiency and accuracy.

However, this approximation has its shortcomings:

Single radiation field allows full absorption by hydrogen, eventhough higher-frequency radiation should pass through.

Though better than simpler approximations, grey approach cannotaccurately handle multi-species problems (hence H-only restriction).

Currently limited to unigrid Enzo simulations.