Procedures

ProcedureLocationProcedure TypeDescription
add_bmatrix_termsmod_matrix_managerInterface
add_conduction_matrix_termsmod_matrix_managerInterface
add_conduction_matrix_terms_bfieldsmod_conduction_matrixSubroutine
add_elementmod_matrix_structureSubroutine

Adds a given element at a certain (row, column) position to the matrix datastructure. Elements that are zero are not added, sanity checks are done on the row and column indices.

add_flow_matrix_termsmod_matrix_managerInterface
add_hall_bmatrix_termsmod_matrix_managerInterface
add_hall_matrix_termsmod_matrix_managerInterface
add_heatloss_matrix_termsmod_matrix_managerInterface
add_natural_conduction_termssmod_natural_boundariesInterface
add_natural_conduction_terms_bfieldsmod_natural_bounds_conductionSubroutine
add_natural_flow_termssmod_natural_boundariesInterface
add_natural_hall_Btermssmod_natural_boundariesInterface
add_natural_hall_termssmod_natural_boundariesInterface
add_natural_regular_termssmod_natural_boundariesInterface
add_natural_resistive_termssmod_natural_boundariesInterface
add_natural_viscosity_termssmod_natural_boundariesInterface
add_nodemod_matrix_elementsSubroutine
add_nodemod_matrix_rowSubroutine

Adds a new node to the linked list with a given column index and value.

add_regular_matrix_termsmod_matrix_managerInterface
add_resistive_matrix_termsmod_matrix_managerInterface
add_to_node_elementmod_matrix_nodeSubroutine

Adds a given element to the node element, does type-checking of the polymorphic element given. Allowed types are complex, real, integer.

add_to_quadblockmod_build_quadblockSubroutine

This routine builds the quadblock at one particular grid point in the Gaussian grid and for one particular Gaussian weight. For a 2x2 block at index in the top-left block we have as index of the bottom-right corner of the 2x2 block. The other corners are then filled by subtracting one from an index.

add_viscosity_matrix_termsmod_matrix_managerInterface
adiabatic_homo_eqmod_equilibriumInterface

interface to the different equilibrium submodules

append_nodemod_matrix_rowSubroutine

Subroutine to append a new node to an already existing list of nodes. A new node is created, appended, and the tail is updated.

apply_boundary_conditionsmod_boundary_managerSubroutine
apply_essential_boundaries_leftmod_boundary_managerInterface
apply_essential_boundaries_rightmod_boundary_managerInterface
apply_natural_boundaries_leftmod_boundary_managerInterface
apply_natural_boundaries_rightmod_boundary_managerInterface
are_setmod_unitsFunction
arnoldimod_solversInterface

interface to the different solution methods implemented in submodules

array_to_bandedmod_transform_matrixInterface
array_to_complex_bandedmod_transform_matrixSubroutine

Converts a given array to a banded datastructure.

array_to_complex_hermitian_bandedmod_transform_matrixSubroutine

Converts a given array to a Hermitian banded datastructure.

array_to_hermitian_bandedmod_transform_matrixInterface
array_to_matrixmod_transform_matrixInterface
assemblemod_eigenfunctionsSubroutine
assemblemod_base_efsSubroutine
assemblemod_derived_efsSubroutine
assemble_eigenfunctionmod_ef_assemblyFunction
assertmod_assertSubroutine

Utility function used by assert.fpp's assert macro.

Read more…
ax_valuesmod_solar_atmosphereFunction
B0smod_equil_resistive_tearingFunction
B0smod_equil_harris_sheetFunction
B0smod_equil_resistive_tearing_flowFunction
B0smod_equil_resistive_homoFunction
B01_and_cylindricalmod_inspectionsFunction
B02mod_solar_atmosphereFunction
B02smod_equil_resonant_absorptionFunction
B02smod_equil_gold_hoyleFunction
B02smod_equil_resistive_tearingFunction
B02smod_equil_tc_pinchFunction
B02smod_equil_suydam_clusterFunction
B02smod_equil_harris_sheetFunction
B02smod_equil_internal_kink_instabilityFunction
B02smod_equil_discrete_alfvenFunction
B02smod_equil_adiabatic_homoFunction
B02smod_equil_kelvin_helmholtz_cdFunction
B02smod_equil_flow_driven_instabilitiesFunction
B02smod_equil_MRIFunction
B02smod_equil_resistive_tearing_flowFunction
B02smod_equil_rotating_plasma_cylinderFunction
B02smod_equil_constant_currentFunction
B02smod_equil_interchange_modesFunction
B02smod_equil_resistive_homoFunction
B02smod_equil_magnetothermal_instabilitiesFunction
B02smod_equil_isothermal_atmosphereFunction
B03mod_solar_atmosphereFunction
B03smod_equil_RTI_theta_pinchFunction
B03smod_equil_resonant_absorptionFunction
B03smod_equil_gold_hoyleFunction
B03smod_equil_photospheric_flux_tubeFunction
B03smod_equil_resistive_tearingFunction
B03smod_equil_suydam_clusterFunction
B03smod_equil_harris_sheetFunction
B03smod_equil_internal_kink_instabilityFunction
B03smod_equil_discrete_alfvenFunction
B03smod_equil_adiabatic_homoFunction
B03smod_equil_kelvin_helmholtz_cdFunction
B03smod_equil_coronal_flux_tubeFunction
B03smod_equil_flow_driven_instabilitiesFunction
B03smod_equil_MRIFunction
B03smod_user_definedFunction
B03smod_equil_resistive_tearing_flowFunction
B03smod_equil_rotating_plasma_cylinderFunction
B03smod_equil_constant_currentFunction
B03smod_equil_interchange_modesFunction
B03smod_equil_resistive_homoFunction
B03smod_equil_isothermal_atmosphereFunction
B03smod_equil_gravito_mhdFunction
banded_matrix_x_vectormod_banded_operationsFunction

Calculates the matrix-vector product of a general complex banded matrix and a complex vector. Uses the level 2 BLAS routine zgbmv.

banded_to_arraymod_transform_matrixInterface
banded_to_complex_arraymod_transform_matrixFunction

Converts a banded datastructure to a full complex array.

build_matricesmod_matrix_managerSubroutine

Read more…
bx_valuesmod_solar_atmosphereFunction
can_calculate_pp_quantitiesmod_derived_ef_namesFunction
can_get_B1mod_derived_ef_namesFunction
can_get_B2mod_derived_ef_namesFunction
can_get_B3mod_derived_ef_namesFunction
can_get_B_ppmod_derived_ef_namesFunction
can_get_curl_B_imod_derived_ef_namesFunction
can_get_curl_B_ppmod_derived_ef_namesFunction
can_get_curl_v_1mod_derived_ef_namesFunction
can_get_curl_v_2mod_derived_ef_namesFunction
can_get_curl_v_3mod_derived_ef_namesFunction
can_get_curl_v_ppmod_derived_ef_namesFunction
can_get_div_Bmod_derived_ef_namesFunction
can_get_div_vmod_derived_ef_namesFunction
can_get_entropymod_derived_ef_namesFunction
can_get_v_ppmod_derived_ef_namesFunction
cast_node_element_to_complexmod_matrix_elementsFunction
character_array_tostringmod_loggingFunction
check_bfieldmod_settingsSubroutine
check_eigenfunction_subset_paramsmod_inputSubroutine

