afivo-streamer 1.1
1D/2D/3D streamer simulations with AMR
Loading...
Searching...
No Matches
Functions/Subroutines | Variables
m_streamer Module Reference

This module contains several pre-defined variables like: More...

Functions/Subroutines

subroutine, public st_initialize (tree, cfg, ndim)
 Create the configuration file with default values.
 

Variables

integer, public, protected i_phi = -1
 Index of electrical potential.
 
integer, public, protected i_electron = -1
 Index of electron density.
 
integer, public, protected ix_electron = -1
 Index of electron density (in species list)
 
integer, public, protected i_electron_energy = -1
 Index of electron energy density.
 
integer, public, protected i_1pos_ion = -1
 Index of first positive ion species.
 
integer, public, protected ix_1pos_ion = -1
 Index of first positive ion (in species list)
 
integer, public, protected i_electric_fld = -1
 Index of electric field norm.
 
integer, public, protected i_rhs = -1
 Index of source term Poisson.
 
integer, public, protected i_tmp = -1
 Index of temporary variable.
 
integer, public, protected i_eps = -1
 Index can be set to include a dielectric.
 
integer, public, protected i_lsf = -1
 Index can be set to include an electrode.
 
integer, dimension(:), allocatable, public, protected all_densities
 Index of all densities that evolve in time.
 
logical, public, protected compute_power_density = .false.
 Include deposited power density in output.
 
integer, public, protected i_power_density = -1
 Index of deposited power density.
 
integer, public, protected i_srcfac = -1
 Index of correction factor for source terms.
 
integer, public, protected flux_elec = -1
 Index of electron flux.
 
integer, public, protected flux_energy = -1
 Index of electron energy flux.
 
integer, public, protected electric_fld = -1
 Index of electric field vector.
 
integer, public, protected flux_num_species = -1
 Number of flux variables.
 
integer, public, protected flux_num_electron_vars = -1
 Number of electron flux variables.
 
integer, dimension(:), allocatable, public, protected flux_variables
 List of all flux variables (face-centered index)
 
integer, dimension(:), allocatable, public, protected flux_species
 List of all flux species (cell-centered index)
 
integer, dimension(:), allocatable, public, protected flux_species_charge
 List of the charges of the flux species.
 
integer, dimension(:), allocatable, public, protected flux_species_charge_sign
 List of the signs of the charges of the flux species (+- 1)
 
integer, dimension(:), allocatable, public, protected flux_pos_ion
 List of positive ion fluxes (useful for secondary emission)
 
logical, public, protected st_cylindrical = .false.
 Whether cylindrical coordinates are used.
 
logical, public, protected st_use_dielectric = .false.
 Whether a dielectric is used.
 
logical, public, protected st_use_electrode = .false.
 Whether to include an electrode.
 
procedure(af_subr_bc), pointer, public, protected bc_species => null()
 Boundary condition for the plasma species.
 
type(mg_t), public mg
 Multigrid option structure.
 
type(rng_t), public st_rng
 Random number generator.
 
type(prng_t), public st_prng
 Parallel random number generator.
 
logical, public, protected st_drt_limit_flux = .false.
 Avoid dielectric relaxation time step constraint by limiting flux.
 
real(dp), public, protected st_drt_max_field = 1.0e100_dp
 Ensure that flux limiting does not lead to fields higher than this.
 
integer, public, protected st_source_factor
 Use source factor to prevent unphysical effects due to diffusion.
 
integer, parameter, public source_factor_none = 0
 
integer, parameter, public source_factor_flux = 1
 
integer, parameter, public source_factor_original_flux = 2
 
real(dp), public, protected st_source_min_electrons_per_cell = -1e100_dp
 Minimum number of electrons per cell to include source terms.
 
real(dp), public, protected st_end_time = 10e-9_dp
 End time of the simulation.
 
logical, public, protected st_use_end_streamer_length = .false.
 Whether streamer length is used as a simulation stopping.
 
