Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* created file for opacity solver * Added opacity states for the continuum and macroatom * Updated the opacity state and macroatom state to work with legacy plasma * Added numba initialize from opacity state, added methods to solve opacity state with the solver * moved line2macro_level_upper to the macroatom state * renamed a macroatom variable, added solver to montecarlo solver * ran black * corrected an import * corrected an import * ran black * Added line_interaction_type to the to_numba function, should be reqorked in the future * fixed initialization of opacity state * Updated handling of continuum vs noncontinuum macroblock references * Fixed a typo * refactored the state objects to put them in the correct folders * another typo * added basic docstrings to the continuum state * Added docstrings to macroatom state * Updated docstrings onithe opacity_state file * Added docstrings to the solver * Updated Docstring Style * ran black * changed Opacity solver to take kwargs * ran black * Added class attributes to Opacity Solver * Changed names of the opacity state and numba equivalent * Added test for the opacity solver * added conftest to the opacities module * fixed up tests for the opacity_solver * ran black * Added new test for the numba opacity state * ran black, updated name of the test * Make a function to calculate markov chain indices * Extracted more functions * Moved more calculations over to functions (maybe this should be a separate graph?) and implimented a basic MacroAtomSolver * Forgot an extra arg to the macroatom state * fixed up continuum vs non-continuum initialization and handling of continuum_interaction_species when no continuum_interaction * broke about the base transition probabilities properties into functions * Added the default transition probabilities to the solver * See previous commit, added a comment * Improved code flow for continuum vs non-continuum * See previous commit * See previous commit * removed non-continuum interaction species from non-continuum solver path * broke up the solver to have a common method for both continuum and non-continuum * Made a separate solver for the macroatom when working with the continuum: * cleaned up default solver a bit * ditto * ran black, added personal comments * first attempt to work basic macroatom solver into the opacity solver * Fixed calculate_deactivation_channel_probs missing argument 'B' * Fixed calculate_deactivation_channel_probs missing argument 'B' * Fixed accessign the macro_atom_data from the plasma * Fixed typo * Small fix to make tests pass, need to revisit later * Small fix to make tests pass, need to revisit later * Small fix to make tests pass, need to revisit later * Small fix to make tests pass, need to revisit later * Small fix to make tests pass, need to revisit later * Small fix to make tests pass, need to revisit later * Added switch to swap our the macroatom solver when using the continuum * Made a passthrough when continuum processes are enabled in case we don't want to worry about that part of the restructure * Removed switch to auto-build continuum macrostate using legacy mode * Fixed initialization in default macroatom solver * grab continuum interaction species from the legacy plasma * Added in the rest of the transition probability properties to the continuum macro atom solver. Manually hard-coded and should be changed * Removed old method of doing this * switch back to using legacy solve for continuum in case we don't want to work on that solver * Moved the MacroAtomContinuumSolver to a new file (deleted from this PR) and restrctured code accordingly * moved 'calculate_' functions derived from transition_probabilities.py to a new file (deleted in this PR, will be posted in another) * Moved MacroAtomState Solving out of the plasma state from_legacy_plasma * Added docstrings to MacroAtomSolver * Added docstrings to macro_atom base.py * Fixed up docstrings in macroatom_sovler * Added check to verify macroatom_state is None when line_interaction_type is scatter * removed some comments, fixed up OpacitySolver initialization * Moved handling of the opacity solver over to the simulation base * Fixed typo * Grabbed the line interaction type from the right place (makes me think we should just to a to_numba method here or not require it) * Changed 'non_markov_transition...' to 'transtiition...' * decoupled macro_atom from the opacity solver * Fixed typo * Updated the to_numba tests * UPdated docstrings/removed unused imports
- Loading branch information