Called when the eigenfunction subset selection is enabled, this checks if the global variables are properly set.

check_if_thermal_balance_needs_enforcingmod_heatlossSubroutine
cleanuplegolasSubroutine

Deallocates all main variables, then calls the cleanup routines of all relevant subroutines to do the same thing.

complex_is_equalmod_check_valuesFunction

Equality check between complex values

complex_is_zeromod_check_valuesFunction

Checks if complex values are zero

complex_tostringmod_loggingFunction
constant_current_eqmod_equilibriumInterface

interface to the different equilibrium submodules

contains_NaNmod_inspectionsFunction
contains_NaN_complexmod_check_valuesFunction

Checks a given complex value/array/matrix for NaN.

contains_NaN_realmod_check_valuesFunction

Checks a given real value/array/matrix for NaN.

contains_negativemod_inspectionsFunction
continuity_conditionmod_inspectionsFunction
copymod_matrix_structureFunction

Dedicated function to copy a matrix structure into a new matrix structure. The datastructure contains pointers, such that simply setting matrix1 = matrix2 may result in pointer target losses (and wrong results).

Read more…
coronal_flux_tube_eqmod_equilibriumInterface

interface to the different equilibrium submodules

couette_flow_eqmod_equilibriumInterface

interface to the different equilibrium submodules

cputicmod_timingSubroutine

Subroutine to start a CPU timer.

Read more…
cputocmod_timingSubroutine

Subroutine to end a CPU timer.

Read more…
create_and_set_derived_state_vectormod_derived_ef_namesFunction
create_atmosphere_curvesmod_solar_atmosphereSubroutine

Interpolates the atmospheric tables to the desired resolution. The temperature derivative is obtained numerically.

create_datfilemod_outputSubroutine
create_first_nodemod_matrix_rowSubroutine

Subroutine to add the first node to the linked list. Allocates a new node and sets both the head and tail to this node.

cubic_factorsmod_spline_functionsSubroutine

Calculates the cubic basis functions.

cubic_factors_derivmod_spline_functionsSubroutine

@brief Calculates the derivatives of the cubic basis functions.

cubic_factors_deriv2mod_spline_functionsSubroutine

@brief Calculates the second derivatives of the cubic basis functions.

dB02mod_solar_atmosphereFunction
dB02smod_equil_gold_hoyleFunction
dB02smod_equil_resistive_tearingFunction
dB02smod_equil_tc_pinchFunction
dB02smod_equil_suydam_clusterFunction
dB02smod_equil_harris_sheetFunction
dB02smod_equil_internal_kink_instabilityFunction
dB02smod_equil_discrete_alfvenFunction
dB02smod_equil_kelvin_helmholtz_cdFunction
dB02smod_equil_flow_driven_instabilitiesFunction
dB02smod_equil_MRIFunction
dB02smod_equil_resistive_tearing_flowFunction
dB02smod_equil_rotating_plasma_cylinderFunction
dB02smod_equil_constant_currentFunction
dB02smod_equil_interchange_modesFunction
dB02smod_equil_magnetothermal_instabilitiesFunction
dB03mod_solar_atmosphereFunction
dB03smod_equil_RTI_theta_pinchFunction
dB03smod_equil_gold_hoyleFunction
dB03smod_equil_resistive_tearingFunction
dB03smod_equil_suydam_clusterFunction
dB03smod_equil_harris_sheetFunction
dB03smod_equil_internal_kink_instabilityFunction
dB03smod_equil_flow_driven_instabilitiesFunction
dB03smod_equil_MRIFunction
dB03smod_equil_resistive_tearing_flowFunction
dB03smod_equil_interchange_modesFunction
dB03smod_equil_gravito_mhdFunction
ddB02smod_equil_resistive_tearingFunction
ddB02smod_equil_tc_pinchFunction
ddB02smod_equil_harris_sheetFunction
ddB02smod_equil_resistive_tearing_flowFunction
ddB03smod_equil_resistive_tearingFunction
ddB03smod_equil_harris_sheetFunction
ddB03smod_equil_resistive_tearing_flowFunction
ddv02smod_equil_taylor_couetteFunction
ddv02smod_equil_tc_pinchFunction
ddv02smod_user_definedFunction
deallocate_cooling_curvesmod_cooling_curvesSubroutine
deallocate_derived_ef_module_variablesmod_derived_efsSubroutine
debugmod_loggingSubroutine
deletemod_gridSubroutine
deletemod_backgroundSubroutine
deletemod_bg_velocitySubroutine
deletemod_bg_magneticSubroutine
deletemod_bg_densitySubroutine
deletemod_bg_temperatureSubroutine
deletemod_thermal_conductionSubroutine
deletemod_hallSubroutine
deletemod_heatingSubroutine
deletemod_heatlossSubroutine
deletemod_resistivitySubroutine
deletemod_radiative_coolingSubroutine
deletemod_gravitySubroutine
deletemod_physicsSubroutine
deletemod_matrix_element_nodeSubroutine
deletemod_matrix_elementsSubroutine
deletemod_matrix_nodeSubroutine

Destructor, deallocates the node attributes.

deletemod_eigenfunctionsSubroutine
deletemod_base_efsSubroutine
deletemod_derived_efsSubroutine
deletemod_settingsSubroutine
deletemod_io_settingsSubroutine
deletemod_equilibrium_settingsSubroutine
deletemod_solver_settingsSubroutine
deletemod_grid_settingsSubroutine
delete_matrixmod_matrix_structureSubroutine

Deallocates the matrix datastructure, nullifies all corresponding pointers and deallocates the various nodes in the rows.

delete_node_from_rowmod_matrix_rowSubroutine

Deletes a given node from the current row.

delete_rowmod_matrix_rowSubroutine

Deletes a given linked list row by recursively iterating over all nodes. Nullifies the pointers and deallocates the elements.

derived_ef_funcmod_derived_efsInterface
derived_state_vector_is_setmod_settingsFunction
destroymod_banded_matrixSubroutine

Destructor, deallocates the datastructure.

destroymod_banded_matrix_hermitianSubroutine

Destructor, deallocates the datastructure.

destroymod_arpack_typeSubroutine

Destructor, deallocates variables.

dfxsmod_equil_RTI_theta_pinchFunction
dimensions_are_validmod_banded_matrixFunction

Checks if the given matrix dimensions are valid. For now, we only accept square matrices. Returns .true. if rows equals cols, .false. otherwise.

disablemod_resistivity_settingsSubroutine
disablemod_heating_settingsSubroutine
disablemod_viscosity_settingsSubroutine
disablemod_flow_settingsSubroutine
disablemod_gravity_settingsSubroutine
disablemod_conduction_settingsSubroutine
disablemod_cooling_settingsSubroutine
disablemod_hall_settingsSubroutine
disable_prefixmod_loggingSubroutine
discrete_alfven_eqmod_equilibriumInterface

interface to the different equilibrium submodules

