wiki:Czarships/PhaseThree

Version 1 (modified by Jonathan, 11 years ago) ( diff )

And here is a list of other projects/improvements for the code

From Phase III ideas

  • Create a standard interface for module objects (clumps, winds, backgrounds, etc…)
     CreateObject
     InitObject
     FindObject
     DeleteObject
     ObjectGridInit
     ObjectBeforeStep
     ObjectSource
     ObjectSetErrFlags
    
  • Create ErrFlag modules for refining on jeans length, cooling length, field gradients, etc… so that any problem module can easily use these.
  • Turn initambient into a background type object module that can be called from the problem module. That way users can calculate background densities within their problem module etc… (and we can get rid of modules.data)
  • Allow module control to keep track of the order that objects are created - or assign each object a creation number - so that objects that overlap - will be called in a user specified order… (Winds and colliding flows are both used by the MolecularCloudFormation module - but it requires windbeforestep to be called before collidingflowbeforestep for example)
  • Create a web interface where users can create objects - which then get passed to a series of scripts which create a problem module - and start the code at a low resolution to output the first frame - which then gets processed by bear2fix to spit back an image - so the user can see their problem setup on the fly.
  • Create processing modules that can be called during the run or after the run completes - but that are built into AstroBEAR. This way they can use the same IO routines and can easily be run in parallel - on the same system the simulation is run on. This will avoid massive data storage and transportation.
  • Preallocate sweep buffers for the entire level - instead of individually for each grid?
  • Reorder sweep direction to operate on contiguous memory blocks
  • Move all protection routines/pressure calculations/conversion between conservative and primitive variables/ to the EOS module (instead of the sweep module and the riemann_solvers module).
  • Clean up the sweep module so that different stages of the update are separated into different subroutines…
  • Add other choices for update schemes
  • Add pencil method for directionally split schemes? Or create different stencil sets for different combinations of directional ordering (x-y-z, y-z-x, etc…)
  • Update limiter method to reduce mbc (Colella and Sekora 2008)
  • Convert variables that are constant for each run into Parameters that are set by a configure script at build time… (nDim, lMHD, MaintainAuxArrays, iSolver, iEOS, etc…)
Note: See TracWiki for help on using the wiki.