Version 26 (modified by 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 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.
Feature | Designed | Implemented | Tested | Use Documentated | Checked In | Comments |
---|---|---|---|---|---|---|
Elliptic or Parabolic Solvers | ||||||
Self Gravity | X | X | X | X | X | Does not support Cylindrical |
Thermal Diffusion (iso/ani) | X | X | X | Does not support Cylindrical | ||
Implicit Magnetic Resistivity | X | X | Does not support Cylindrical | |||
Explicit Magnetic Resistivity | X | X | Does not support Cylindrical | |||
Viscosity | X | X | Does not support Cylindrical | |||
Source Terms/Objects | ||||||
DM Cooling | X | X | X | X | X | |
II Cooling | X | X | X | X | X | |
Analytic Cooling | X | X | X | X | X | |
Non-equilibrium cooling | X | |||||
Cylindrical | X | X | X | X | ||
Point Gravity | X | X | X | X | ||
Uniform Gravity | X | X | X | |||
Hyperbolic Solvers | ||||||
Integration Schemes | ||||||
Unsplit CTU w/ CT | X | X | X | X | ||
Directionally split | ||||||
Runge-Kutta time integration | ||||||
Reconstruction Schemes | ||||||
PPM | X | X | X | X | X | |
PLM | X | X | X | X | X | |
1D Riemann Solvers | ||||||
Exact | X | X | X | X | X | Does not support MHD |
HLL | X | X | X | X | X | Does not support MHD or Isothermal |
HLLC | X | X | X | X | X | Does not support MHD |
HLLD | X | X | X | X | X | Does not support Hydro |
Roe Solver | ||||||
Tracer Methods | ||||||
Fully Coupled | X | X | X | X | X | |
Lagrangian Advection | X | X | X | X | X | |
Equations of State | ||||||
Ideal | X | X | X | X | X | |
Isothermal | X | X | X | X | X | |
SESAME TABLES | ||||||
Initial/Boundary Condition Objects | ||||||
Ambients | X | X | X | X | X | |
Clumps | X | X | X | X | X | |
Winds | X | X | X | X | ||
UniformRegions | X | X | X | X | X | |
SplitRegions | X | X | X | X | X | |
CollidingFlows | X | X | X | X | X | |
Disks | ||||||
Jets | ||||||
Interfaces | X | X | X | X | X | |
Perturbations | X | X | X | X | ||
Shapes | X | X | X | X | X | |
AMR Related Features | ||||||
Threading | X | X | X | |||
Scheduling (Pseudo-Threading) | X | X | X | X | ||
Optional Load Balancing | X | X | X | |||
Refinement Variable Factors | X | X | X | X | ||
Prolongation Slope Limiters | X | X | X | X | X | |
Miscellaneous | ||||||
SinkParticles | X | X | X | X | X | |
Bear2Fix | X | |||||
Runtime Processing | X |
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