DJ0smod_equil_suydam_clusterFunction
dJ0smod_equil_internal_kink_instabilityFunction
DJ1smod_equil_suydam_clusterFunction
dJ1smod_equil_internal_kink_instabilityFunction
do_eigenvalue_problem_allocationslegolasSubroutine
do_equilibrium_inspectionsmod_inspectionsSubroutine
dp0smod_equil_discrete_alfvenFunction
dp0smod_equil_MRIFunction
dp0smod_equil_constant_currentFunction
dp_funcmod_inspectionsInterface
drho0mod_solar_atmosphereFunction

Sets density derivative using the differential equation to ensure force balance, instead of relying on numerical differentiation.

drho0smod_equil_RTI_theta_pinchFunction
drho0smod_equil_resonant_absorptionFunction
drho0smod_equil_internal_kink_instabilityFunction
drho0smod_equil_discrete_alfvenFunction
drho0smod_equil_gravito_acousticFunction
drho0smod_equil_flow_driven_instabilitiesFunction
drho0smod_equil_MRIFunction
drho0smod_user_definedFunction
drho0smod_equil_interchange_modesFunction
drho0smod_equil_magnetothermal_instabilitiesFunction
drho0smod_equil_isothermal_atmosphereFunction
drho0smod_equil_gravito_mhdFunction
dT0mod_solar_atmosphereFunction
dT0smod_equil_taylor_couetteFunction
dT0smod_equil_tc_pinchFunction
dT0smod_equil_suydam_clusterFunction
dT0smod_equil_harris_sheetFunction
dT0smod_equil_internal_kink_instabilityFunction
dT0smod_equil_discrete_alfvenFunction
dT0smod_equil_kelvin_helmholtz_cdFunction
dT0smod_equil_flow_driven_instabilitiesFunction
dT0smod_equil_MRIFunction
dT0smod_equil_rotating_plasma_cylinderFunction
dT0smod_equil_constant_currentFunction
dv02smod_equil_taylor_couetteFunction
dv02smod_equil_RTI_theta_pinchFunction
dv02smod_equil_tc_pinchFunction
dv02smod_equil_couette_flowFunction
dv02smod_equil_flow_driven_instabilitiesFunction
dv02smod_equil_MRIFunction
dv02smod_user_definedFunction
dv02smod_equil_resistive_tearing_flowFunction
dv02smod_equil_rotating_plasma_cylinderFunction
dv03smod_equil_suydam_clusterFunction
dv03smod_equil_internal_kink_instabilityFunction
dv03smod_equil_couette_flowFunction
dv03smod_equil_kelvin_helmholtz_cdFunction
dv03smod_equil_flow_driven_instabilitiesFunction
dx_func_imod_gridInterface
eigenvalue_is_inside_subset_radiusmod_eigenfunctionsFunction
enablemod_resistivity_settingsSubroutine
enablemod_heating_settingsSubroutine
enablemod_flow_settingsSubroutine
enablemod_gravity_settingsSubroutine
enablemod_cooling_settingsSubroutine
enablemod_hall_settingsSubroutine
enable_coolingmod_physics_settingsSubroutine
enable_electron_inertiamod_hall_settingsSubroutine
enable_flowmod_physics_settingsSubroutine
enable_gravitymod_physics_settingsSubroutine
enable_hallmod_physics_settingsSubroutine
enable_heatingmod_physics_settingsSubroutine
enable_para_conductionmod_conduction_settingsSubroutine
enable_parallel_conductionmod_physics_settingsSubroutine
enable_perp_conductionmod_conduction_settingsSubroutine
enable_perpendicular_conductionmod_physics_settingsSubroutine
enable_prefixmod_loggingSubroutine
enable_resistivitymod_physics_settingsSubroutine
enable_viscositymod_physics_settingsSubroutine
enable_viscous_heatingmod_viscosity_settingsSubroutine
end_timermod_timingFunction
energy_balance_conditionmod_inspectionsFunction
errormod_loggingSubroutine
find_index_in_character_arraymod_get_indicesFunction

Function to locate the index of a given character in a character array. Iterates over the elements and returns on the first hit, if no match was found zero is returned.

find_indices_in_character_arraymod_get_indicesFunction

Function to locate the indices of an array of characters in another character array. Returns the indices of the first hit, it no match was found zero is returned.

flow_driven_instabilities_eqmod_equilibriumInterface

interface to the different equilibrium submodules

force_balance_1_conditionmod_inspectionsFunction
force_balance_2_conditionmod_inspectionsFunction
force_balance_3_conditionmod_inspectionsFunction
from_functionmod_function_utilsFunction
funcmod_integrationInterface
fxsmod_equil_RTI_theta_pinchFunction
g0mod_solar_atmosphereFunction

Default profile for the solar gravitational field

g0smod_equil_gravito_acousticFunction
g0smod_equil_flow_driven_instabilitiesFunction
g0smod_equil_MRIFunction
g0smod_user_definedFunction
g0smod_equil_interchange_modesFunction
g0smod_equil_isothermal_atmosphereFunction
g0smod_equil_gravito_mhdFunction
general_array_to_matrixmod_transform_matrixFunction

Converts a given 2D array to the linked-list matrix datastructure.

generate_gridmod_gridSubroutine
get_arpack_modemod_solver_settingsFunction
get_array_elementmod_transform_matrixFunction

Retrieves the element at index (i, j) for an array of general type. Returns the element as a (casted) complex type.

get_B0mod_bg_magneticFunction
get_B1mod_derived_efsFunction
get_B2mod_derived_efsFunction
get_B3mod_derived_efsFunction
get_B_paramod_derived_efsFunction
get_B_perpmod_derived_efsFunction
get_base_eigenfunctionmod_derived_efsFunction
get_basename_datfilemod_io_settingsFunction
get_basis_functionmod_ef_assemblyFunction
get_bmatmod_arpack_typeFunction

Getter for kind of B-matrix in eigenvalue problem.

get_boundary_typemod_equilibrium_settingsFunction
get_combined_value_from_eigenvectormod_ef_assemblyFunction
get_complex_elementmod_matrix_structureFunction

Returns the complex element associated with the linked-list node at position (row, column) in the matrix datastructure. Non-existing nodes correspond to zero values, so when a node at (row, column) is not foudn this function returns (complex) zero.

get_cooling_curvemod_cooling_settingsFunction
get_cooling_tablemod_cooling_curvesSubroutine
get_curl_B_1mod_derived_efsFunction
get_curl_B_2mod_derived_efsFunction
get_curl_B_3mod_derived_efsFunction
get_curl_B_paramod_derived_efsFunction
get_curl_B_perpmod_derived_efsFunction
get_curl_v_1mod_derived_efsFunction
get_curl_v_2mod_derived_efsFunction
get_curl_v_3mod_derived_efsFunction
get_curl_v_paramod_derived_efsFunction
get_curl_v_perpmod_derived_efsFunction
get_datfile_pathmod_outputFunction
get_dB0mod_bg_magneticFunction
get_depsmod_gridFunction
get_derived_state_vectormod_settingsFunction
get_diagonal_factorsmod_essential_boundariesFunction

Returns the value that is introduced on the main block diagonal after zeroing out the corresponding row and column. Depends on the matrix that is used.

