Modules

ModuleSource FileDescription
additive_derivation_class additive_derivation.f90

Houses composite derivation class where multiple derivation results get added

   additive_derivation_procedures additive_derivation_procedures.f90

Contains module procedures associated with the additive derivation class

assertion_utility assertion_utility.f90

Contains a toggleable assertion utility - based on Figure 10.8 of Scientific Software Design by Rouson et al.

basic_environment_wrapper basic_environment_wrapper.f90

Houses wrapper containing non-modeller objects for streamlined initialization and passing

   basic_environment_wrapper_procedures basic_environment_wrapper_procedures.f90

Contains module procedures associated with the basic environment wrapper

basic_interfaces basic_interfaces.f90

Contains a set of basic (abstract) interfaces that do not depend on packages other than basic support used by other modules

basic_normalization_class basic_normalization.f90

Houses simple normalization class based on electron quantities and using JSON file data

   basic_normalization_procedures basic_normalization_procedures.f90

Contains module procedures associated with the basic normalization class

basic_timeloop_class basic_timeloop.f90

Houses basic timeloop class responsible for the main computation-output loop in simulations

   basic_timeloop_procedures basic_timeloop_procedures.f90

Contains module procedures associated with the basic timeloop class

bounded_ext_derivation_class bounded_ext_derivation.f90

Houses derivation that extrapolates a quantity, optionally applying a lower and/or upper bound to the extrapolated value

   bounded_ext_derivation_procedures bounded_ext_derivation_procedures.f90

Contains module procedures associated with the bounded extrapolation derivation class

c_diff_stencil_gen_class c_diff_stencil_gen.f90

Stencil generator for fixed central differencing

   c_diff_stencil_gen_procedures c_diff_stencil_gen_procedures.f90

Contains module procedures associated with the central difference stencil value generator class

calculation_tree_class calculation_tree.f90

Houses the calculation tree class and the relevant node class.

   calculation_tree_procedures calculation_tree_procedures.f90

Contains module procedures associated with calculation tree and node classes

calculation_tree_derivation_class calculation_tree_derivation.f90

Houses derivation class with an attached calculation tree object

   calculation_tree_derivation_procedures calculation_tree_derivation_procedures.f90

Contains module procedures associated with the calculation tree derivation class

ccl_diff_derivation_class ccl_diff_derivation.f90

Houses Chang-Cooper-Langdon diffusion coefficient derivation

   ccl_diff_derivation_procedures ccl_diff_derivation_procedures.f90

Contains module procedures associated with the CCL diff coefficient derivation class

ccl_drag_derivation_class ccl_drag_derivation.f90

Houses Chang-Cooper-Langdon drag coefficient derivation

   ccl_drag_derivation_procedures ccl_drag_derivation_procedures.f90

Contains module procedures associated with the CCL drag coefficient derivation class

ccl_weight_derivation_class ccl_weight_derivation.f90

Houses Chang-Cooper-Langdon interpolation weight derivation

   ccl_weight_derivation_procedures ccl_weight_derivation_procedures.f90

Contains module procedures associated with the CCL interpolation weights derivation class

central_diff_grad_derivation_class central_diff_grad_derivation.f90

Houses derivation object that returns values proportional to centrally differenced gradient of given variable

   central_diff_grad_derivation_procedures central_diff_grad_derivation_procedures.f90

Contains module procedures associated with the central difference derivation class

cold_ion_ij_int_derivation_class cold_ion_ij_derivation.f90

Houses Shkarofsky I and J integral for a drifting delta function derivation object

   cold_ion_ij_int_derivation_procedures cold_ion_ij_derivation_procedures.f90

Contains module procedures associated with the cold ion Shkarofsky I/J integral derivation class

composite_integrator_class composite_integrator.f90

Houses container/controller for multiple integration routines

   composite_integrator_procedures composite_integrator_procedures.f90

Contains procedures associated with the composite integrator class

composite_manipulator_class composite_manipulator.f90

Houses container/controller for multiple manipulator objects

   composite_manipulator_procedures composite_manipulator_procedures.f90

Contains procedures associated with the composite manipulator class

constant_signal_class constant_signal.f90

Houses constant signal class - always returns 1

   constant_signal_procedures constant_signal_procedures.f90

