EbtelInterface¶
- class synthesizAR.interfaces.ebtel.EbtelInterface(base_config, heating_model, ebtel_dir)[source]¶
Bases:
object
Interface to the Enthalpy-Based Thermal Evolution of Loops (EBTEL) model
- Parameters:
Attributes Summary
Methods Summary
calculate_ionization_fraction
(skeleton, ...)Solve the time-dependent ionization balance equation for all loops and all elements
compute_nei
(element, loop)Compute NEI populations for a given element and loop
load_results
(loop)Load EBTEL output for a given loop object.
write_to_hdf5
(data, loop, element_name, savefile)Collect and store all NEI populations in a single HDF5 file
Attributes Documentation
- name = 'EBTEL'¶
Methods Documentation
- static calculate_ionization_fraction(skeleton, emission_model, **kwargs)[source]¶
Solve the time-dependent ionization balance equation for all loops and all elements
This method computes the time dependent ion population fractions for each element in the emission model and each loop in the active region and compiles the results to a single HDF5 file. To do this efficiently, it uses the dask.distributed library to take advantage of multiple processes/cores/machines and compute the population fractions in parallel. It returns an asynchronous
Future
object which holds the state of the submitted tasks.- Parameters:
skeleton (
Skeleton
) –emission_model (
EmissionModel
) –temperature (
Quantity
) –
- Returns:
future (
Future
)
- load_results(loop)[source]¶
Load EBTEL output for a given loop object.
- Parameters:
loop (
synthesizAR.Loop
object) –