Afivo  0.3
Public Attributes | List of all members
m_a2_multigrid::mg2_t Type Reference

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(a2_subr_bc), pointer, nopass sides_bc => null()
 Routine to call for filling ghost cells near physical boundaries. More...
 
procedure(a2_subr_rb), pointer, nopass sides_rb => null()
 Routine to call for filling ghost cells near refinement boundaries. More...
 
procedure(mg2_box_op), pointer, nopass box_op => null()
 Subroutine that performs the (non)linear operator. More...
 
procedure(mg2_box_gsrb), pointer, nopass box_gsrb => null()
 Subroutine that performs Gauss-Seidel relaxation on a box. More...
 
procedure(mg2_box_corr), pointer, nopass box_corr => null()
 Subroutine that corrects the children of a box. More...
 
procedure(mg2_box_rstr), pointer, nopass box_rstr => null()
 Subroutine for restriction. More...
 

Detailed Description

Type to store multigrid options in.

Definition at line 22 of file m_a2_multigrid.f90.

Member Data Documentation

§ i_phi

integer m_a2_multigrid::mg2_t::i_phi = -1

Variable holding solution.

Definition at line 23 of file m_a2_multigrid.f90.

§ i_rhs

integer m_a2_multigrid::mg2_t::i_rhs = -1

Variable holding right-hand side.

Definition at line 24 of file m_a2_multigrid.f90.

§ i_tmp

integer m_a2_multigrid::mg2_t::i_tmp = -1

Internal variable (holding prev. solution)

Definition at line 25 of file m_a2_multigrid.f90.

§ i_eps

integer m_a2_multigrid::mg2_t::i_eps = -1

Optional variable (diel. permittivity)

Definition at line 27 of file m_a2_multigrid.f90.

§ i_lsf

integer m_a2_multigrid::mg2_t::i_lsf = -1

Optional variable for level set function.

Definition at line 28 of file m_a2_multigrid.f90.

§ i_bval

integer m_a2_multigrid::mg2_t::i_bval = -1

Optional variable for boundary value.

Definition at line 29 of file m_a2_multigrid.f90.

§ n_cycle_down

integer m_a2_multigrid::mg2_t::n_cycle_down = -1

Number of relaxation cycles in downward sweep.

Definition at line 31 of file m_a2_multigrid.f90.

§ n_cycle_up

integer m_a2_multigrid::mg2_t::n_cycle_up = -1

Number of relaxation cycles in upward sweep.

Definition at line 32 of file m_a2_multigrid.f90.

§ n_cycle_base

integer m_a2_multigrid::mg2_t::n_cycle_base = -1

Number of relaxation cycles at bottom level.

Definition at line 33 of file m_a2_multigrid.f90.

§ initialized

logical m_a2_multigrid::mg2_t::initialized = .false.

Whether the structure has been initialized.

Definition at line 35 of file m_a2_multigrid.f90.

§ use_corners

logical m_a2_multigrid::mg2_t::use_corners = .false.

Does the smoother use corner ghost cells.

Definition at line 36 of file m_a2_multigrid.f90.

§ subtract_mean

logical m_a2_multigrid::mg2_t::subtract_mean = .false.

Whether to subtract mean from solution.

Definition at line 37 of file m_a2_multigrid.f90.

§ sides_bc

procedure(a2_subr_bc), pointer, nopass m_a2_multigrid::mg2_t::sides_bc => null()

Routine to call for filling ghost cells near physical boundaries.

Definition at line 40 of file m_a2_multigrid.f90.

§ sides_rb

procedure(a2_subr_rb), pointer, nopass m_a2_multigrid::mg2_t::sides_rb => null()

Routine to call for filling ghost cells near refinement boundaries.

Definition at line 43 of file m_a2_multigrid.f90.

§ box_op

procedure(mg2_box_op), pointer, nopass m_a2_multigrid::mg2_t::box_op => null()

Subroutine that performs the (non)linear operator.

Definition at line 46 of file m_a2_multigrid.f90.

§ box_gsrb

procedure(mg2_box_gsrb), pointer, nopass m_a2_multigrid::mg2_t::box_gsrb => null()

Subroutine that performs Gauss-Seidel relaxation on a box.

Definition at line 49 of file m_a2_multigrid.f90.

§ box_corr

procedure(mg2_box_corr), pointer, nopass m_a2_multigrid::mg2_t::box_corr => null()

Subroutine that corrects the children of a box.

Definition at line 52 of file m_a2_multigrid.f90.

§ box_rstr

procedure(mg2_box_rstr), pointer, nopass m_a2_multigrid::mg2_t::box_rstr => null()

Subroutine for restriction.

Definition at line 55 of file m_a2_multigrid.f90.