integer, public, protected st_initial_streamer_pos_steps_wait = 5
 Wait n steps before initializing streamer begin position.
 
real(dp), public, protected st_end_streamer_length = 15e-3
 Streamer length at which the simulation will stop.
 
integer, public, protected st_box_size = 8
 The size of the boxes that we use to construct our mesh.
 
integer, dimension(ndim), public, protected st_coarse_grid_size = -1
 Size of the coarse grid.
 
real(dp), dimension(ndim), public, protected st_domain_len = 16e-3_dp
 Domain length per dimension.
 
real(dp), dimension(ndim), public, protected st_domain_origin = 0.0_dp
 Origin of domain.
 
logical, dimension(ndim), public, protected st_periodic = .false.
 Whether the domain is periodic (per dimension)
 
logical, public, protected st_plasma_region_enabled = .false.
 Whether to limit plasma reactions to a certain region.
 
real(dp), dimension(ndim), public, protected st_plasma_region_rmin = -1e100_dp
 Limit plasma reactions to coordinates between rmin and rmax.
 
real(dp), dimension(ndim), public, protected st_plasma_region_rmax = 1e100_dp
 Limit plasma reactions to coordinates between rmin and rmax.
 
integer, public, protected st_multigrid_num_vcycles = 2
 Number of V-cycles to perform per time step.
 
real(dp), public, protected st_multigrid_max_rel_residual = 1e-4_dp
 
real(dp), public global_time = 0.0_dp
 Global time.
 
real(dp), public global_dt = 0.0_dp
 Global time step.
 
real(dp), dimension(:, :), allocatable, public st_current_rates
 Current sum of reaction rates per thread.
 
real(dp), dimension(:), allocatable, public st_global_rates
 Global sum of reaction rates.
 
real(dp), dimension(:, :), allocatable, public st_current_jdote
 Current sum of J.E per thread.
 
integer, public, protected current_update_per_steps = 1000*1000
 Per how many iterations the electric current is computed.
 
real(dp), public st_global_jdote_current
 Electric current through electrodes due to J.E.
 
real(dp), public st_global_displ_current
 Electric current through electrodes due to displacement current.
 
real(dp), public st_global_jdote
 Global sum of J.E.
 
real(dp), public wc_time_flux = 0.0_dp
 
real(dp), public wc_time_source = 0.0_dp
 
real(dp), public wc_time_copy_state = 0.0_dp
 
real(dp), public wc_time_field = 0.0_dp
 
real(dp), public wc_time_output = 0.0_dp
 
real(dp), public wc_time_refine = 0.0_dp
 
real(dp), public wc_time_photoi = 0.0_dp
 
procedure(af_subr_prolong), pointer, public, protected st_prolongation_method => null()
 Method used to prolong (interpolate) densities.
 

Detailed Description

This module contains several pre-defined variables like:

Function/Subroutine Documentation

◆ st_initialize()

subroutine, public m_streamer::st_initialize ( type(af_t), intent(inout) tree,
type(cfg_t), intent(inout) cfg,
integer, intent(in) ndim )

Create the configuration file with default values.

Parameters
[in,out]cfgThe configuration for the simulation
[in]ndimNumber of dimensions

Definition at line 198 of file m_streamer.f90.

Here is the call graph for this function:

Variable Documentation

◆ all_densities

integer, dimension(:), allocatable, public, protected m_streamer::all_densities

Index of all densities that evolve in time.

Definition at line 41 of file m_streamer.f90.

◆ bc_species

procedure(af_subr_bc), pointer, public, protected m_streamer::bc_species => null()

Boundary condition for the plasma species.

Definition at line 83 of file m_streamer.f90.

◆ compute_power_density

logical, public, protected m_streamer::compute_power_density = .false.

Include deposited power density in output.

Definition at line 44 of file m_streamer.f90.

◆ current_update_per_steps

integer, public, protected m_streamer::current_update_per_steps = 1000*1000