Contains module procedures associated with the constant signal class

coo_sparsity_pattern_class coo_sparsity_pattern.f90

Houses base coordinate list sparsity pattern

   coo_sparsity_pattern_procedures coo_sparsity_pattern_procedures.f90

Contains module procedures associated with the basic coo sparsity pattern class

coulomb_log_derivation_class coulomb_log_derivation.f90

Houses derivation returning coulomb log values based on density and temperature (and optionally ionization)

   coulomb_log_derivation_procedures coulomb_log_derivation_procedures.f90

Contains module procedures associated with the Coulomb Log derivation class

crm_dens_term_generator_class crm_dens_term_generator.f90

Houses TermGenerator object used to generate particle implicit source terms based on associated variables in species list and CRM modelbound data

   crm_dens_term_generator_procedures crm_dens_term_generator_procedures.f90

Contains procedures associated with the CRMDensTermGenerator class

crm_el_energy_term_generator_class crm_el_energy_term_generator.f90

Houses TermGenerator object used to generate electron energy implicit source terms based on associated variables in species list and CRM modelbound data

   crm_dens_term_generator_procedures crm_el_energy_term_generator_procedures.f90

Contains procedures associated with the CRMElEnergyTermGenerator class

crm_fixed_boltzmann_term_generator_class crm_fixed_boltzmann_term_generator.f90

Houses TermGenerator object used to generate Boltzmann terms with fixed inelastic mappings based on associated variables in species list and CRM modelbound data

   crm_fixed_boltzmann_term_generator_procedures crm_fixed_boltzmann_term_generator_procedures.f90

Contains procedures associated with the CRMBoltzTermGenerator class

crm_secondary_el_source_term_generator_class crm_secondary_el_source_term_generator.f90

Houses TermGenerator object used to generate secondary electron source/sink terms for based on associated variables in species list and CRM modelbound data

   crm_secondary_el_source_term_generator_procedures crm_secondary_el_source_term_generator_procedures.f90

Contains procedures associated with the CRMSecElTermGenerator class

crm_variable_boltzmann_term_generator_class crm_variable_boltzmann_term_generator.f90

Houses TermGenerator object used to generate Boltzmann terms with variable inelastic mappings based on associated variables in species list and CRM modelbound data TODO: Could be merged with fixed boltzmann term generator in refactor

   crm_variable_boltzmann_term_generator_procedures crm_variable_boltzmann_term_generator_procedures.f90

Contains procedures associated with the CRMBVarBoltzTermGenerator class

custom_derivation_support custom_derivation_support.f90

Contains support for adding custom derivations to a textbook

   custom_derivation_support_procedures custom_derivation_support_procedures.f90

Contains custom derivation support procedure implementations

custom_model_builder_class custom_model_builder.f90

Houses model builder for user-defined models

   custom_model_builder_procedures custom_model_builder_procedures.f90

Contains procedures associated with the CustomModelBuilder class

cut_sine_signal_class cut_sine_signal.f90

Houses cut sine signal class - periodic signal with passed period, interpeting params(1) and params(2) as the point in the period when the signal turns on/off, and is the shape of a half-sine

   cut_sine_signal_procedures cut_sine_signal_procedures.f90

Contains module procedures associated with the cut sine signal class

d2dv2_derivation_class d2dv2_derivation.f90

Houses derivation that calculates velocity space second order derivatives

   d2dv2_derivation_procedures d2dv2_derivation_procedures.f90

Contains module procedures associated with the d2dv2 derivation class

data_kinds data_kinds.f90

Houses kind data

db_transition_class db_transition.f90

Houses fixed transition energy and fixed cross-section transition object

   db_transition_procedures db_transition_procedures.f90

Contains module procedures associated with the fixed energy detailed balance transition class

ddv_derivation_class ddv_derivation.f90

Houses derivation that calculates velocity space first order derivatives

   ddv_derivation_procedures ddv_derivation_procedures.f90

Contains module procedures associated with the ddv derivation class

ddv_stencil_gen_class ddv_stencil_gen.f90

Stencil generator for d/dv type terms

   ddv_stencil_gen_procedures ddv_stencil_gen_procedures.f90

Contains module procedures associated with the ddv stencil generator class

derivation_abstract_class derivation_abstract.f90