get_dim_integralblockmod_dimsFunction
get_dim_matrixmod_dimsFunction
get_dim_quadblockmod_dimsFunction
get_dim_subblockmod_dimsFunction
get_div_Bmod_derived_efsFunction
get_div_vmod_derived_efsFunction
get_dlambdadTmod_radiative_coolingFunction
get_dLdrhomod_heatlossFunction
get_dLdTmod_heatlossFunction
get_dropoffmod_physics_utilsFunction
get_dropoff_drmod_physics_utilsFunction
get_dtcparadrmod_thermal_conductionFunction
get_dtcparadTmod_thermal_conductionFunction
get_dtcperpdB2mod_thermal_conductionFunction
get_dtcperpdrmod_thermal_conductionFunction
get_dtcperpdrhomod_thermal_conductionFunction
get_dtcperpdTmod_thermal_conductionFunction
get_dtcprefactordrmod_thermal_conductionFunction
get_ef_gridptsmod_grid_settingsFunction
get_eigenfunctionslegolasSubroutine

Initialises and calculates the eigenfunctions if requested.

get_electron_fractionmod_hall_settingsFunction
get_elementmod_matrix_element_nodeFunction
get_elementmod_banded_matrixFunction

Retrieves the element at position (row, col) of the original matrix. See the LAPACK documentation, element $a_{ij}$ of the original matrix is stored at position $(ku + 1 + i - j, j)$ (with $ku$ the number of superdiagonals).

get_elementmod_banded_matrix_hermitianFunction

Retrieves the element at position (row, col) of the original matrix. See the LAPACK documentation, element $a_{ij}$ of the original matrix is stored at position $(kd + 1 + i - j, j)$ if uplo = "U" and at position $(1 + i - j, j)$ if uplo = "L" in the banded storage.

get_elementsmod_matrix_elementsFunction
get_entropymod_derived_efsFunction
get_epsmod_gridFunction
get_equilibrium_typemod_equilibrium_settingsFunction
get_evpdimmod_arpack_typeFunction

Getter for dimension of eigenvalue problem.

get_fixed_resistivitymod_resistivity_settingsFunction
get_fixed_tc_paramod_conduction_settingsFunction
get_fixed_tc_perpmod_conduction_settingsFunction
get_gammamod_physics_settingsFunction
get_gamma_1mod_physics_settingsFunction
get_gauss_gridptsmod_grid_settingsFunction
get_geometrymod_grid_settingsFunction
get_grid_endmod_grid_settingsFunction
get_grid_startmod_grid_settingsFunction
get_gridptsmod_grid_settingsFunction
get_hallfactormod_hallFunction

Retrieves the normalised Hall factor as described by Porth et al. (2014).

get_indexmod_get_indicesInterface

interface to retrieve the index of an element in an array.

Read more…
get_inertiafactormod_hallFunction
get_interpolated_dlambdadTmod_cooling_curvesFunction
get_interpolated_lambdaTmod_cooling_curvesFunction
get_interpolation_pointsmod_cooling_settingsFunction
get_L0mod_heatlossFunction
get_labelmod_matrix_structureFunction

Returns the current label.

get_lambdaTmod_radiative_coolingFunction
get_logging_levelmod_loggingFunction
get_LU_factorisation_bandedmod_linear_systemsSubroutine

Calculates the LU factorisation of a complex banded matrix . Uses the LAPACK routine zgbtrf.

get_lworklmod_arpack_typeFunction

Getter for length of workl array, returns 3 * ncv**2 + 5 * ncv

get_maxitermod_arpack_typeFunction

Getter for maximum number of iterations.

get_mean_molecular_weightmod_unitsFunction
get_nb_diagonalsmod_matrix_structureSubroutine

Subroutine to get the number of super- and sub-diagonals in the matrix.

get_nb_elementsmod_matrix_elementsFunction
get_nb_eqsmod_settingsFunction
get_ncvmod_arpack_typeFunction

Getter for number of Arnoldi basis vectors that should be calculated.

get_nevmod_arpack_typeFunction

Getter for number of eigenvalues to calculate.

get_nodemod_matrix_elementsFunction
get_nodemod_matrix_rowFunction

Returns a pointer to the node corresponding to the given column. Returns a nullified pointer if no node containing the given column index was found.

get_node_elementmod_matrix_nodeFunction

Returns the node element.

get_numerical_derivativemod_interpolationSubroutine

Calculates the numerical derivative of a given array. A sixth-order accurate central difference stencil is used to calculate the derivative. Near the edges a sixth-order accurate forward and backward difference stencil is used for the left and right boundary, respectively. It is assumed that the x values are all equally spaced. If this is not the case, a polynomial interpolation on a uniform grid can be done and that one can be differentiated instead. The stencils are as follows:

Read more…
get_output_foldermod_io_settingsFunction
get_parfilemod_inputSubroutine

Parses the command line arguments and retrieves the parfile passed.

Read more…
get_physics_typemod_settingsFunction
get_positionmod_matrix_element_nodeFunction
get_positionsmod_matrix_elementsFunction
get_residualmod_outputFunction
get_rosner_dlambdadTmod_cooling_curvesFunction
get_rosner_indexmod_cooling_curvesFunction
get_rosner_lambdaTmod_cooling_curvesFunction
get_solvermod_solver_settingsFunction
get_spline1mod_matrix_element_nodeFunction
get_spline2mod_matrix_element_nodeFunction
get_state_vectormod_settingsFunction
get_subblock_indexmod_get_indicesInterface
get_tcparamod_thermal_conductionFunction
get_tcperpmod_thermal_conductionFunction
get_tcprefactormod_thermal_conductionFunction
get_tolerancemod_arpack_typeFunction

Getter for tolerance (relative accuracy) to indicate eigenvalue convergence.

get_total_nb_elementsmod_matrix_structureFunction

Returns the total number of elements (nodes) across the various rows.

get_total_nb_elementsmod_banded_matrixFunction

Returns the total number of elements inside the banded matrix.

get_total_nb_elementsmod_banded_matrix_hermitianFunction

Returns the total number of elements inside the banded matrix

get_total_nb_nonzero_elementsmod_banded_matrixFunction

Returns the total number of nonzero elements inside the banded matrix.

get_total_timemod_timingFunction
get_unit_conductionmod_unitsFunction
get_unit_densitymod_unitsFunction
get_unit_gravitymod_unitsFunction
get_unit_lambdaTmod_unitsFunction
get_unit_lengthmod_unitsFunction
get_unit_magneticfieldmod_unitsFunction
get_unit_massmod_unitsFunction
get_unit_numberdensitymod_unitsFunction
get_unit_pressuremod_unitsFunction
get_unit_resistivitymod_unitsFunction
get_unit_temperaturemod_unitsFunction
get_unit_timemod_unitsFunction
get_unit_velocitymod_unitsFunction
get_updated_number_of_gridpointsmod_gridFunction
get_v0mod_bg_velocityFunction
get_v_paramod_derived_efsFunction
get_v_perpmod_derived_efsFunction
get_viscosity_valuemod_viscosity_settingsFunction
get_whichmod_arpack_typeFunction

Getter for which eigenvalues to return.

gold_hoyle_eqmod_equilibriumInterface

interface to the different equilibrium submodules