Per how many iterations the electric current is computed.

Definition at line 169 of file m_streamer.f90.

◆ electric_fld

integer, public, protected m_streamer::electric_fld = -1

Index of electric field vector.

Definition at line 56 of file m_streamer.f90.

◆ flux_elec

integer, public, protected m_streamer::flux_elec = -1

Index of electron flux.

Definition at line 52 of file m_streamer.f90.

◆ flux_energy

integer, public, protected m_streamer::flux_energy = -1

Index of electron energy flux.

Definition at line 54 of file m_streamer.f90.

◆ flux_num_electron_vars

integer, public, protected m_streamer::flux_num_electron_vars = -1

Number of electron flux variables.

Definition at line 61 of file m_streamer.f90.

◆ flux_num_species

integer, public, protected m_streamer::flux_num_species = -1

Number of flux variables.

Definition at line 59 of file m_streamer.f90.

◆ flux_pos_ion

integer, dimension(:), allocatable, public, protected m_streamer::flux_pos_ion

List of positive ion fluxes (useful for secondary emission)

Definition at line 71 of file m_streamer.f90.

◆ flux_species

integer, dimension(:), allocatable, public, protected m_streamer::flux_species

List of all flux species (cell-centered index)

Definition at line 65 of file m_streamer.f90.

◆ flux_species_charge

integer, dimension(:), allocatable, public, protected m_streamer::flux_species_charge

List of the charges of the flux species.

Definition at line 67 of file m_streamer.f90.

◆ flux_species_charge_sign

integer, dimension(:), allocatable, public, protected m_streamer::flux_species_charge_sign

List of the signs of the charges of the flux species (+- 1)

Definition at line 69 of file m_streamer.f90.

◆ flux_variables

integer, dimension(:), allocatable, public, protected m_streamer::flux_variables

List of all flux variables (face-centered index)

Definition at line 63 of file m_streamer.f90.

◆ global_dt

real(dp), public m_streamer::global_dt = 0.0_dp

Global time step.

Definition at line 157 of file m_streamer.f90.

◆ global_time

real(dp), public m_streamer::global_time = 0.0_dp

Global time.

Definition at line 154 of file m_streamer.f90.

◆ i_1pos_ion

integer, public, protected m_streamer::i_1pos_ion = -1

Index of first positive ion species.

Definition at line 26 of file m_streamer.f90.

◆ i_electric_fld

integer, public, protected m_streamer::i_electric_fld = -1

Index of electric field norm.

Definition at line 30 of file m_streamer.f90.

◆ i_electron

integer, public, protected m_streamer::i_electron = -1

Index of electron density.

Definition at line 20 of file m_streamer.f90.

◆ i_electron_energy

integer, public, protected m_streamer::i_electron_energy = -1

Index of electron energy density.

Definition at line 24 of file m_streamer.f90.

◆ i_eps

integer, public, protected m_streamer::i_eps = -1

Index can be set to include a dielectric.

Definition at line 36 of file m_streamer.f90.

◆ i_lsf

integer, public, protected m_streamer::i_lsf = -1

Index can be set to include an electrode.

Definition at line 38 of file m_streamer.f90.

◆ i_phi

integer, public, protected m_streamer::i_phi = -1

Index of electrical potential.

Definition at line 18 of file m_streamer.f90.

◆ i_power_density

integer, public, protected m_streamer::i_power_density = -1

Index of deposited power density.

Definition at line 46 of file m_streamer.f90.

◆ i_rhs

integer, public, protected m_streamer::i_rhs = -1

Index of source term Poisson.

Definition at line 32 of file m_streamer.f90.

◆ i_srcfac

integer, public, protected m_streamer::i_srcfac = -1

Index of correction factor for source terms.

Definition at line 49 of file m_streamer.f90.

◆ i_tmp

integer, public, protected m_streamer::i_tmp = -1

Index of temporary variable.

Definition at line 34 of file m_streamer.f90.