Houses abstract Derivation object definitions used to build rules for transforming evolved into derived variables

derived_transition_class derived_transition.f90

Houses fixed energy transition with a rate calculated using a derivation object

   derived_transition_procedures derived_transition_procedures.f90

Contains module procedures associated with the fixed energy derived rate transition class

diffusion_stencil_gen_class diffusion_stencil_gen.f90

Stencil generator for diffusion in x direction

   diffusion_stencil_gen_procedures diffusion_stencil_gen_procedures.f90

Contains module procedures associated with the diffusion stencil value generator class

explicit_rk_integrator_class explicit_rk_integrator.f90

Contains an explicit Runge-Kutta integrator class with the option to supply user Butcher tableaus

   explicit_rk_integrator_procedures explicit_rk_integrator_procedures.f90

Contains module procedures associated with the explicit RK integrator class

explicit_term_abstract_class explicit_term_abstract.f90

Houses abstract explicit term interfaces

   explicit_term_abstract_procedures explicit_term_abstract_procedures.f90

Contains module procedures associated with the abstract explicit term class

extrapolation_abstract_class extrapolation_abstract.f90

Houses abstract Extrapolation object

   extrapolation_abstract_procedures extrapolation_abstract_procedures.f90

Contains module procedures associated with the abstract extrapolation class

extrapolation_initialization_support extrapolation_initialization_support.f90

Contains support for initializing extrapolation objects based on JSON data

   extrapolation_initialization_support_procedures extrapolation_initialization_support_procedures.f90

Contains module procedure implementations for extrapolation initializastion from JSON data

f_scaling_derivation_class f_scaling_derivation.f90

Houses derivation that extrapolates a distribution function to a boundary or last cell before boundary based on density scaling

   f_scaling_derivation_procedures f_scaling_derivation_procedures.f90

Contains module procedures associated with the distribution scaling extrapolation derivation class

fb_diff_stencil_gen_class fb_diff_stencil_gen.f90

Stencil generator for fixed forward or backwards differencing

   fb_diff_stencil_gen_procedures fb_diff_stencil_procedures.f90

Contains module procedures associated with the forward/backward difference stencil value generator class

fixed_boltzmann_stencil_gen_class fixed_boltzmann_stencil_gen.f90

Stencil generator for v stencil of Boltzmann collision operator emission/absorption terms with fixed cross-sections

   fixed_boltzmann_stencil_gen_procedures fixed_boltzmann_stencil_gen_procedures.f90

Contains module procedures associated with the fixed mapping Boltzmann stencil generator class

fixed_ecs_transition_class fixed_ecs_transition.f90

Houses fixed transition energy and fixed cross-section transition object

   fixed_ecs_transition_procedures fixed_ecs_transition_procedures.f90

Contains module procedures associated with the fixed energy and cross section transition class

flat_nd_data_class flat_nd_data.f90

Houses flattened data represenation with multidimensional indexing

   flat_nd_data_procedures flat_nd_data_procedures.f90

Contains module procedures associated with FlatNDData

fluid_gen1d_class fluid_gen1d.f90

Stencil generator extending StencilGenerator1D to use variable column vectors based on fluid variables

   fluid_gen1d_procedures fluid_gen1d_procedures.f90

Contains module procedures associated with the FluidStencilGen1D class

fluid_stencil_templates fluid_stencil_templates.f90

Contains stencil template generation for use in custom model construction

   fluid_stencil_templates_procedures fluid_stencil_templates_procedures.f90

Contains fluid stencil template procedures

fluid_term_generator_support fluid_term_generator_support.f90

Contains routines for initializing various fluid term generators from JSON data

   fluid_term_generator_support_procedures fluid_term_generator_support_procedures.f90

Contains implementation of fluid term generator support routines

gen_int_polynomial_fun_derivation_class gen_int_polynomial_fun_derivation.f90

Houses derivation taking in multiple variables and performing a generalized integer powered polynomial calculation

   gen_int_polynomial_fun_derivation_procedures gen_int_polynomial_fun_derivation_procedures.f90

Contains module procedures associated with the generalized integer powered polynomial function derivation class

general_mat_term_class general_mat_term.f90

Houses general matrix term

   general_mat_term_procedures general_mat_term_procedures.f90

