synthesizAR interfaces

Extensions for configuring input files for and loading results from hydrodynamic models

Classes

IsothermalInterface([temperature, base_pressure])

Interface to isothermal loop model

IsothermalRTVInterface([heating_params, ...])

This is the same as IsothermalInterface except that the temperature for each loop is computed using the RTV scaling laws, with the heating rate calculated using b_over_l_scaling.

MartensInterface(heating_constant[, ...])

Interface to the Martens scaling laws.

RTVInterface([heating_rate, rtv_kwargs])

Interface to the RTV scaling laws.

EBTEL Interface

Interface to the 0D EBTEL model

Functions

calculate_free_energy(coordinate, field[, ...])

Calculate available free energy of the magnetic field using Eq.

power_law_transform(x, a0, a1, alpha)

Transform uniform distribution to a power-law distribution.

read_xml(input_filename)

For all input variables, find them in the XML tree and return them to a dictionary

run_ebtel(config, ebtel_dir)

Run an ebtel++ simulation :param config: Dictionary of configuration options :type config: dict :param ebtel_dir: Path to directory containing ebtel++ source code.

write_xml(output_dict, output_filename)

Print dictionary to XML file

Classes

EbtelInterface(base_config, heating_model, ...)

Interface to the Enthalpy-Based Thermal Evolution of Loops (EBTEL) model

PowerLawScaledWaitingTimes(heating_options)

Heating rates chosen from power-law distribution but waiting times are dependent on heating rate for each event as determined by a scaling factor beta.

PowerLawUnscaledWaitingTimes(heating_options)

Heating rates chosen from power-law distribution but waiting times are not dependent on heating rate for each event.

RandomNanoflares(duration, stress)

Add a single nanoflare at a random time during the simulation period

UniformHeating(heating_options)

A model for uniform, equally-spaced heating pulses.

Class Inheritance Diagram

digraph inheritancecb506c1a01 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "EbtelInterface" [URL="../api/synthesizAR.interfaces.ebtel.EbtelInterface.html#synthesizAR.interfaces.ebtel.EbtelInterface",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Interface to the Enthalpy-Based Thermal Evolution of Loops (EBTEL) model"]; "HeatingBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for all heating models."]; "PowerLawBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for power-law models."]; "HeatingBase" -> "PowerLawBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PowerLawScaledWaitingTimes" [URL="../api/synthesizAR.interfaces.ebtel.PowerLawScaledWaitingTimes.html#synthesizAR.interfaces.ebtel.PowerLawScaledWaitingTimes",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Heating rates chosen from power-law distribution but waiting times are dependent"]; "PowerLawBase" -> "PowerLawScaledWaitingTimes" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PowerLawUnscaledWaitingTimes" [URL="../api/synthesizAR.interfaces.ebtel.PowerLawUnscaledWaitingTimes.html#synthesizAR.interfaces.ebtel.PowerLawUnscaledWaitingTimes",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Heating rates chosen from power-law distribution but waiting times are not"]; "PowerLawBase" -> "PowerLawUnscaledWaitingTimes" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RandomNanoflares" [URL="../api/synthesizAR.interfaces.ebtel.RandomNanoflares.html#synthesizAR.interfaces.ebtel.RandomNanoflares",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Add a single nanoflare at a random time during the simulation period"]; "UniformHeating" [URL="../api/synthesizAR.interfaces.ebtel.UniformHeating.html#synthesizAR.interfaces.ebtel.UniformHeating",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A model for uniform, equally-spaced heating pulses. Accessed through the"]; "HeatingBase" -> "UniformHeating" [arrowsize=0.5,style="setlinewidth(0.5)"]; }