◆ ix_1pos_ion

integer, public, protected m_streamer::ix_1pos_ion = -1

Index of first positive ion (in species list)

Definition at line 28 of file m_streamer.f90.

◆ ix_electron

integer, public, protected m_streamer::ix_electron = -1

Index of electron density (in species list)

Definition at line 22 of file m_streamer.f90.

◆ mg

type(mg_t), public m_streamer::mg

Multigrid option structure.

Definition at line 87 of file m_streamer.f90.

◆ source_factor_flux

integer, parameter, public m_streamer::source_factor_flux = 1

Definition at line 105 of file m_streamer.f90.

◆ source_factor_none

integer, parameter, public m_streamer::source_factor_none = 0

Definition at line 104 of file m_streamer.f90.

◆ source_factor_original_flux

integer, parameter, public m_streamer::source_factor_original_flux = 2

Definition at line 106 of file m_streamer.f90.

◆ st_box_size

integer, public, protected m_streamer::st_box_size = 8

The size of the boxes that we use to construct our mesh.

Definition at line 124 of file m_streamer.f90.

◆ st_coarse_grid_size

integer, dimension(ndim), public, protected m_streamer::st_coarse_grid_size = -1

Size of the coarse grid.

Definition at line 127 of file m_streamer.f90.

◆ st_current_jdote

real(dp), dimension(:, :), allocatable, public m_streamer::st_current_jdote

Current sum of J.E per thread.

Definition at line 166 of file m_streamer.f90.

◆ st_current_rates

real(dp), dimension(:, :), allocatable, public m_streamer::st_current_rates

Current sum of reaction rates per thread.

Definition at line 160 of file m_streamer.f90.

◆ st_cylindrical

logical, public, protected m_streamer::st_cylindrical = .false.

Whether cylindrical coordinates are used.

Definition at line 74 of file m_streamer.f90.

◆ st_domain_len

real(dp), dimension(ndim), public, protected m_streamer::st_domain_len = 16e-3_dp

Domain length per dimension.

Definition at line 130 of file m_streamer.f90.

◆ st_domain_origin

real(dp), dimension(ndim), public, protected m_streamer::st_domain_origin = 0.0_dp

Origin of domain.

Definition at line 133 of file m_streamer.f90.

◆ st_drt_limit_flux

logical, public, protected m_streamer::st_drt_limit_flux = .false.

Avoid dielectric relaxation time step constraint by limiting flux.

Definition at line 96 of file m_streamer.f90.

◆ st_drt_max_field

real(dp), public, protected m_streamer::st_drt_max_field = 1.0e100_dp

Ensure that flux limiting does not lead to fields higher than this.

Definition at line 99 of file m_streamer.f90.

◆ st_end_streamer_length

real(dp), public, protected m_streamer::st_end_streamer_length = 15e-3

Streamer length at which the simulation will stop.

Definition at line 121 of file m_streamer.f90.

◆ st_end_time

real(dp), public, protected m_streamer::st_end_time = 10e-9_dp

End time of the simulation.

Definition at line 112 of file m_streamer.f90.

◆ st_global_displ_current

real(dp), public m_streamer::st_global_displ_current

Electric current through electrodes due to displacement current.

Definition at line 175 of file m_streamer.f90.

◆ st_global_jdote

real(dp), public m_streamer::st_global_jdote

Global sum of J.E.

Definition at line 178 of file m_streamer.f90.

◆ st_global_jdote_current

real(dp), public m_streamer::st_global_jdote_current

Electric current through electrodes due to J.E.

Definition at line 172 of file m_streamer.f90.

◆ st_global_rates

real(dp), dimension(:), allocatable, public m_streamer::st_global_rates

Global sum of reaction rates.

Definition at line 163 of file m_streamer.f90.

◆ st_initial_streamer_pos_steps_wait

integer, public, protected m_streamer::st_initial_streamer_pos_steps_wait = 5