Contains module procedures associated with the general matrix term

geometry_class geometry.f90

Houses geometry object responsible for storing cell widths and Jacobians

   geometry_procedures geometry_procedures.f90

Contains module procedures associated with the geometry class

god_objects god_objects.f90

Houses base Object used to determine whether complex objects have been properly initialized

   god_objects_procedures god_objects_procedures.f90

Contains basic definition routines for base Object class

grid_class grid.f90

Houses Grid object responsible for storing spatial, velocity, and harmonic grid vertices

   grid_procedures grid_procedures.f90

Contains module procedures associated with the grid class

group_evaluator_class group_evaluator.f90

Houses GroupEvaluator class, a Manipulator that evaluates specific model term groups

   group_evaluator_procedures group_evaluator_procedures.f90

Contains procedures associated with the GroupEvaluator class

harmonic_extractor_derivation_class harmonic_extractor_derivation.f90

Houses derivation that extracts single harmonics from distribution variables

   harmonic_extractor_derivation_procedures harmonic_extractor_derivation_procedures.f90

Contains module procedures associated with the harmonic extractor derivation class

Read more…
hat_signal_class hat_signal.f90

Houses hat signal class - periodic signal with passed period, interpeting params(1) and params(2) as the point in the period when the signal turns on/off

   hat_signal_procedures hat_signal_procedures.f90

Contains module procedures associated with the hat signal class

hdf5_controller_class HDF5_controller.f90

Contains serial hdf5 routines for creating files containing variable and grid data as well as parallel restart dump routines

   HDF5_controller_procedures HDF5_controller_procedures.f90

Contains module procedures associated with the HDF5 controller class

ij_int_derivation_class ij_int_derivation.f90

Houses Shkarofsky I and J integral derivation object

   ij_int_derivation_procedures ij_int_derivation_procedures.f90

Contains module procedures associated with the Shkarofsky I/J integral derivation class

implicit_PicardBDE_integrator_class implicit_PicardBDE_integrator.f90

Contains an implicit Picard Backwards Euler integrator class

   implicit_PicardBDE_integrator_procedures implicit_PicardBDE_integrator_procedures.f90

Contains module procedures associated with the implicit BDE integrator class

indexing_class indexing.f90

Houses Indexing object responsible for handling the indexing of the global variable vector

   indexing_procedures indexing_procedures.f90

Contains module procedures associated with the Indexing class

inelastic_grid_data_class inelastic_grid_data.f90

Houses InelasticGridData class

Read more…
   inelastic_grid_data_procedures inelastic_grid_data_procedures.f90

Contains module procedures associated with the inelastic grid data class

inelastic_mapping inelastic_mapping.f90

Contains procedures associated with the construction of velocity space mapping for inelastic collisional processes

   inelastic_mapping_procedures inelastic_mapping_procedures.f90

Contains module procedures associated with inelastic collision mappings

initialization_support initialization_support.f90

Contains various support routines used in data initialization

   initialization_support_procedures initialization_support_procedures.f90

Contains the implementations of various initialization support routines

integrator_abstract_class integrator_abstract.f90

ouses abstract Integrator object, a ,anipulator with a timestep size and term group component and corresponding getters/setters

   integrator_abstract_procedures integrator_abstract_procedures.f90

Contains getters and setters for the abstract Integrator class

interp_stencil_gen_class interp_stencil_gen.f90

Stencil generator for implicit interpolation/extrapolation between regular and staggered grids

   interp_stencil_gen_procedures interp_stencil_gen_procedures.f90

Contains module procedures associated with the interpolation stencil value generator class

interpolation_derivation_class interpolation_derivation.f90

Houses derivation that interpolates one quantity from the original to the dual grid or vice versa.

   interpolation_derivation_procedures interpolation_derivation_procedures.f90

Contains module procedures associated with the interpolation derivation class

jagged_array_generator_class jagged_array_generator.f90

Houses abstract class defining an interface for the calculation of jagged real arrays used in matrix construction based on variable data

   jagged_array_generator_procedures jagged_array_generator_procedures.f90

Contains module procedures associated with the abstract jagged array generator class

janev_crm_data_support janev_crm_data_support.f90

Contains functions for adding particular processes with Janev fits to modelbound CRM data

   janev_crm_data_support_procedures janev_crm_data_support_procedures.f90