gravito_acoustic_eqmod_equilibriumInterface

interface to the different equilibrium submodules

gravito_mhd_eqmod_equilibriumInterface

interface to the different equilibrium submodules

H_for_thermal_balancemod_heatlossFunction
harris_sheet_eqmod_equilibriumInterface

interface to the different equilibrium submodules

has_bfieldmod_settingsFunction
has_electron_inertiamod_hall_settingsFunction
has_fixed_resistivitymod_resistivity_settingsFunction
has_fixed_tc_paramod_conduction_settingsFunction
has_fixed_tc_perpmod_conduction_settingsFunction
has_parallel_conductionmod_conduction_settingsFunction
has_perpendicular_conductionmod_conduction_settingsFunction
has_viscous_heatingmod_viscosity_settingsFunction
hermitian_banded_to_arraymod_transform_matrixInterface
hermitian_banded_to_complex_arraymod_transform_matrixFunction

Converts a Hermitian banded datastructure to a full complex array.

in_cgsmod_unitsFunction
increment_nb_elementsmod_matrix_elementsSubroutine
induction_1_conditionmod_inspectionsFunction
induction_2_conditionmod_inspectionsFunction
infomod_loggingSubroutine
init_equilibrium_paramsmod_equilibrium_paramsSubroutine

Initialises all variables defined at module scope to NaN, including the wave numbers. This ensures that these have to be explicitly set.

initialisemod_gridSubroutine
initialisemod_radiative_coolingSubroutine
initialisemod_eigenfunctionsSubroutine
initialisemod_base_efsSubroutine
initialisemod_derived_efsSubroutine
initialisemod_loggingSubroutine
initialise_exceptionsmod_exceptionsSubroutine

Private subroutine, sets the pointer to the default method to be used when raising exceptions.

initialise_globalsmod_global_variablesSubroutine
integer_tostringmod_loggingFunction
integrate_ode_rk45mod_integrationSubroutine

Numerically integrates the differential equation using a fifth-order Runge-Kutta method. The functions A(x) and B(x) are passed as arguments and should be conform to the given interface, that is, these should be real(dp) functions which take a single real(dp), intent(in) argument. The integration is performed on the interval [x0, x1] with a stepsize of dh = (x1 - x0) / (nbpoints - 1).

interchange_modes_eqmod_equilibriumInterface

interface to the different equilibrium submodules

internal_kink_eqmod_equilibriumInterface

interface to the different equilibrium submodules

interpolate_array_on_ef_gridmod_derived_efsFunction
interpolate_cooling_curvesmod_cooling_curvesSubroutine

Read more…
interpolate_tablemod_interpolationSubroutine

Interpolates a given set of tables (x, y(x)) into a smooth curve. Assumes that x_table is an array with a monotone increase in values. Interpolation is done using n_interp points, in general a second order polynomial approximation is used except near sharp jumps.

Read more…
inverse_iterationmod_solversInterface

interface to the different solution methods implemented in submodules

is_adiabaticmod_heatlossFunction
is_compatible_withmod_banded_matrixFunction

Checks if a banded matrix is compatibe with another banded matrix. This implies that the following attributes should be equal: - dimensions of the original matrices - number of superdiagonals and subdiagonals - dimensions of the banded matrices themselves Returns .true. if these three criteria are satisfied, .false. otherwise.

is_compatible_withmod_banded_matrix_hermitianFunction

Checks if a Hermitian band matrix is compatible with another Hermitian band matrix. This implies that the following attributes should be equal: - number of rows/columns - number of sub/superdiagonals - storage of upper or lower triangular part - dimensions of the banded matrices themselves Returns .true. if all criteria are satisfied, .false. otherwise.

is_constantmod_check_valuesInterface

interface to check if an array is constant

is_enabledmod_resistivity_settingsFunction
is_enabledmod_heating_settingsFunction
is_enabledmod_viscosity_settingsFunction
is_enabledmod_flow_settingsFunction
is_enabledmod_gravity_settingsFunction
is_enabledmod_conduction_settingsFunction
is_enabledmod_cooling_settingsFunction
is_enabledmod_hall_settingsFunction
is_equalmod_check_valuesInterface

interface to check equality between values/arrays

is_in_state_vectormod_derived_ef_namesFunction
is_NaNmod_check_valuesInterface

interface to check for NaN values

is_negativemod_check_valuesInterface

interface to check for negative values

is_using_substitutionmod_hall_settingsFunction
is_valid_cooling_curvemod_cooling_curvesFunction
is_valid_custom_base_gridmod_gridFunction
is_valid_dxmod_gridFunction
is_valid_elementmod_matrix_structureFunction

Checks if a given element is valid in order to add it to the matrix. Returns .true. if the element is of type real or complex, .false. otherwise.

is_valid_indexmod_matrix_structureFunction

Checks if a given index is valid for the current matrix datastructure. Returns .true. if the index (either row or column) is larger than 0 and smaller than the dimension of the matrix. Returns .false. otherwise.

is_valid_positionmod_matrix_elementsFunction
is_within_bandmod_banded_matrixFunction

Checks if a given position (row, col) is within the banded structure, i.e. with $ku$ the number of superdiagonals and $kl$ the number of subdiagonals.

is_within_bandmod_banded_matrix_hermitianFunction

Checks if a given position (row, col) is within the banded structure. For uplo = "U" the position is within the band if for uplo = "L" the position is within the band if with $kd$ the number of sub/superdiagonals and $n$ the number of rows/columns.

is_zeromod_check_valuesInterface

interface to check if values/arrays are zero

isothermal_atmosphere_eqmod_equilibriumInterface

interface to the different equilibrium submodules

J0smod_equil_suydam_clusterFunction
J0smod_equil_internal_kink_instabilityFunction
J1smod_equil_suydam_clusterFunction
J1smod_equil_internal_kink_instabilityFunction
J2smod_equil_internal_kink_instabilityFunction
kh_cd_instability_eqmod_equilibriumInterface

interface to the different equilibrium submodules

KHI_eqmod_equilibriumInterface

interface to the different equilibrium submodules

log_equilibrium_infomod_consoleSubroutine
log_function_warningmod_physicsSubroutine
log_grid_infomod_consoleSubroutine
log_io_infomod_consoleSubroutine
log_msg_by_gridpoint_changemod_gridSubroutine
log_physics_infomod_consoleSubroutine
log_solver_infomod_consoleSubroutine
log_usr_H_func_warningmod_heatlossSubroutine
logical_tostringmod_loggingFunction
lookup_table_valuemod_interpolationFunction

Function for fast table-lookup, returns the corresponding y-value in y_values based on a given based on a given . If the allow_outside flag is given as .true. then values on the edge of the table are returned when the lookup value is outside the array. Uses simple linear interpolation.

magnetothermal_instability_eqmod_equilibriumInterface

interface to the different equilibrium submodules

matrix_to_arraymod_transform_matrixInterface
matrix_to_bandedmod_transform_matrixInterface
matrix_to_complex_arraymod_transform_matrixSubroutine

Converts a given matrix data structure with complex nodes to a 2D complex array.

matrix_to_complex_bandedmod_transform_matrixSubroutine

Converts a matrix data structure into a complex banded matrix.

