Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restructure/detailed balance foundation (#2770)
* change numberdensity to input * fixed number density * some fixes * removing density * remove atomic and isotope mass * add isotopic_number_density * add opacities package * Update imports in property_collections.py, base.py, test_numba_interface.py, transport_montecarlo_numba_interface.py, conftest.py, formal_integral.py, base.py, and macro_atom.py * Add calculate_transition_probabilities function to util.py in macro_atom package * Add calculate_transition_probabilities function to util.py in macro_atom package * Remove unused imports and update plasma properties * add __init__ to macroatom * blackify tardis * blackified * chore: Update imports and remove unused code * chore: Add PlanckRadiationField and DilutePlanckRadiationField classes * chore: Update imports and remove unused code * removed density * ruff output * cleanup and adding object mode * starting to make radiation_field a thing * switched over to old tau_sobolev calculation * renamed function to indicate numba use * address comments * added dilute planckian radiation field * refactor: Convert species lists to proper format in assemble_plasma function * moved radiation field into plasma. Resulting in some renames * some fixes * black montecarlo * chore: Initialize atom data and simulation state in `initialization.py` * updating the documentation * feat: Add EstimatedRadiationFieldProperties class for Monte Carlo estimators * trying to get rid of j_blues in plasma with MC restructure * completely restructure j_blues. Estimators and all. * cleanup for the restructure * remove parse_input.py * chore: Refactor radiation field configuration parsing and state creation Refactor the `parse_radiation_field_configuration.py` module to improve code organization and readability. Update the import statements to reflect the changes in the module structure. Replace the deprecated `DiluteBlackBodyRadiationFieldState` class with the new `DilutePlanckianRadiationField` class from the `tardis.plasma.radiation_field` module. This change ensures consistency and compatibility with the latest codebase. Also, update the `tardis/simulation/base.py` module to import the `DilutePlanckianRadiationField` class from the `tardis.plasma.radiation_field` module. This change ensures that the correct class is used for creating the radiation field in the simulation. * revert astropy_helpers * remove astropy_helpers * removed test.txt * blackified code * cleanup simulation from merges * fix * remove unused Input * added description * blackiefied codebase * cleanup of branch * blackify code * chore: Refactor atom data parsing and simulation state initialization * restructure logger * working on continuum radfield properties * Refactor continuum processes module structure * Refactor opacities module structure * cleanup from restructure * cleanup * clean up * more cleanup * cleanup standard_plasmas.py * working nlte ionizations * start of assemble plasma cleanup * cleanup standard_plasmas.py * updated tests * some more cleanup * fix benchmarks * cleanup assembly * cleanup assembly * working on the restructure * slowly fixing the assembly module * blackify * reverse the import pygraphviz * fix docstrings * fixed all plasma * slow fixes * Refactor recomb_rate_coeff.py and test_continuum_property_solver.py * fixing assembly * restructure the read in * fixup plasma assemble to be clean * fix shell info widget * fix the widgets * fixing hopefully last bugs * slowly fix up assembly * working on getting the notebook running * Refactor code to address comments * feat: Add RadiativeRatesSolver class for detailed balance rates calculation * feat: Add solve method to RadiativeRatesSolver class * add rates ipynb * remove abundance * feat: Refactor code to improve readability and maintainability * first commit of the rates solver working * fix up detailed balance foundation * further work on including the rates * including the new rates structure * getting the rates ready * feat: Refactor collision_rates module to improve code organization and readability * further work on collisional strengths * further work on the collisional cross sections * further work o nthe collisional rates * feat: Add ThermalCollisionalRateSolver class for calculating thermal collisional rates * further fixes * further testing * refactor: Refactor collisional rates calculation in ThermalCollisionalRateSolver * finished collisional_rates * Fixes collisional rates test so it can run (still fails) * Correct de-excitation rate calculation * Add Chianti upsilon solver * Docstrings and better variable names * Fix rename error * Comparison notebook between Chianti, CMFGEN et al. * Add reference data and config, save notebook with plots * Chianti test beginnings * Working tests * Up to date comparison notebook * Remove irrelevant change * Corrected changes to the plasma solver factory * Partially fixes tests * Slightly dirty fix for electron densities not refreshing properly * Fix NLTE tests by passing electron densities as an option input to the population solvers * Ruff formatting --------- Co-authored-by: Andrew Fullard <[email protected]>
- Loading branch information