Contains implementation of Janev CRM support routines

janev_fits janev_fits.f90

Contains interfaces to fit functions from Janev's EIRENE report: http://www.eirene.de/report_4105.pdf

   janev_fits_procedures janev_fits_procedures.f90

Contains implementation of functions for calculating rates and cross-sections based on the Janev EIRENE report: http://www.eirene.de/report_4105.pdf

json_controller_class JSON_controller.f90

Contains json-fortran routines for reading/writing config files

   JSON_controller_procedures JSON_controller_procedure.f90

Contains module procedures associated with the JSON controller class

key_names key_names.f90

Provides centralized housing for JSON and other key names

kinetic_stencil_templates kinetic_stencil_templates.f90

Contains kinetic stencil template generation for use in custom model construction

   kinetic_stencil_templates_procedures kinetic_stencil_templates_procedures.f90

Contains kinetic stencil template procedures

kinetic_term_generator_support kinetic_term_generator_support.f90

Contains routines for initializing various kinetic term generators from JSON data

   kinetic_term_generator_support_procedures kinetic_term_generator_support_procedures.f90

Contains implementation of kinetic term generator support routines

lin_extrapolation_class lin_extrapolation.f90

Houses linear Extrapolation object

   lin_extrapolation_procedures lin_extrapolation_procedure.f90

Contains module procedures associated with the LinExtrapolation class

lin_interp1D_class lin_interp1d.f90

Houses linear interpolation class

   lin_interp1d_procedures lin_interp1d_procedures.f90

Contains module procedures associated with the 1d linear interpolation class

lin_interpnd_class lin_interpnd.f90

Houses multi-linear interpolation class on n-dimensional data

   lin_interpnd_procedures lin_interpnd_procedures.f90

Contains module procedures associated with the nd linear interpolation class

lin_interpnd_derivation_class lin_interpnd_derivation.f90

Houses derivation that linearly interpolates on multidimensional data based on some input variable values.

   lin_interpnd_derivation_procedures lin_interpnd_derivation_procedures.f90

Contains module procedures associated with the multidimensional linear interpolation derivation class

loc_val_extractor_derivation_class loc_val_extractor_derivation.f90

Houses derivation that extracts a single positional value for a fluid variable

   loc_val_extractor_derivation_procedures loc_val_extractor_derivation_procedures.f90

Contains module procedures associated with the local value extractor derivation class

log_extrapolation_class log_extrapolation.f90

Houses logarithmic Extrapolation object

   log_extrapolation_procedures log_extrapolation_procedures.f90

Contains module procedures associated with the LogExtrapolation class

manipulator_abstract_class manipulator_abstract.f90

Houses abstract Manipulator object

manipulator_support manipulator_support.f90

Contains support for constructing manipulators based on JSON data

   manipulator_support_procedures manipulator_support_procedures.f90

Contains implementation of manipulator initialization support procedures

mat_derivation_abstract_class mat_derivation_abstract.f90

Houses abstract MatDerivation object definitions used to calculate dense matrix quantities from data

matrix_term_abstract_class matrix_term_abstract.f90

Houses abstract matrix term with default interface

   matrix_term_abstract_procedures matrix_term_abstract_procedures.f90

Contains module procedures associated with the abstract matrix term class

maxwellian_derivation_class maxwellian_derivation.f90

Houses derivation that calculates a Maxwellian based on temperature and density and the velocity grid

   maxwellian_derivation_procedures maxwellian_derivation_procedures.f90

Contains module procedures associated with the Maxwellian derivation class

model_builder_abstract_class model_builder_abstract.f90

Houses abstract Model builder object, used to construct and add Model objects to Modeller objects

   model_builder_abstract_procedures model_builder_abstract_procedures.f90

Contains procedures associated with the abstract ModelBuilder class

model_class model.f90

Houses general model class responsible for storing, directly evaluating and manipulating terms

   model_procedures model_procedures.f90

Contains module procedures associated with the model class

model_surrogate_class model_surrogate.f90

Contains empty object extension type for use as workaround for Fortran circular referencing - for use with Model objects

modelbound_CRM_data_class modelbound_CRM_data.f90

Houses derived modelbound data class responsible for collisional-radiative data

   modelbound_CRM_data_procedures modelbound_CRM_data_procedures.f90

