Skip to topic | Skip to bottom
Home

Start of topic | Skip to actions

AMROC - Adaptive Mesh Refinement in Object-oriented C++

AMROC is the fluid solver framework within the VTF software. The framework supplies a generic object-oriented implementation in C++ of the special version of the blockstructured adaptive mesh refinement algorithm [1][2]. This special algorithm is designed especially as a general framework for the adaptive solution of hyperbolic partial differential equations of the form:

u_t+f(u)_x+g(u)_y+h(u)_z=\varphi(u)

Due to its limitation to blockstructured grids AMROC is restricted to relatively simple computational domains, but it allows extraordinarily highly resolved computations. An efficient parallelization strategy for distributed memory machines has been implemented and the codes can be run on all high-performance computers that provide the MPI-library.

AMROC extends the capabilities of an arbitrary simple solution-routine for a conservative time-explicit finite-volume scheme formulated on a single uniform grid or patch to a complex multi-level simulation code. The only requirement for a seamless integration is that the numerical solution-routine returns the numerical fluxes back to the framework. The fluxes must be known (temporarily) to the framework to allow a conservative flux-correction in grid-cells that abut finer subgrids.

Available patch solvers:

The framework has recently been supplemented with a generic implementation of the ghost-fluid method that allows the consideration of complex embedded boundaries in an arbitrary Cartesian method. This boundary treatment leads to a diffused numerical representation of the boundary conditions throughout the original Cartesian finite volume scheme.

The boundary geometry can be prescribed directly as a distance function or through a surface triangulation. A description how to generate surface triangulations of realistic geometries using with Sandia's Cubit is available.

AMROC's hierarchical data structures implement GridFunction [bad link?] and GridHierarchy [bad link?] classes that are much more general and allow a more efficient adoption than those of the original DAGH package. This generality required a complete rewriting of parts of the codes. Various useful features like different refinement factors on each level, multiple periodic boundary conditions, a restart from memory for automatic time-step algorithms based on the CFL-condition and a restart feature for a different number of computing nodes have been added additionally.

For scalability studies and for the evaluation of paritioning strategies, representative two-dimensional mesh hierarchy data files from AMROC are also available.

[1] M. Berger and J. Oliger. Adaptive mesh refinement for hyperbolic partial differential equations. J. Comput. Phys., 53:484-512, 1984.

[2] M. Berger and P. Colella. Local adaptive mesh refinement for shock hydrodynamics. J. Comput. Phys., 82:64-84, 1988.

-- RalfDeiterding

You are here: Amroc > WebHome

to top

Copyright © 1997-2017 California Institute of Technology.