wiki:Czarships/Development

Version 38 (modified by Jonathan, 13 years ago) ( diff )

Development Projects Page

For the weekly development meeting page go here.

For information on bugs and development projects consult the ticketing system.


The following table contains a bird's eye view of AstroBEAR 2.0 features

Please note that 'Tested' here does not mean rigorous testing. Also 'Documented' refers to just the most basic information about how to turn-on the feature - not what the feature actually does. Primary Developer/Porter also refers to who either primarily developed the feature, or ported the feature from AstroBEAR 1.0

Feature Designed Implemented Tested Documented Checked In Comments Primary Developer/Porter in AstroBEAR 2.0 Tickets
Elliptic or Parabolic Solvers
Self Gravity X X X X X Does not support Cylindrical Jonathan #150
Thermal Diffusion (iso/ani) X X X Does not support Cylindrical Shule #151
Implicit Magnetic Resistivity X X Does not support Cylindrical Shule #152
Explicit Magnetic Resistivity X X Does not support Cylindrical Shule #152
Viscosity X X Does not support Cylindrical Shule #153
Ambipolar Diffusion
Radiative Diffusion
Radiative Line Transfer
Source Terms/Objects
DM Cooling X X X X X Kris
II Cooling X X X X X Kris
Analytic Cooling X X X X X Kris
Modified DM (Non-equilibrium cooling) #147
Pat Tables (Non-equilibrium cooling) #147
Cylindrical X X X Martin
Point Gravity X X X X Jonathan
Uniform Gravity X X X Jonathan
Hyperbolic Solvers
Integration Schemes
Unsplit CTU w/ CT X X X X Jonathan
Directionally split
Runge-Kutta time integration
Spatial-Temporal Reconstruction Schemes
PPM X X X X X 3rd order w/ Characteristic Tracing Jonathan
PLM X X X X X 2nd order w/ Characteristic Tracing Jonathan
PCM X X X X X 1st order Jonathan
Reconstruction Limiters
Van-Leer MinMod X X X X Jonathan
Multi-Dimensional Limiters X X X X Jonathan
Riemann Solvers
Exact X X X X X Does not support MHD Jonathan
HLL X X X X X Does not support MHD or Isothermal Jonathan
HLLC X X X X X Does not support MHD Jonathan
HLLD X X X X X Does not support Hydro Jonathan
Roe Solver #155
Multi-D Riemann Solvers
Tracer Methods
Fully Coupled X X X X X Jonathan
Lagrangian Advection X X X X X Jonathan
Equations of State
Polytropic X X X X X Jonathan
Isothermal X X X X X Jonathan
SESAME TABLES
Initial/Boundary Condition Objects
Ambients X X X X X Jonathan
Clumps X X X X X Jonathan
Winds X X X X Jonathan
UniformRegions X X X X X Jonathan
SplitRegions X X X X X Jonathan
CollidingFlows X X X X X Jonathan
OutflowObjects
Disks
Jets
Interfaces X X X X X Jonathan
Perturbations X X X X Jonathan
Shapes X X X X X Jonathan
AMR Related Features
Threading X X X X Jonathan #76
Scheduling (Pseudo-Threading) X X X X Jonathan
Optional Load Balancing X X X Jonathan
Refinement Variable Factors X X X X Martin
Prolongation Slope Limiters X X X X X Jonathan
Miscellaneous
SinkParticles X X X X X Not tested with Cylindrical Jonathan #154
Bear2Fix X Jonathan
Runtime Processing X Jonathan
Adding Tracer Fields X X X X Jonathan

Old Astrobear 1.0 issues

Introduction:The goal of this page is for people to suggest ways to improve AstroBEAR including known bugs that need fixing.

* To Do List *

iDivB == 2 (Dia and Woodward) needs 3D support: Look in problem.f90:afterfixup - should be fairly straightforward to implement.

InfoFieldUtils.f90 should be a module?: I believe Kris took a look at this when porting to bluehive?

iScheme==1 only supports ideal gas EOS or isothermal EOS: This involves finding pressure calculations and replacing them with calls to the pressure function

Unifying iScheme==0 and iScheme==1 to use same sections of code for solvers and eigensystems: They use different versions of common solvers, and don't both have access to the same collection of solvers.

Implementing Self-Gravity in AMR with Hypre: Gravity currently only works in a statically-defined refinement scheme; if grids move, unsightly cracking occurs.

Find a way to store "reverse" fixup fluxes: Currently, during each grid's update, it subtracts off the fluxes it eventually will add back in after it receives it's childrens fixup fluxes. This however, leaves the values for q in limbo between the grid's "timesteplevel" and it's "synchlevels". Currently algorithms that need access to updated values for q rely on allocating and updating a second copy of q (qfix). If instead of subtracting off the fluxes from q, each grid fully updated using all of the fluxes while storing the "reverse" fixup fluxes it would have subtracted and then later compare those with the fixupfluxes it receives from it's children, there would be no need for qfix. This in principle would involve less calculations and less memory (although the book-keeping would be a little tricky)

Stress test i_Protect.f90: Maybe run some very strong rarefactions that should create temperatures/pressures below the min value…


* Known Bugs *

iScheme==0,method(4)==2 does not behave properly with source terms and amr: Someone will have to explain to me how this algorithm is supposed to work (jjc)

MinTemp not used consistently: There seems to be confusion with the temperature floor used for pressure protections, for cooling cut-off, (and for an Isothermal sound speed)

iProtect (or some mysterious force) causes occasional unnatural explosions: We've all seen 'em - most recently in Sean's single clump cooling runs at very high densities

Note: See TracWiki for help on using the wiki.