matrix_to_complex_hermitian_bandedmod_transform_matrixSubroutine

Converts a matrix data structure into a complex Hermitian banded matrix.

matrix_to_hermitian_bandedmod_transform_matrixInterface
MRI_accretion_eqmod_equilibriumInterface

interface to the different equilibrium submodules

multiplymod_banded_operationsInterface
nan_values_presentmod_inspectionsFunction
negative_values_presentmod_inspectionsFunction
new_arpack_configmod_arpack_typeFunction

Constructor for a new ARPACK configuration based on the dimension of the eigenvalue problem, mode of the solver and type of the B-matrix. Initialises required variables and allocates work arrays to be used when calling the solvers.

new_backgroundmod_backgroundFunction
new_banded_matrixmod_banded_matrixFunction

Constructor for a new banded matrix with a given number of rows, columns, subdiagonals and superdiagonals. Allocates and initialises the datatype.

new_bg_densitymod_bg_densityFunction
new_bg_magneticmod_bg_magneticFunction
new_bg_temperaturemod_bg_temperatureFunction
new_bg_velocitymod_bg_velocityFunction
new_block_dimsmod_dimsFunction
new_conductionmod_thermal_conductionFunction
new_conduction_settingsmod_conduction_settingsFunction
new_coolingmod_radiative_coolingFunction
new_cooling_settingsmod_cooling_settingsFunction
new_eigenfunctionsmod_eigenfunctionsFunction
new_equilibrium_settingsmod_equilibrium_settingsFunction
new_flow_settingsmod_flow_settingsFunction
new_gravitymod_gravityFunction
new_gravity_settingsmod_gravity_settingsFunction
new_gridmod_gridFunction
new_grid_settingsmod_grid_settingsFunction
new_hallmod_hallFunction
new_hall_settingsmod_hall_settingsFunction
new_heatingmod_heatingFunction
new_heating_settingsmod_heating_settingsFunction
new_heatlossmod_heatlossFunction
new_hermitian_banded_matrixmod_banded_matrix_hermitianFunction

Constructor for a new Hermitian banded matrix with a given number of rows and diagonals. Allocates and initialises the datatype. initialise all to zero

new_io_settingsmod_io_settingsFunction
new_matrixmod_matrix_structureFunction

Constructor for a new matrix matrix with a given number of rows. Allocates and initialises the matrix datatype.

new_matrix_element_nodemod_matrix_element_nodeFunction
new_matrix_elementsmod_matrix_elementsFunction
new_nodemod_matrix_nodeFunction

Constructor for a new node, sets the column and element attributes. The element passed is polymorphic, but will be cast to complex in the node itself. No nodes are linked yet; the pointer to the next node is initialised to null().

new_physicsmod_physicsFunction
new_physics_settingsmod_physics_settingsFunction
new_resistivitymod_resistivityFunction
new_resistivity_settingsmod_resistivity_settingsFunction
new_rowmod_matrix_rowFunction

Constructor for a new row, initialises the linked list datastructure and sets the current head and tail pointers to null().

new_settingsmod_settingsFunction
new_solver_settingsmod_solver_settingsFunction
new_timermod_timingFunction
new_unit_systemmod_unitsFunction
new_viscosity_settingsmod_viscosity_settingsFunction
on_exception_raisedmod_exceptionsSubroutine

Workflow that is executed by default when an exception is raised. The argument message is printed to the console and program execution is terminated.

open_filemod_outputSubroutine
p0smod_equil_discrete_alfvenFunction
p0smod_equil_coronal_flux_tubeFunction
p0smod_equil_MRIFunction
p0smod_equil_constant_currentFunction
p0smod_equil_magnetothermal_instabilitiesFunction
p_profsmod_equil_flow_driven_instabilitiesFunction
paint_stringmod_paintingFunction

Subroutine to paint a given string to the desired colour, returns a new string with ANSI escape sequences prepended and appended. If the 'colour' argument is not known, simply returns the string itself.

parse_finished_statsmod_arpack_typeSubroutine

Parses the statistics that come out of ARPACK when the run is finished. Displays the number of OPX and BX operations and the number of re-orthogonalisation steps that were needed.

parse_io_infomod_inputSubroutine
parse_znaupd_infomod_arpack_typeSubroutine

Parses the info parameter that comes out of ARPACK's znaupd method. If info = 0, everything behaved nicely and the reverse communication subroutines exited properly. If info is any other value something went wrong and we handle it accordingly.

parse_zneupd_infomod_arpack_typeSubroutine

Parses the info parameter that comes out of ARPACK's zneupd method. If info = 0, the eigenvalues extraction routines exited properly, if info is any other value something went wrong and we handle it accordingly.

phi_profsmod_equil_flow_driven_instabilitiesFunction
photospheric_flux_tube_eqmod_equilibriumInterface

interface to the different equilibrium submodules

print_console_infomod_consoleSubroutine

Prints various console messages showing geometry, grid parameters, equilibrium parameters etc. Only for logging level "info" or above.

print_logomod_consoleSubroutine

Prints the Legolas logo to the console. The logo is wrapped in 1 whitespace at the top and two at the bottom. Only for logging level 'warning' (1) and above

print_startup_infolegolasSubroutine
print_timeloglegolasSubroutine
print_whitespacemod_consoleSubroutine

Prints an empty line to the console. Only if logging level is 'warning' or above.

qr_choleskymod_solversInterface

interface to the different solution methods implemented in submodules

qr_invertmod_solversInterface

interface to the different solution methods implemented in submodules

quadratic_factorsmod_spline_functionsSubroutine

Calculates the quadratic basis functions.

quadratic_factors_derivmod_spline_functionsSubroutine

Calculates the derivatives of the quadratic basis functions.

qz_directmod_solversInterface

interface to the different solution methods implemented in submodules

raise_exceptionmod_exceptionsSubroutine

Raises an exception with a given message. By default, exceptions terminate program execution. Calls the initialisation routine if not already done.

read_equilibriumlistmod_inputSubroutine
read_gridlistmod_inputSubroutine
read_paramlistmod_inputSubroutine
read_parfilemod_inputSubroutine
read_physicslistmod_inputSubroutine
read_savelistmod_inputSubroutine
read_solvelistmod_inputSubroutine
read_unitlistmod_inputSubroutine
read_user_parfilelegolasSubroutine
real_array_is_constantmod_check_valuesFunction

Check if an array has constant values

real_is_equalmod_check_valuesFunction

Equality check between real values

real_is_negativemod_check_valuesFunction

Check if values are or contain negative numbers

real_is_zeromod_check_valuesFunction

Checks if real values are zero

real_tostringmod_loggingFunction
resistive_homo_eqmod_equilibriumInterface

interface to the different equilibrium submodules

resistive_tearing_modes_eqmod_equilibriumInterface

interface to the different equilibrium submodules

resistive_tearing_modes_flow_eqmod_equilibriumInterface

interface to the different equilibrium submodules

resonant_absorption_eqmod_equilibriumInterface

interface to the different equilibrium submodules

