afivo-streamer 1.1
1D/2D/3D streamer simulations with AMR
|
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. | |
logical, public, protected | st_abort_axisymmetric_if_branching = .false. |
Abort axisymmetric simulations if there is branching. | |
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. | |
This module contains several pre-defined variables like:
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.
[in,out] | cfg | The configuration for the simulation |
[in] | ndim | Number of dimensions |
Definition at line 201 of file m_streamer.f90.
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.
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.
logical, public, protected m_streamer::compute_power_density = .false. |
Include deposited power density in output.
Definition at line 44 of file m_streamer.f90.
integer, public, protected m_streamer::current_update_per_steps = 1000*1000 |
Per how many iterations the electric current is computed.
Definition at line 172 of file m_streamer.f90.
integer, public, protected m_streamer::electric_fld = -1 |
Index of electric field vector.
Definition at line 56 of file m_streamer.f90.
integer, public, protected m_streamer::flux_elec = -1 |
Index of electron flux.
Definition at line 52 of file m_streamer.f90.
integer, public, protected m_streamer::flux_energy = -1 |
Index of electron energy flux.
Definition at line 54 of file m_streamer.f90.
integer, public, protected m_streamer::flux_num_electron_vars = -1 |
Number of electron flux variables.
Definition at line 61 of file m_streamer.f90.
integer, public, protected m_streamer::flux_num_species = -1 |
Number of flux variables.
Definition at line 59 of file m_streamer.f90.
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.
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.
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.
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.
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.
real(dp), public m_streamer::global_dt = 0.0_dp |
Global time step.
Definition at line 160 of file m_streamer.f90.
real(dp), public m_streamer::global_time = 0.0_dp |
Global time.
Definition at line 157 of file m_streamer.f90.
integer, public, protected m_streamer::i_1pos_ion = -1 |
Index of first positive ion species.
Definition at line 26 of file m_streamer.f90.
integer, public, protected m_streamer::i_electric_fld = -1 |
Index of electric field norm.
Definition at line 30 of file m_streamer.f90.
integer, public, protected m_streamer::i_electron = -1 |
Index of electron density.
Definition at line 20 of file m_streamer.f90.
integer, public, protected m_streamer::i_electron_energy = -1 |
Index of electron energy density.
Definition at line 24 of file m_streamer.f90.
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.
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.
integer, public, protected m_streamer::i_phi = -1 |
Index of electrical potential.
Definition at line 18 of file m_streamer.f90.
integer, public, protected m_streamer::i_power_density = -1 |
Index of deposited power density.
Definition at line 46 of file m_streamer.f90.
integer, public, protected m_streamer::i_rhs = -1 |
Index of source term Poisson.
Definition at line 32 of file m_streamer.f90.
integer, public, protected m_streamer::i_srcfac = -1 |
Index of correction factor for source terms.
Definition at line 49 of file m_streamer.f90.
integer, public, protected m_streamer::i_tmp = -1 |
Index of temporary variable.
Definition at line 34 of file m_streamer.f90.
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.
integer, public, protected m_streamer::ix_electron = -1 |
Index of electron density (in species list)
Definition at line 22 of file m_streamer.f90.
type(mg_t), public m_streamer::mg |
Multigrid option structure.
Definition at line 87 of file m_streamer.f90.
integer, parameter, public m_streamer::source_factor_flux = 1 |
Definition at line 105 of file m_streamer.f90.
integer, parameter, public m_streamer::source_factor_none = 0 |
Definition at line 104 of file m_streamer.f90.
integer, parameter, public m_streamer::source_factor_original_flux = 2 |
Definition at line 106 of file m_streamer.f90.
logical, public, protected m_streamer::st_abort_axisymmetric_if_branching = .false. |
Abort axisymmetric simulations if there is branching.
Definition at line 124 of file m_streamer.f90.
integer, public, protected m_streamer::st_box_size = 8 |
The size of the boxes that we use to construct our mesh.
Definition at line 127 of file m_streamer.f90.
integer, dimension(ndim), public, protected m_streamer::st_coarse_grid_size = -1 |
Size of the coarse grid.
Definition at line 130 of file m_streamer.f90.
real(dp), dimension(:, :), allocatable, public m_streamer::st_current_jdote |
Current sum of J.E per thread.
Definition at line 169 of file m_streamer.f90.
real(dp), dimension(:, :), allocatable, public m_streamer::st_current_rates |
Current sum of reaction rates per thread.
Definition at line 163 of file m_streamer.f90.
logical, public, protected m_streamer::st_cylindrical = .false. |
Whether cylindrical coordinates are used.
Definition at line 74 of file m_streamer.f90.
real(dp), dimension(ndim), public, protected m_streamer::st_domain_len = 16e-3_dp |
Domain length per dimension.
Definition at line 133 of file m_streamer.f90.
real(dp), dimension(ndim), public, protected m_streamer::st_domain_origin = 0.0_dp |
Origin of domain.
Definition at line 136 of file m_streamer.f90.
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.
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.
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.
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.
real(dp), public m_streamer::st_global_displ_current |
Electric current through electrodes due to displacement current.
Definition at line 178 of file m_streamer.f90.
real(dp), public m_streamer::st_global_jdote |
Global sum of J.E.
Definition at line 181 of file m_streamer.f90.
real(dp), public m_streamer::st_global_jdote_current |
Electric current through electrodes due to J.E.
Definition at line 175 of file m_streamer.f90.
real(dp), dimension(:), allocatable, public m_streamer::st_global_rates |
Global sum of reaction rates.
Definition at line 166 of file m_streamer.f90.
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.
real(dp), public, protected m_streamer::st_multigrid_max_rel_residual = 1e-4_dp |
Definition at line 154 of file m_streamer.f90.
integer, public, protected m_streamer::st_multigrid_num_vcycles = 2 |
Number of V-cycles to perform per time step.
Definition at line 151 of file m_streamer.f90.
logical, dimension(ndim), public, protected m_streamer::st_periodic = .false. |
Whether the domain is periodic (per dimension)
Definition at line 139 of file m_streamer.f90.
logical, public, protected m_streamer::st_plasma_region_enabled = .false. |
Whether to limit plasma reactions to a certain region.
Definition at line 142 of file m_streamer.f90.
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 148 of file m_streamer.f90.
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 145 of file m_streamer.f90.
type(prng_t), public m_streamer::st_prng |
Parallel random number generator.
Definition at line 93 of file m_streamer.f90.
procedure(af_subr_prolong), pointer, public, protected m_streamer::st_prolongation_method => null() |
Method used to prolong (interpolate) densities.
Definition at line 193 of file m_streamer.f90.
type(rng_t), public m_streamer::st_rng |
Random number generator.
Definition at line 90 of file m_streamer.f90.
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.
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.
logical, public, protected m_streamer::st_use_dielectric = .false. |
Whether a dielectric is used.
Definition at line 77 of file m_streamer.f90.
logical, public, protected m_streamer::st_use_electrode = .false. |
Whether to include an electrode.
Definition at line 80 of file m_streamer.f90.
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.
real(dp), public m_streamer::wc_time_copy_state = 0.0_dp |
Definition at line 186 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_field = 0.0_dp |
Definition at line 187 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_flux = 0.0_dp |
Definition at line 184 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_output = 0.0_dp |
Definition at line 188 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_photoi = 0.0_dp |
Definition at line 190 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_refine = 0.0_dp |
Definition at line 189 of file m_streamer.f90.
real(dp), public m_streamer::wc_time_source = 0.0_dp |
Definition at line 185 of file m_streamer.f90.