afivo-streamer 1.1
1D/2D/3D streamer simulations with AMR
|
Module to compute electric fields. More...
Functions/Subroutines | |
subroutine, public | field_initialize (tree, cfg, mg) |
Initialize this module. | |
subroutine, public | field_set_rhs (tree, s_in) |
subroutine, public | field_compute (tree, mg, s_in, time, have_guess) |
Compute electric field on the tree. First perform multigrid to get electric potential, then take numerical gradient to geld field. | |
subroutine, public | field_from_potential (tree, mg) |
Compute field from potential. | |
subroutine, public | field_set_voltage (tree, time) |
Set the current voltage. | |
subroutine, public | field_bc_homogeneous (box, nb, iv, coords, bc_val, bc_type) |
Dirichlet boundary conditions for the potential in the last dimension, Neumann zero boundary conditions in the other directions. | |
subroutine, public | field_compute_energy (tree, field_energy) |
Compute total field energy in Joule, defined as the volume integral over 1/2 * epsilon * E^2. | |
real(dp) function, dimension(dtimes(1:box%n_cell), ndim), public | field_get_e_vector (box) |
Variables | |
real(dp), public, protected | field_pulse_period = huge_real |
Time of one complete voltage pulse. | |
real(dp), public, protected | current_voltage = 0.0_dp |
The current applied voltage. | |
Module to compute electric fields.
subroutine, public m_field::field_bc_homogeneous | ( | type(box_t), intent(in) | box, |
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
real(dp), dimension(ndim, box%n_cell**(ndim-1)), intent(in) | coords, | ||
real(dp), dimension(box%n_cell**(ndim-1)), intent(out) | bc_val, | ||
integer, intent(out) | bc_type ) |
Dirichlet boundary conditions for the potential in the last dimension, Neumann zero boundary conditions in the other directions.
Definition at line 547 of file m_field.f90.
subroutine, public m_field::field_compute | ( | type(af_t), intent(inout) | tree, |
type(mg_t), intent(inout) | mg, | ||
integer, intent(in) | s_in, | ||
real(dp), intent(in) | time, | ||
logical, intent(in) | have_guess ) |
Compute electric field on the tree. First perform multigrid to get electric potential, then take numerical gradient to geld field.
Definition at line 405 of file m_field.f90.
subroutine, public m_field::field_compute_energy | ( | type(af_t), intent(in) | tree, |
real(dp), intent(out) | field_energy ) |
Compute total field energy in Joule, defined as the volume integral over 1/2 * epsilon * E^2.
Definition at line 764 of file m_field.f90.
subroutine, public m_field::field_from_potential | ( | type(af_t), intent(inout) | tree, |
type(mg_t), intent(in) | mg ) |
Compute field from potential.
Definition at line 488 of file m_field.f90.
real(dp) function, dimension(dtimes(1:box%n_cell), ndim), public m_field::field_get_e_vector | ( | type(box_t), intent(in) | box | ) |
Definition at line 807 of file m_field.f90.
subroutine, public m_field::field_initialize | ( | type(af_t), intent(inout) | tree, |
type(cfg_t), intent(inout) | cfg, | ||
type(mg_t), intent(inout) | mg ) |
Initialize this module.
[in,out] | cfg | Settings |
[in,out] | mg | Multigrid option struct |
Definition at line 107 of file m_field.f90.
subroutine, public m_field::field_set_rhs | ( | type(af_t), intent(inout) | tree, |
integer, intent(in) | s_in ) |
Definition at line 363 of file m_field.f90.
subroutine, public m_field::field_set_voltage | ( | type(af_t), intent(in) | tree, |
real(dp), intent(in) | time ) |
Set the current voltage.
Definition at line 508 of file m_field.f90.
real(dp), public, protected m_field::current_voltage = 0.0_dp |
The current applied voltage.
Definition at line 90 of file m_field.f90.
real(dp), public, protected m_field::field_pulse_period = huge_real |
Time of one complete voltage pulse.
Definition at line 33 of file m_field.f90.