Wait n steps before initializing streamer begin position.

Definition at line 118 of file m_streamer.f90.

◆ st_multigrid_max_rel_residual

real(dp), public, protected m_streamer::st_multigrid_max_rel_residual = 1e-4_dp

Definition at line 151 of file m_streamer.f90.

◆ st_multigrid_num_vcycles

integer, public, protected m_streamer::st_multigrid_num_vcycles = 2

Number of V-cycles to perform per time step.

Definition at line 148 of file m_streamer.f90.

◆ st_periodic

logical, dimension(ndim), public, protected m_streamer::st_periodic = .false.

Whether the domain is periodic (per dimension)

Definition at line 136 of file m_streamer.f90.

◆ st_plasma_region_enabled

logical, public, protected m_streamer::st_plasma_region_enabled = .false.

Whether to limit plasma reactions to a certain region.

Definition at line 139 of file m_streamer.f90.

◆ st_plasma_region_rmax

real(dp), dimension(ndim), public, protected m_streamer::st_plasma_region_rmax = 1e100_dp

Limit plasma reactions to coordinates between rmin and rmax.

Definition at line 145 of file m_streamer.f90.

◆ st_plasma_region_rmin

real(dp), dimension(ndim), public, protected m_streamer::st_plasma_region_rmin = -1e100_dp

Limit plasma reactions to coordinates between rmin and rmax.

Definition at line 142 of file m_streamer.f90.

◆ st_prng

type(prng_t), public m_streamer::st_prng

Parallel random number generator.

Definition at line 93 of file m_streamer.f90.

◆ st_prolongation_method

procedure(af_subr_prolong), pointer, public, protected m_streamer::st_prolongation_method => null()

Method used to prolong (interpolate) densities.

Definition at line 190 of file m_streamer.f90.

◆ st_rng

type(rng_t), public m_streamer::st_rng

Random number generator.

Definition at line 90 of file m_streamer.f90.

◆ st_source_factor

integer, public, protected m_streamer::st_source_factor

Use source factor to prevent unphysical effects due to diffusion.

Definition at line 102 of file m_streamer.f90.

◆ st_source_min_electrons_per_cell

real(dp), public, protected m_streamer::st_source_min_electrons_per_cell = -1e100_dp

Minimum number of electrons per cell to include source terms.

Definition at line 109 of file m_streamer.f90.

◆ st_use_dielectric

logical, public, protected m_streamer::st_use_dielectric = .false.

Whether a dielectric is used.

Definition at line 77 of file m_streamer.f90.

◆ st_use_electrode

logical, public, protected m_streamer::st_use_electrode = .false.

Whether to include an electrode.

Definition at line 80 of file m_streamer.f90.

◆ st_use_end_streamer_length

logical, public, protected m_streamer::st_use_end_streamer_length = .false.

Whether streamer length is used as a simulation stopping.

Definition at line 115 of file m_streamer.f90.

◆ wc_time_copy_state

real(dp), public m_streamer::wc_time_copy_state = 0.0_dp

Definition at line 183 of file m_streamer.f90.

◆ wc_time_field

real(dp), public m_streamer::wc_time_field = 0.0_dp

Definition at line 184 of file m_streamer.f90.

◆ wc_time_flux

real(dp), public m_streamer::wc_time_flux = 0.0_dp

Definition at line 181 of file m_streamer.f90.

◆ wc_time_output

real(dp), public m_streamer::wc_time_output = 0.0_dp

Definition at line 185 of file m_streamer.f90.

◆ wc_time_photoi

real(dp), public m_streamer::wc_time_photoi = 0.0_dp

Definition at line 187 of file m_streamer.f90.

◆ wc_time_refine

real(dp), public m_streamer::wc_time_refine = 0.0_dp

Definition at line 186 of file m_streamer.f90.

◆ wc_time_source

real(dp), public m_streamer::wc_time_source = 0.0_dp

Definition at line 182 of file m_streamer.f90.