FLASH and Self Gravity March 23, 2005 - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

FLASH and Self Gravity March 23, 2005

Description:

at The University of Chicago. The Center for Astrophysical Thermonuclear Flashes ... Externally imposed fields. Constant field (g = constant) Point mass (g = -GMr/r 3) ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 16
Provided by: AndreaMa3
Category:

less

Transcript and Presenter's Notes

Title: FLASH and Self Gravity March 23, 2005


1
FLASH and Self GravityMarch 23, 2005
  • Anshu Dubey

2
Gravity Algorithms in FLASH
  • Externally imposed fields
  • Constant field (g constant)
  • Point mass (g -GMr/r 3)
  • Plane-parallel (g -GMx/r 3)
  • Self-gravity Poisson equation
  • Multipole
  • Nearly spherically symmetric problems
  • Multigrid
  • Arbitrary source fields

3
The Multi-pole Solver
  • Isolated boundary conditions
  • Supported geometries
  • 3-D cartesian
  • 2-D cylindrical
  • 1 and 2-D spherical
  • Compute moment integrals for a given source field
  • Use moment integrals to calculate the potential
  • Source and potential are zone averaged with
    varying zone sizes
  • Refinement criterion to maximally refine the
    block containing the center of mass.

4
The Multipole Solver Future plans
  • The algorithm is O(n2) with number of poles
  • Use of a monopole get inaccurate with loss in
    symmetry.
  • Increasing the number of poles makes the
    algorithm too expensive
  • Investigating FMM implementations
  • Collaboration with tree-code groups

5
(No Transcript)
6
The Multigrid Algorithm
7
AMR Multigrid
8
Multigrid Steps
  • Compute residual of the source equation on all
    leaf blocks
  • Residual operation uses flux conservation at
    fine-coarse boundaries
  • V-cycle
  • a) Zero the correction on level lmax.
  • b) For i lmax down to 2
  • ii. Zero correction on level i-1.
  • iii. Relax correction equation on level i.
  • iv. Add correction to the solution on level i.
  • v. Compute residual of the correction equation
    on all blocks (leaf or not) on level i. Restrict
    this residual to level i-1.
  • vi. Compute the residual of the source equation
    on all leaf blocks of level i-1.
  • c) Solve correction equation on level 1.
  • d) Correct the solution on this level.

9
(No Transcript)
10
Gravity in the FLASH Source Tree
11
Methods supplied by Gravity module
  • Usage
  • use Gravity, ONLY ltlist of gravity methods to
    importgt
  • Types of sub-modules in FLASH
  • - Compute acceleration natively
  • - Compute potential, then difference to get
    acceleration
  • Methods generic to all gravity sub-modules (not
    called by user modules)
  • - InitGravity()
  • Initialize the gravity module (called by
    init_flash())
  • - GravityTimestep(dt_grav, dt_minloc, block)
  • Compute any timestep restrictions imposed by
    gravity module (called by timestep())

12
Methods supplied by Gravity F90 module
  • Methods oriented toward computing gravitational
    acceleration
  • No mesh variables generically defined declared
    by physics FLASH modules
  • - GravAccelAllBlocks(pot_var, acc_var, component)
  • Compute a component of the acceleration on all
    blocks.
  • - GravAccelOneBlock(pot_var, acc_var, component,
    block)
  • Compute a component of the acceleration on a
    single block.
  • - GravAccelOneLevel(pot_var, acc_var, component,
    level)
  • Compute a component of the acceleration on all
    blocks at a single level of refinement.
  • - GravAccelOneRow(j, k, direction, block,
    pot_var, g, n)
  • Compute a component of the acceleration along a
    single row of a single block return as an array
    (g).
  • - GravAccelOneZone(x, y, z, g)
  • Compute all components of the acceleration at a
    single position in space.

13
Methods supplied by Gravity module
  • Methods oriented toward computing gravitational
    potential
  • Generically defined mesh variables gpot, gpol
  • - GravPotentialAllBlocks(pot_var)
  • Compute potential on the entire mesh.
  • - GravPotentialOneBlock(pot_var, block)
  • (Planned) return potential on a single block.
  • - GravPotentialOneLevel(pot_var, level)
  • (Planned) return potential on all blocks at a
    given level of refinement.

14
Multigrid vs. Multipole
15
Multigrid Future
  • The multigrid in FLASH is known to be slow
  • FLASH 2.5 release has somewhat faster multigrid.
  • In house investigation of better multigrid
    algorithm/implementation

16
  • Questions and discussion
Write a Comment
User Comments (0)
About PowerShow.com