wiki:DeveloperGuide

Version 42 (modified by Jonathan, 12 years ago) ( diff )

AstroBEAR 2.0 Developer's Guide

Chapter 1. The structure of AstroBEAR

An introduction to AstroBEAR 2.0

Explanation of how modules are organized

Using Doxygen to view and create documentation within AstroBEAR

Chapter 2. The Adaptive Mesh Refinement Engine in AstroBEAR

Some basic AMR terminology and concepts

The AMR implementation in AstroBEAR

Chapter 3. Communication in AstroBEAR

How Scrambler schedules and performs communication

Chapter 4. Parallelism

How Scrambler manages the distributed tree

How Scrambler manages the distributed control

How Scrambler balances the work load

How Scrambler handles threading

How Scrambler handles Scheduling for PseudoThreading

Chapter 5. Objects in AstroBEAR

Objects in AstroBear

Tracers in Objects

Initial Condition Objects

Boundary Condition Objects

Boundary Condition Objects

Chapter 6. The Hyperbolic Solvers

The Sweep Scheme for Unsplit CTU

The Muscl Scheme for Split advances

A brief overview of the numerical integration options in AstroBEAR How magnetic fields are handled

Information about additional dissipation mechanisms useful for higher order schemes

Chapter 7. The Elliptic/Parabolic Solvers

Discretizing elliptic equations on an AMR mesh

Hypre Explained

A code-centric presentation on Hypre

Page describing algorithm for implementing self gravity

The thermal conduction solver

Chapter 8. Source Terms in AstroBEAR

SourceTerms The main page on how source terms are implemented in AstroBEAR (under construction)

A discussion on methods of handling (simple) cooling functions.

Description of the non-equilibrium cooling functions.

Chapter 9. Lagrangian Particles in AstroBEAR

Information about AstroBEAR's particle algorithm.

Chapter 10. IO

Chapter 11. Special Topics

Performance issues related to Scrambler

How processors spend their time

Implementation of shell algorithm

Implementation of scan algorithm

Managing ghost cells

Computational Stencils

Super Gridding

Chapter 12. Legacy documentation

Though much of it is legacy (last update: 09/2007), Brandon's collection of pages on AstroBEAR (nee Bearclaw) still has good information and should be updated and dispersed through the wiki.

The original doxygen-like effort. All hand crafted from the finest ones and zeroes.


AstroBEAR is an Adaptive Mesh Refinement (AMR) distributed-memory parallel Eulerian code written in FORTRAN 90 which supports hydro- or magnetohydrodynamics in two or three dimensions. AstroBEAR is derived from the BEARCLAW AMR package written by Sorin Mitran. Users write their own project modules in AstroBEAR by specifying initial conditions and any continual processes, such as an inflow condition. There exists a variety of modules already built; users are encouraged to use these as a starting point for their own module(s).

Once a module has been written and the executable is ready to be run, users specify simulation parameters—-such as the resolution, how many levels of AMR are desired, source term physics such as radiative cooling, and so forth—-in the data files. The code is most commonly run on Beowulf-type computing clusters, though it has been successfully ported to the BlueGene/P architecture.

AstroBEAR Code Topics

  • [ProjectStatistics] — A table to collect revision/module/machine information from group members


BackLinks

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.