models.model.Model#

class Model(history_path='', directory='', folder='', clump_tau_grid_file='clump_tau_LineCenter.dat', clump_tb_grid_file='clump_Tmb_LineCenter.dat', clump_taufuv_grid_file='RhoMassAFUV.dat', clump_column_density_file='clumpMeanCols.dat', clump_temperature_file='clumpTemperatures_filled.dat', interclump_tau_grid_file='interclumpTauLineCenter.dat', interclump_dust_tau_grid_file='interclumpDustTau.dat', interclump_tb_grid_file='interclumpTmbLineCenter.dat', interclump_dust_tb_grid_file='interclumpDustSED.dat', interclump_taufuv_grid_file='interclumpTauFUV.dat', interclump_column_density_file='interclumpMeanCols.dat', interclump_temperature_file='interclumpTemperatures_filled.dat', h2_surface_density_file='h2_surface-density.dat', hi_surface_density_file='hi_surface-density.dat', h2_scale_height_file='h2_scale-height.dat', hi_scale_height_file='hi_scale-height.dat', h_number_density_file='h_number-density.dat', fuv_file='galactic_FUV_complete.dat', l_range=(912, 2066), average_fuv=False, scale_gc=1.0, mhi_gc=1.0, mh2_gc=1.0, r_gc=4400, like_clumps=False, all_full=False, velocity_file='rot_milki2018_14.dat', disp_core=None, r_core=4400, disp_gmc=None, x=0, y=0, z=0, model_type='', resolution=1000, abundances=['ELECTR', 'H', 'H2', 'H+'], transitions='all', dust='molecular', velocity_range=(), velocity_number=0, clump_mass_range=((0, 2), -2), clump_mass_number=(3, 1), clump_n_max=(1, 100), ensemble_mass_factor=(1, 1), interclump_idx=(False, True), interclump_wnm_idx=(False, False), interclump_hi_ratio=1, interclump_wnm_ratio=0.2, interclump_wnm_log_fuv=None, interclump_f_fuv_wnm=10000.0, interclump_fillingfactor=None, interclump_density=1911, interclump_log_fuv=None, clump_log_fuv=None, hi_mass_factor=1, h2_mass_factor=1, fuv_factor=1, density_factor=1, global_uv=10, r_cmz=0, zeta_cmz=1e-14, zeta_sol=2e-16, new_grid=True, suggested_calc=True, dilled=False, timed=False, verbose=False, debug=False)[source]#

Bases: object

This is the highest class in the hierarchy of the kosmatau3d simulation. It contains all of the information needed to properly model a PDR.

The Model() class, which is used to create large three-dimensional PDR models and as well as a synthetic observation. For large models, it is best to stream the voxel data to the hard disk and avoid keeping the data in memory.

Methods

calculateModel

Compute voxel the emissivity and absorption spectra for each voxel.

getGrid

Return voxelGrid instance of the model.

getIntensityMap

Return synthetic intensity.

getOrientation

Return orientation of model.

getShape

Return Shape instance of model.

getSpecies

Return list of species names.

getSpeciesNames

Same as getSpecies().

getType

Return type of model.

hdu_header

plotModel

Outdated method to plot model information.

printIntensityMap

Print synthetic intensity data to screen.

writeEmission

Write voxel spectra to hard disk.

calculateModel(**kwargs)[source]#

Compute voxel the emissivity and absorption spectra for each voxel.

getGrid()[source]#

Return voxelGrid instance of the model. It contains all of the information regarding voxels used in the model.

getIntensityMap()[source]#

Return synthetic intensity. This is only useful when keeping the model in memory.

getOrientation()[source]#

Return orientation of model. This is important for integrating the radiative transfer equation.

getShape()[source]#

Return Shape instance of model.

This will soon be moved from a class to a subpackage…

getSpecies()[source]#

Return list of species names.

getSpeciesNames()[source]#

Same as getSpecies().

getType()[source]#

Return type of model. Currently only the ‘disk’ models are working.

plotModel(plot='total intensity')[source]#

Outdated method to plot model information. Might be useful when keeping model data in memory.

printIntensityMap(index=None)[source]#

Print synthetic intensity data to screen.

writeEmission()[source]#

Write voxel spectra to hard disk. This is only useful when keeping the model in memory.