Skip to topic | Skip to bottom

Start of topic | Skip to actions

Two-dimensional AMROC Mesh Hierarchies

The following test cases provide representative evolving AMR mesh hierarchies. The data files trace*_all.dat are useful to evaluate different dynamic partitioning schemes for blockstructured mesh hierarchies. The format of trace*_all.dat has been proposed by Johan Steensland, Sandia National Laboratory.

Mach reflection at a wedge

Frequently used test case identical to the mach reflection of a planar Mach 10.0 shock at a 30 degree wedge. Standard AMR calculation. Also used in M. Berger and P. Colella. Local adaptive mesh refinement for shock hydrodynamics. J. Comput. Phys., 82:64-84, 1988. Same initial conditions as in ClawpackEuler2dRamp.

Planar Richtmyer-Meshkow instability

Shock-driven turbulence simulation in which a Mach 10.0 shock wave deposits vorticity along a sinusoidally perturbed material interface (5 symmetric pertubations) in rectangular geometry that is closed except at one end. A reshock due to reflection at the wall perturbes the shocked interface further. This example is motivated by experiments by M. Vetter and R. Stuartevant. Experiments on the Richtmyer-Meshkov instability on a Air/SF6 interface. Shock Waves 4(5):247-252, 1995. LLNL and LANL have an intrinsic interest in problems of this type and are doing numerous similar simulations. Refinement very widespread. The widespread and simple refinement seems to be the reason that this is the only example where BlockWidth=2 results in smaller overall compute time.

Converging/diverging Richtmyer-Meshkov instability

This simulation is intended to study the Richtmyer-Meshkov instability in a sperical setting. A preparatory simulation for the target VTF target simulation Converging Shock. A sperical shock wave of initially Mach 5.0 is initially located at r=1.5 and perturbes a sperical material interface (6 symmetric pertubations) intially located at r=1.0. The spherical shock is initialized with Guderley's analytic solution calculated with Chisnell's approximation. (R.F. Chisnell. An analytic description of converging shock waves. J. Fluid Mech 354:357-375, 1998). The sperical converging shock wave is reflected at the origin around t=0.3 and drives a Richtmyer-Meshkov instability with reshock from the apex. Domain-based partitioning leads to a maximum in load imbalance around t=0.3.

Detonation propgating through a channel with two rectangular bends

This example in a Cartesian multiblock domain was motivated by detonation simulations which typically require relatively deep hierarchies with thin refinement fronts. An example for SAMR in practical engneering simulations, for instance for safety analysis studies. See also Diffraction of a Detonation Wave. For simplicity and reproducibility by other, the example uses one-step chemistry and the detonation wave is initialized at the left end with the analytic solution according to the ZND theory (see for instance R. Deiterding. Parallel adaptive simulation of multi-dimensional detonation structures (31MB PDF). Dissertation. BTU Cottbus, Sep 2003, page 36). In this example the new BR algorithm takes about 5% of the overall computing time.

Cylinders in hypersonic flow

The application of SAMR for a simple exterior flow problems in aerodynamics. A constant Mach 10.0 inflow leads to steady bow shocks over two cylinders that are incorporated into the Cartesian AMR method with the Ghost fluid method. The application of SAMR to a realistic flow problem with complex imbedded boundaries. Same initial conditions as in LoadOnSpheres.

The balance.txt files contain: [step] [phyiscal time] [maximal relative workload] [minimal relative workload] [difference of both]

Because of small programming error maximal and minimal workload in all files reflect the average over time.

The trace*_all.dat files contain: [steps] [max sum work] [sum max work] [avg work] [avg sync] [avg orphan work] [avg move] [max sum work balance] [sum max work balance]

Given a box hierarchy bh the metrics are based on following calulations (by Randolf Rotta):

  • orphans (level l, proc p): intersection(bh[level=l,proc!=p], bh[level=l+1,proc=p])
  • movement (level l, proc p): intersection(bh_old[level=l,proc!=p], bh[level=l,proc=p]) + intersection(bh_old[level=l,proc!=p], orphans[level=l,proc=p]) (what processor p recieves; Note that this does not account for boundaries!)
  • synchronization (level l, proc p): intersection(grow(bh[level=l,proc!=p]), bh[level=l,proc=p]) + intersection(grow(intersection(adjust(bh[level=l+1,proc!=p]), bh[level=l,proc=p])), bh[level=l,proc=p]) + intersection(bh[level=l,proc!=p], bh[level=l+1,proc=p]) (what processor p sends, including orphans)
  • work (level l, proc p): bh[levep=p,proc=p] + orphans[levep=p,proc=p]
  • balance: max/average

RalfDeiterding - 18 May 2005

You are here: Amroc > AmrSimulator

to top

Copyright © 1997-2018 California Institute of Technology.