Contains module procedures associated with the modelbound CRM data

modelbound_data_abstract_class modelbound_data_abstract.f90

Houses abstract model-bound data object used for updating terms

modelbound_data_extractor_class modelbound_data_extractor.f90

Houses ModelboundDataExtractor class, a Manipulator that extract data contained in a specific model's modelbound data object

   modelbound_data_extractor_procedures modelbound_data_extractor_procedures.f90

Contains procedures associated with the ModelboundDataExtractor class

modelbound_data_support modelbound_data_support.f90

Contains support for adding modelbound data to models based on JSON data

   modelbound_data_support_procedures modelbound_data_support_procedures.f90

Contains modelbound data support procedures

modelbound_data_varlike_class modelbound_data_varlike.f90

Houses variable-like modelbound data object

   modelbound_data_varlike_procedures modelbound_data_varlike_procedures.f90

Contains module procedures associated with the variable-like modelbound data class

modelbound_lbc_data_class modelbound_lbc_data.f90

Houses modelbound data for kinetic logical boundary condition

   modelbound_lbc_data_procedures modelbound_lbc_data_procedures.f90

Contains module procedures associated with the modelbound logical boundary condition data class

modeller_class modeller.f90

Houses modeller class responsible for controlling data manipulation and integration

   modeller_procedures modeller_procedures.f90

Contains module procedures associated with the modeller class

modeller_surrogate_class modeller_surrogate.f90

Contains empty Object extension type for use as a workaround for Fortran circular referencing - to be used for Modeller objects

moment_derivation_class moment_derivation.f90

Houses moment derivation class handling derivations of the form constproduct(fluidVariablespowers) m-th moment of h-th harmonic of f * g, where g is an optional constant velocity vector

   moment_derivation_procedures moment_derivation_procedures.f90

Contains module procedures associated with the moment derivation class

mpi_controller_class mpi_controller.f90

Houses object used to interface with MPI outside of PETSc

   mpi_controller_procedures mpi_controller_procedures.f90

Contains module procedures associated with the mpi controller class

multiplicative_derivation_class multiplicative_derivation.f90

Houses composite derivation class where two derivation results get multiplied together, optionally applying an elementary function (exp, log, sin, cos) to one of them and raising them to corresponding powers

   multiplicative_derivation_procedures multiplicative_derivation_procedures.f90

Contains module procedures associated with the multiplicative derivation class

multiplicative_generator_core_class multiplicative_generator_core.f90

Core of stencil generators based on tensor products

   multiplicative_generator_core_procedures multiplicative_generator_core_procedures.f90

Contains module procedures associated with the multiplicative generator core class

multiplicative_stencil_generator_class multiplicative_stencil_generator.f90

Stencil generator for multiplicative stencil

   multiplicative_stencil_generator_procedures multiplicative_stencil_generator_procedures.f90

Contains module procedures associated with the multiplicative stencil generator class

normalization_abstract_class normalization_abstract.f90

Houses abstract object responsible for calculating and determining normalization constants

   normalization_abstract_procedures normalization_abstract_procedures.f90

Contains abstract normalization procedures

operator_abstract_class operator_abstract.f90

Houses abstract Operator class determining the update and actOn interfaces

   operator_abstract_procedures operator_abstract_procedures.f90

Contains module procedures associated with the abstract operator class

param_wrapper_1i1_derivation_class param_wrapper_1i1_derivation.f90

Houses derivation wrapping a real function with one real array input and one integer parameter

   param_wrapper_1i1_derivation_procedures param_wrapper_1i1_derivation_procedures.f90

Contains module procedures associated with the FunWrapper1I1 derivation class

partition_class partition.f90

Houses Partition object responsible for decomposing the x-h domain

   partition_procedures partition_procedures.f90

Contains module procedures associated with the partition class

petsc_controller_class petsc_controller.f90

Houses class in charge of interfacing with PETSc

   petsc_controller_procedures petsc_controller_procedures.f90

Contains module procedures associated with the petsc controller class

petsc_preallocation_data_class petsc_preallocation_data.f90

Houses data container class used in PETSc matrix preallocation

   petsc_preallocation_procedures petsc_preallocation_data_procedures.f90