retransform_eigenfunctionmod_ef_assemblyFunction
rho0mod_solar_atmosphereFunction
rho0smod_equil_taylor_couetteFunction
rho0smod_equil_RTI_theta_pinchFunction
rho0smod_equil_resonant_absorptionFunction
rho0smod_equil_gold_hoyleFunction
rho0smod_equil_photospheric_flux_tubeFunction
rho0smod_equil_resistive_tearingFunction
rho0smod_equil_tc_pinchFunction
rho0smod_equil_suydam_clusterFunction
rho0smod_equil_harris_sheetFunction
rho0smod_equil_internal_kink_instabilityFunction
rho0smod_equil_couette_flowFunction
rho0smod_equil_discrete_alfvenFunction
rho0smod_equil_adiabatic_homoFunction
rho0smod_equil_kelvin_helmholtz_cdFunction
rho0smod_equil_gravito_acousticFunction
rho0smod_equil_coronal_flux_tubeFunction
rho0smod_equil_flow_driven_instabilitiesFunction
rho0smod_equil_MRIFunction
rho0smod_user_definedFunction
rho0smod_equil_resistive_tearing_flowFunction
rho0smod_equil_rotating_plasma_cylinderFunction
rho0smod_equil_constant_currentFunction
rho0smod_equil_interchange_modesFunction
rho0smod_equil_resistive_homoFunction
rho0smod_equil_magnetothermal_instabilitiesFunction
rho0smod_equil_isothermal_atmosphereFunction
rho0smod_equil_gravito_mhdFunction
rk45mod_integrationSubroutine

Calculates the Runge-Kutta coefficients and calculates the fourth and fifth order solutions for step i+1 based on the values at step i.

rotating_plasma_cyl_eqmod_equilibriumInterface

interface to the different equilibrium submodules

RTI_eqmod_equilibriumInterface

interface to the different equilibrium submodules

RTI_KHI_eqmod_equilibriumInterface

interface to the different equilibrium submodules

RTI_theta_pinch_eqmod_equilibriumInterface

interface to the different equilibrium submodules

select_eigenfunctions_to_savemod_eigenfunctionsSubroutine
set_all_io_to_falsemod_io_settingsSubroutine
set_arpack_modemod_solver_settingsSubroutine
set_base_gridmod_gridSubroutine
set_based_on_to_falsemod_unitsSubroutine
set_basename_datfilemod_io_settingsSubroutine
set_basis_functionssmod_natural_boundariesSubroutine
set_block_dimsmod_dimsSubroutine
set_bmatmod_arpack_typeSubroutine

Sets the type of B-matrix.

set_boundary_flagsmod_boundary_managerSubroutine
set_boundary_typemod_equilibrium_settingsSubroutine
set_cooling_curvemod_cooling_settingsSubroutine
set_cooling_funcsmod_physicsSubroutine
set_custom_gridmod_gridSubroutine
set_density_funcsmod_backgroundSubroutine
set_derived_state_vectormod_settingsSubroutine
set_ef_gridmod_gridSubroutine
set_electron_fractionmod_hall_settingsSubroutine
set_elementmod_banded_matrixSubroutine

Sets the element $a_{ij}$ of the original array into the banded structure. The row and col arguments refer to the row and column indices of the element in the original array. This routine has no effect if the location falls outside of the banded structure.

set_elementmod_banded_matrix_hermitianSubroutine

Sets the element $a_{ij}$ of the original array into the banded structure. The row and col arguments refer to the row and column indices of the element in the original array. This routine has no effect if the location falls outside of the banded structure.

set_equilibriummod_equilibriumSubroutine

Calls the routine to set the equilibrium pointer, then calls the correct submodule. Performs some sanity checks (negative values, NaNs etc.) when the equilibrium is set, then calls additional physics modules if needed.

Read more…
set_equilibrium_arrays_on_ef_gridmod_derived_efsSubroutine
set_equilibrium_pointermod_equilibriumSubroutine

Selects the submodule based on the specified equilibrium in the parfile. Works on a case-select basis.

Read more…
set_equilibrium_typemod_equilibrium_settingsSubroutine
set_fixed_resistivitymod_resistivity_settingsSubroutine
set_fixed_tc_paramod_conduction_settingsSubroutine
set_fixed_tc_perpmod_conduction_settingsSubroutine
set_function_pointermod_derived_efsSubroutine
set_gammamod_physics_settingsSubroutine
set_gaussian_gridmod_gridSubroutine
set_geometrymod_grid_settingsSubroutine
set_gravity_funcsmod_physicsSubroutine
set_grid_boundariesmod_grid_settingsSubroutine
set_gridptsmod_grid_settingsSubroutine
set_heating_funcsmod_physicsSubroutine
set_incompressiblemod_physics_settingsSubroutine
set_interpolation_pointsmod_cooling_settingsSubroutine
set_labelmod_matrix_structureSubroutine

Sets the label of the current matrix.

set_logging_levelmod_loggingSubroutine
set_magnetic_1_funcsmod_backgroundSubroutine
set_magnetic_2_funcsmod_backgroundSubroutine
set_magnetic_3_funcsmod_backgroundSubroutine
set_maxitermod_arpack_typeSubroutine

Sets the maximum number of iterations that ARPACK is allowed to take, defaults to max(100, 10 * k) with k the number of eigenvalues.

Read more…
set_mean_molecular_weightmod_unitsSubroutine
set_modemod_arpack_typeSubroutine

Sets the mode for the solver.

set_module_pointersmod_heatlossSubroutine
set_nb_eqsmod_settingsSubroutine
set_ncvmod_arpack_typeSubroutine

Setter for ncv, the number of Arnoldi basis vectors to calculate. This should satisfy 1 <= ncv - nev and ncv <= evpdim, with recommended value ncv = 2 * nev (see arpack docs).

set_nevmod_arpack_typeSubroutine

Setter for number of eigenvalues to calculate.

set_output_foldermod_io_settingsSubroutine
set_parallel_conduction_funcsmod_physicsSubroutine
set_perpendicular_conduction_funcsmod_physicsSubroutine
set_raise_methodmod_exceptionsSubroutine

Subroutine meant to be publicly called, sets the routine to be used when raising exceptions. Calls the initialisation routine if not already done.

set_residualmod_arpack_typeSubroutine

Setter for the residual vector, allocates and manually initialises the residual (= starting) vector using a uniform distribution on (-1, 1) for both the real and imaginary parts. Relies on the LAPACK routine zlarnv.

set_resistivity_funcsmod_physicsSubroutine
set_small_values_to_zeromod_check_valuesInterface

interface to check for small values

set_solar_atmospheremod_solar_atmosphereSubroutine

Sets the density, temperature, gravity and magnetic field attributes of the respective fields to a realistic solar atmosphere profile. This routine first interpolates the temperature and numberdensity table at n_interp resolution, then solves the following ODE for the density: using a fifth order Runge-Kutta method. If the optional argument save_to is provided then the density profiles are saved to that file, which can be loaded back in on subsequent runs through the optional argument load_from. The integration is done over the entire table, the curve is sampled on the Gaussian grid, meaning that grid variations can all use the same result.

