Afivo
0.3
|
Type to store multigrid options in. More...
Public Attributes | |
integer | i_phi = -1 |
Variable holding solution. More... | |
integer | i_rhs = -1 |
Variable holding right-hand side. More... | |
integer | i_tmp = -1 |
Internal variable (holding prev. solution) More... | |
integer | i_eps = -1 |
Optional variable (diel. permittivity) More... | |
integer | i_lsf = -1 |
Optional variable for level set function. More... | |
integer | i_bval = -1 |
Optional variable for boundary value. More... | |
integer | n_cycle_down = -1 |
Number of relaxation cycles in downward sweep. More... | |
integer | n_cycle_up = -1 |
Number of relaxation cycles in upward sweep. More... | |
integer | n_cycle_base = -1 |
Number of relaxation cycles at bottom level. More... | |
logical | initialized = .false. |
Whether the structure has been initialized. More... | |
logical | use_corners = .false. |
Does the smoother use corner ghost cells. More... | |
logical | subtract_mean = .false. |
Whether to subtract mean from solution. More... | |
procedure(a3_subr_bc), pointer, nopass | sides_bc => null() |
Routine to call for filling ghost cells near physical boundaries. More... | |
procedure(a3_subr_rb), pointer, nopass | sides_rb => null() |
Routine to call for filling ghost cells near refinement boundaries. More... | |
procedure(mg3_box_op), pointer, nopass | box_op => null() |
Subroutine that performs the (non)linear operator. More... | |
procedure(mg3_box_gsrb), pointer, nopass | box_gsrb => null() |
Subroutine that performs Gauss-Seidel relaxation on a box. More... | |
procedure(mg3_box_corr), pointer, nopass | box_corr => null() |
Subroutine that corrects the children of a box. More... | |
procedure(mg3_box_rstr), pointer, nopass | box_rstr => null() |
Subroutine for restriction. More... | |
Type to store multigrid options in.
Definition at line 22 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_phi = -1 |
Variable holding solution.
Definition at line 23 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_rhs = -1 |
Variable holding right-hand side.
Definition at line 24 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_tmp = -1 |
Internal variable (holding prev. solution)
Definition at line 25 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_eps = -1 |
Optional variable (diel. permittivity)
Definition at line 27 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_lsf = -1 |
Optional variable for level set function.
Definition at line 28 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::i_bval = -1 |
Optional variable for boundary value.
Definition at line 29 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::n_cycle_down = -1 |
Number of relaxation cycles in downward sweep.
Definition at line 31 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::n_cycle_up = -1 |
Number of relaxation cycles in upward sweep.
Definition at line 32 of file m_a3_multigrid.f90.
integer m_a3_multigrid::mg3_t::n_cycle_base = -1 |
Number of relaxation cycles at bottom level.
Definition at line 33 of file m_a3_multigrid.f90.
logical m_a3_multigrid::mg3_t::initialized = .false. |
Whether the structure has been initialized.
Definition at line 35 of file m_a3_multigrid.f90.
logical m_a3_multigrid::mg3_t::use_corners = .false. |
Does the smoother use corner ghost cells.
Definition at line 36 of file m_a3_multigrid.f90.
logical m_a3_multigrid::mg3_t::subtract_mean = .false. |
Whether to subtract mean from solution.
Definition at line 37 of file m_a3_multigrid.f90.
procedure(a3_subr_bc), pointer, nopass m_a3_multigrid::mg3_t::sides_bc => null() |
Routine to call for filling ghost cells near physical boundaries.
Definition at line 40 of file m_a3_multigrid.f90.
procedure(a3_subr_rb), pointer, nopass m_a3_multigrid::mg3_t::sides_rb => null() |
Routine to call for filling ghost cells near refinement boundaries.
Definition at line 43 of file m_a3_multigrid.f90.
procedure(mg3_box_op), pointer, nopass m_a3_multigrid::mg3_t::box_op => null() |
Subroutine that performs the (non)linear operator.
Definition at line 46 of file m_a3_multigrid.f90.
procedure(mg3_box_gsrb), pointer, nopass m_a3_multigrid::mg3_t::box_gsrb => null() |
Subroutine that performs Gauss-Seidel relaxation on a box.
Definition at line 49 of file m_a3_multigrid.f90.
procedure(mg3_box_corr), pointer, nopass m_a3_multigrid::mg3_t::box_corr => null() |
Subroutine that corrects the children of a box.
Definition at line 52 of file m_a3_multigrid.f90.
procedure(mg3_box_rstr), pointer, nopass m_a3_multigrid::mg3_t::box_rstr => null() |
Subroutine for restriction.
Definition at line 55 of file m_a3_multigrid.f90.