Contains module procedures associated with the petsc preallocation data class

physical_constants physical_constants.f90

Houses some useful physical/mathematical constants

physics_functions physics_functions.f90

Contains various functions for calculating physically relevant quantities

   physics_functions_procedures physics_functions_procedures.f90

Contains the implementations of various physics routines

polynomial_fun_derivation_class polynomial_fun_derivation.f90

Houses derivation taking in a single variable and uses it in a polynomial function

   polynomial_fun_derivation_procedures polynomial_fun_derivation_procedures.f90

Contains module procedures associated with the polynomial function derivation class

range_filter_derivation_class range_filter_derivation.f90

Houses composite derivation class where a derivations result is zeroed out wherever a set of passed variables is not within their defined ranges

   range_filter_derivation_procedures range_filter_derivation_procedures.f90

Contains module procedures associated with the range filter derivation class

runtime_constants runtime_constants.f90

Houses runtime constants

scaling_lbc_stencil_gen_class scaling_lbc_stencil_gen.f90

Stencil generator for logical boundary condition with scaled distribution extrapolation

   scaling_lbc_stencil_gen_procedures scaling_lbc_stencil_gen_procedures.f90

Contains module procedures associated with the scaling logical boundary condition stencil generator class

sheath_gamma_derivation_class sheath_gamma_derivation.f90

Houses derivation returning electron sheath heat transmission coefficient with given electron and ion temperatures

   sheath_gamma_derivation_procedures sheath_gamma_derivation_procedures.f90

Contains module procedures associated with the sheath gamma derivation class

signal_abstract_class signal_abstract.f90

Houses abstract signal class - a wrapper for explicit time dependence

signal_collection_class signal_collection.f90

Houses class containing named signal wrappers

   signal_collection_procedure signal_collection_procedures.f90

Contains module procedures associated with the signal collection class

simple_derivation_class simple_derivation.f90

Houses simple derivation class handling derivations of the form constproduct(variables*powers)

   simple_derivation_procedures simple_derivation_procedures.f90

Contains module procedures associated with the simple derivation class

simple_timestep_controller_class simple_timestep_controller.f90

Houses simple timestep controller which uses the min (max) value of a product of variables, scaled to corresponding powers

   simple_timestep_controller_procedures simple_timestep_controller_procedures.f90

Contains module procedures associated with the simple timestep controller class

simple_transition_class simple_transition.f90

Houses simple fixed rate and energy transition object

   simple_transition_procedures simple_transition_procedures.f90

Contains module procedures associated with the simple transition class

sparse_row_data_class sparse_row_data.f90

Houses row data class in the form of distinct sparse vectors

   sparse_row_data_procedures sparse_row_data_procedures.f90

Contains module procedures associated with the sparse row data class

species_class species.f90

Houses base species class containing particle properties and associated variable names

   species_procedures species_procedures.f90

Contains module procedures associated with the species class

species_list_class species_list.f90

Houses species list class containing species initialized from config.json and accessed either via their ID or name

   species_list_procedures species_list_procedures.f90

Contains module procedures associated with the species list class

standard_modeller_assembly standard_modeller_assembly.f90

Contains various support routines used in data initialization

   standard_modeller_assembly_procedures standard_modeller_assembly_procedures.f90

Contains the implementation of standard modeller assembly routines

status_printing status_printing.f90

Contains a simple status printing utility for basic console output

stencil1d_class stencil1d.f90

Houses 1D stencil component class for matrix terms

   stencil1d_procedures stencil1d_procedures.f90

Contains module procedures associated with the stencil1d class

stencil_class stencil.f90

Houses stencil class which provides stencil-based coordinate mapping for matrix terms

   stencil_procedures stencil_procedures.f90

Contains module procedures associated with the stencil class

stencil_generator1d_class stencil_generator1d.f90

Stencil generator for fixed stencils that exist only in one dimension

   stencil_generator1d_procedures stencil_generator1d_procedures.f90

Contains module procedures associated with the StencilGenerator1D class

support_functions support_functions.f90

Contains various support and math functions

   support_functions_procedures support_functions_procedures.f90

Contains the implementations of various support routines

support_types support_types.f90

Contains common useful datatypes

term_abstract_class term_abstract.f90