Read more…
set_solvermod_solver_settingsSubroutine
set_spacing_functionmod_gridSubroutine
set_state_vectormod_settingsSubroutine
set_temperature_funcsmod_backgroundSubroutine
set_units_from_densitymod_unitsSubroutine
set_units_from_numberdensitymod_unitsSubroutine
set_units_from_temperaturemod_unitsSubroutine
set_velocity_1_funcsmod_backgroundSubroutine
set_velocity_2_funcsmod_backgroundSubroutine
set_velocity_3_funcsmod_backgroundSubroutine
set_viscosity_valuemod_viscosity_settingsSubroutine
set_whichmod_arpack_typeSubroutine

Setter for the "which" argument of ARPACK routines.

should_compute_eigenvectorsmod_io_settingsFunction
small_values_complexmod_check_valuesSubroutine

Small value checks for a complex variable/array/matrix, with the real and imaginary parts checked separately. Values that are smaller than the specified tolerance tol are set to zero. If tol is not present, DP_LIMIT is used as tolerance.

small_values_realmod_check_valuesSubroutine

Small value checks for a real variable/array/matrix. Values that are smaller than the specified tolerance tol are set to zero. If tol is not present, DP_LIMIT is used as tolerance.

solar_atmosphere_deallocmod_solar_atmosphereSubroutine
solve_arpack_generalsmod_arpack_mainInterface
solve_arpack_shift_invertsmod_arpack_mainInterface
solve_evpmod_solversSubroutine

Main subroutine to solve the eigenvalue problem. Depending on the solvelist passed in the parfile, different solvers are called.

Read more…
solve_linear_system_complex_bandedmod_linear_systemsFunction

Calculates the solution to a system of linear equations where is a complex banded matrix and is a complex vector.

solve_linear_system_complex_banded_LUmod_linear_systemsFunction

Calculates the solution to a system of linear equations where is a complex banded matrix and is a complex vector. Uses the LU factorisation of and pivoting information from zgbtrf.

spitzer_detadrmod_resistivityFunction

Default profile for the derivative of the resistivity $\eta$ with respect to position. Returns zero unless a dropoff profile was chosen.

spitzer_detadTmod_resistivityFunction

Default profile for the derivative of the resistivity $\eta$ with respect to the temperature $T$. Returns one of the following: - zero (if resistivity is disabled or for fixed resistivity) - derivative of Spitzer resistivity with respect to T Values are normalised on return.

spitzer_etamod_resistivityFunction

Default profile for the resistivity $\eta$. Returns one of the following: - The Spitzer resistivity based on the equilibrium temperature profile - a fixed resistivity value - zero (if resistivity is disabled) Values are normalised on return.

spline_sizes_are_validmod_matrix_elementsFunction
start_timermod_timingSubroutine
state_vector_is_setmod_settingsFunction
strmod_loggingInterface
suydam_cluster_eqmod_equilibriumInterface

interface to the different equilibrium submodules

T0mod_solar_atmosphereFunction
T0smod_equil_taylor_couetteFunction
T0smod_equil_RTI_theta_pinchFunction
T0smod_equil_resonant_absorptionFunction
T0smod_equil_gold_hoyleFunction
T0smod_equil_photospheric_flux_tubeFunction
T0smod_equil_resistive_tearingFunction
T0smod_equil_tc_pinchFunction
T0smod_equil_suydam_clusterFunction
T0smod_equil_harris_sheetFunction
T0smod_equil_internal_kink_instabilityFunction
T0smod_equil_couette_flowFunction
T0smod_equil_discrete_alfvenFunction
T0smod_equil_adiabatic_homoFunction
T0smod_equil_kelvin_helmholtz_cdFunction
T0smod_equil_gravito_acousticFunction
T0smod_equil_coronal_flux_tubeFunction
T0smod_equil_flow_driven_instabilitiesFunction
T0smod_equil_MRIFunction
T0smod_user_definedFunction
T0smod_equil_resistive_tearing_flowFunction
T0smod_equil_rotating_plasma_cylinderFunction
T0smod_equil_constant_currentFunction
T0smod_equil_interchange_modesFunction
T0smod_equil_resistive_homoFunction
T0smod_equil_magnetothermal_instabilitiesFunction
T0smod_equil_isothermal_atmosphereFunction
T0smod_equil_gravito_mhdFunction
taylor_couette_eqmod_equilibriumInterface

interface to the different equilibrium submodules

tc_pinch_eqmod_equilibriumInterface

interface to the different equilibrium submodules

throw_info_nonzero_warningmod_linear_systemsSubroutine
ticmod_timingSubroutine

Subroutine to start a wall clock timer.

Read more…
tocmod_timingSubroutine

Subroutine to end a wall clock timer.

Read more…
transform_state_variable_to_subblock_indexmod_get_indicesFunction

Transforms a given array of state variables to subblock indices. If odd is .true. returns the odd indices, otherwise the even indices. If edge equals "left", returns the indices corresponding to the left boundary block, if edge equals "right" returns indices for the right boundary block.

update_block_dimensionsmod_settingsSubroutine
update_dependent_unitsmod_unitsSubroutine
uplo_is_validmod_banded_matrix_hermitianFunction

Checks whether the given uplo parameter is valid.

user_defined_eqmod_equilibriumInterface

interface to the different equilibrium submodules

v02smod_equil_taylor_couetteFunction
v02smod_equil_RTI_theta_pinchFunction
v02smod_equil_tc_pinchFunction
v02smod_equil_suydam_clusterFunction
v02smod_equil_couette_flowFunction
v02smod_equil_flow_driven_instabilitiesFunction
v02smod_equil_MRIFunction
v02smod_user_definedFunction
v02smod_equil_resistive_tearing_flowFunction
v02smod_equil_rotating_plasma_cylinderFunction
v03smod_equil_suydam_clusterFunction
v03smod_equil_internal_kink_instabilityFunction
v03smod_equil_couette_flowFunction
v03smod_equil_kelvin_helmholtz_cdFunction
v03smod_equil_flow_driven_instabilitiesFunction
v03smod_equil_rotating_plasma_cylinderFunction
v_profsmod_equil_flow_driven_instabilitiesFunction
validate_equilibrium_conditionsmod_inspectionsSubroutine
validate_grid_startmod_grid_settingsSubroutine
validate_on_axis_valuesmod_inspectionsSubroutine
validate_scale_ratiomod_hallSubroutine
warningmod_loggingSubroutine
wave_numbers_are_validmod_inspectionsFunction
write_background_datamod_outputSubroutine
write_background_namesmod_outputSubroutine
write_base_eigenfunction_datamod_outputSubroutine
write_derived_eigenfunction_datamod_outputSubroutine
write_eigenvector_datamod_outputSubroutine
write_equilibrium_infomod_outputSubroutine
write_grid_infomod_outputSubroutine
write_headermod_outputSubroutine
write_io_infomod_outputSubroutine
write_matrix_datamod_outputSubroutine
write_parametersmod_outputSubroutine
write_physics_infomod_outputSubroutine
write_physics_type_infomod_outputSubroutine
write_residual_datamod_outputSubroutine
write_solver_infomod_outputSubroutine
write_units_infomod_outputSubroutine
zero_funcmod_function_utilsFunction
zero_out_row_and_colsmod_essential_boundariesSubroutine

Zeroes out the row and column corresponding to the given indices. Afterwards diagonal_factor is introduced in that row/column on the main diagonal.