Houses abstract term class determining basic term interfaces

   term_abstract_procedures term_abstract_procedures.f90

Contains module procedures associated with the abstract term class

term_evaluator_class term_evaluator.f90

Houses TermEvaluator class, a Manipulator that evaluates terms specified my modelIndex,termName tuples

   term_evaluator_procedures term_evaluator_procedures.f90

Contains procedures associated with the TermEvaluator class

Read more…
term_generator_abstract_class term_generator_abstract.f90

Houses abstract TermGenerator object, used to automatically generate and add terms to models

   term_generator_abstract_procedures term_generator_abstract_procedures.f90

Contains procedures associated with the abstract TermGenerator class

term_moment_stencil_gen_class term_moment_stencil_gen.f90

Stencil generator for moment terms created using fully kinetic terms

   term_moment_stencil_gen_procedures term_moment_stencil_gen_procedures.f90

Contains module procedures associated with the term moment stencil generator class

textbook_class textbook.f90

Houses class containing named derivation rules

   textbook_procedures textbook_procedures.f90

Contains module procedures associated with the textbook class

timestep_controller_abstract_class timestep_controller_abstract.f90

Houses abstract interface for optional timestep controller object

transition_abstract_class transition_abstract.f90

Houses abstract object responsible for handling rates and cross-sections, as well as characterization of various transitions

   transition_abstract_procedures transition_abstract_procedures.f90

Contains abstract transition procedures

unary_transforms unary_transforms.f90

Contains various unary transforms for the calculation tree

   unary_transforms_procedures unary_transforms_procedures.f90

Contains the implementations of various unary transform routines

uwc_bc_stencil_gen_class uwc_bc_stencil_gen.f90

Stencil generator for flux-like boundary conditions

   uwc_bc_stencil_gen_procedures uwc_bc_stencil_gen_procedures.f90

Contains module procedures associated with the flux-like boundary stencil value generator class

uwc_diff_stencil_gen_class uwc_diff_stencil_gen.f90

Stencil generator for upwinding and central differencing

   uwc_diff_stencil_gen_procedures uwc_diff_stencil_gen_procedures.f90

Contains module procedures associated with the central/upwinding difference stencil value generator class

v_diffusion_stencil_gen_class v_diffusion_stencil_gen.f90

Stencil generator for d(Ad/dv)/dv type terms

   v_diffusion_stencil_gen_procedures v_diffusion_stencil_gen_procedures.f90

Contains module procedures associated with the d(Ad/dv)/dv stencil generator class

v_space_class v_space.f90

Houses object responsible for moment-taking and velocity space interpolation

   v_space_procedures v_space_procedures.f90

Contains module procedures associated with the VSpace class

variable_boltzmann_stencil_gen_class variable_boltzmann_stencil_gen.f90

Stencil generator for v stencil of Boltzmann collision operator emission/absorption terms with variable cross-sections and energies

   variable_boltzmann_stencil_gen_procedures variable_boltzmann_stencil_gen_procedures.f90

Contains module procedures associated with the variable mapping Boltzmann stencil generator class

variable_container_class variable_container.f90

Houses all variables, both implicit and derived, as well as relevant support types

   variable_container_procedures variable_container_procedures.f90

Contains module procedures associated with the variable container class

variable_ecs_transition_class variable_ecs_transition.f90

Houses variable energy and cross section transition

   variable_ecs_transition_procedures variable_ecs_transition_procedures.f90

Contains module procedures associated with the variable energy and cross section transition class

variable_list_class variable_list.f90

Houses list of variables containing their names and whether they're a distribution function

   variable_list_procedures variable_list_procedures.f90

Contains module procedures associated with the variable list class

vel_contraction_derivation_class vel_contraction_derivation.f90

Houses derivation that takes a general contraction in velocity space of a distribution function harmonic

   vel_contraction_derivation_procedures vel_contraction_derivation_procedures.f90

Contains module procedures associated with the velocity contraction derivation class

vel_tensor_prod_derivation_class vel_tensor_prod_derivation.f90

Houses derivation that takes calculates the flattened velocity vector and x vector tensor product, resulting in a single harmonic variable

   vel_tensor_prod_derivation_procedures vel_tensor_prod_derivation_procedures.f90

Contains module procedures associated with the velocity tensor product derivation class