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 | operator_mask = -1 |
Mask to determine box types. More... | |
integer | i_eps = -1 |
Index of variable coefficient, automatically set. More... | |
integer | i_lsf = -1 |
Optional variable for level set function, automatically set. More... | |
integer | n_cycle_down = 2 |
Number of relaxation cycles in downward sweep. More... | |
integer | n_cycle_up = 2 |
Number of relaxation cycles in upward sweep. 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... | |
real(dp) | helmholtz_lambda = 0.0_dp |
Store lambda^2 for Helmholtz equations (L phi - lamda phi = f) More... | |
real(dp) | lsf_boundary_value = 0.0_dp |
Boundary value for level set function (if lsf_boundary_function is not set) More... | |
real(dp) | lsf_gradient_safety_factor = 1.5_dp |
Safety factor for gradient of level set function. More... | |
real(dp) | lsf_length_scale = 1e100_dp |
Minimal length scale to resolve (on coarser grids) More... | |
real(dp) | lsf_tol = 1e-8_dp |
Tolerance for line search algorithm. More... | |
real(dp) | lsf_min_rel_distance = 1e-4_dp |
Minimum relative distance to boundaries (to avoid division by zero) More... | |
logical | lsf_use_custom_prolongation = .false. |
Whether to use a custom prolongation stencil. More... | |
procedure(mg_func_lsf), pointer, nopass | lsf => null() |
Level-set function. More... | |
procedure(mg_lsf_distf), pointer, nopass | lsf_dist => null() |
Routine to determine distance from level-set function. More... | |
procedure(mg_func_lsf), pointer, nopass | lsf_boundary_function => null() |
Function to get boundary value for level set function. More... | |
procedure(af_subr_bc), pointer, nopass | sides_bc => null() |
Routine to call for filling ghost cells near physical boundaries. More... | |
procedure(af_subr_rb), pointer, nopass | sides_rb => null() |
Routine to call for filling ghost cells near refinement boundaries. More... | |
procedure(mg_box_op), pointer, nopass | box_op => null() |
Subroutine that performs the (non)linear operator. More... | |
integer | operator_type = mg_auto_operator |
What kind of operator to use. More... | |
integer | operator_key = af_stencil_none |
Key indicating which stencil is to be used for the operator. More... | |
integer | prolongation_type = mg_prolong_auto |
What kind of prolongation operator to use. More... | |
integer | prolongation_key = af_stencil_none |
Key indicating which stencil is to be used for the operator. More... | |
procedure(mg_box_gsrb), pointer, nopass | box_gsrb => null() |
Subroutine that performs Gauss-Seidel relaxation on a box. More... | |
procedure(mg_box_corr), pointer, nopass | box_corr => null() |
Subroutine that corrects the children of a box. More... | |
procedure(mg_box_rstr), pointer, nopass | box_rstr => null() |
Subroutine for restriction. More... | |
procedure(mg_box_stencil), pointer, nopass | box_stencil => null() |
Subroutine for getting the stencil. More... | |
type(coarse_solve_t) | csolver |
Structure holding data for the coarse grid solver. More... | |
Type to store multigrid options in.
Definition at line 572 of file m_af_types.f90.
integer m_af_types::mg_t::i_phi = -1 |
Variable holding solution.
Definition at line 574 of file m_af_types.f90.
integer m_af_types::mg_t::i_rhs = -1 |
Variable holding right-hand side.
Definition at line 576 of file m_af_types.f90.
integer m_af_types::mg_t::i_tmp = -1 |
Internal variable (holding prev. solution)
Definition at line 578 of file m_af_types.f90.
integer m_af_types::mg_t::operator_mask = -1 |
Mask to determine box types.
Definition at line 581 of file m_af_types.f90.
integer m_af_types::mg_t::i_eps = -1 |
Index of variable coefficient, automatically set.
Definition at line 583 of file m_af_types.f90.
integer m_af_types::mg_t::i_lsf = -1 |
Optional variable for level set function, automatically set.
Definition at line 585 of file m_af_types.f90.
integer m_af_types::mg_t::n_cycle_down = 2 |
Number of relaxation cycles in downward sweep.
Definition at line 588 of file m_af_types.f90.
integer m_af_types::mg_t::n_cycle_up = 2 |
Number of relaxation cycles in upward sweep.
Definition at line 590 of file m_af_types.f90.
logical m_af_types::mg_t::initialized = .false. |
Whether the structure has been initialized.
Definition at line 593 of file m_af_types.f90.
logical m_af_types::mg_t::use_corners = .false. |
Does the smoother use corner ghost cells.
Definition at line 595 of file m_af_types.f90.
logical m_af_types::mg_t::subtract_mean = .false. |
Whether to subtract mean from solution.
Definition at line 597 of file m_af_types.f90.
real(dp) m_af_types::mg_t::helmholtz_lambda = 0.0_dp |
Store lambda^2 for Helmholtz equations (L phi - lamda phi = f)
Definition at line 600 of file m_af_types.f90.
real(dp) m_af_types::mg_t::lsf_boundary_value = 0.0_dp |
Boundary value for level set function (if lsf_boundary_function is not set)
Definition at line 604 of file m_af_types.f90.
real(dp) m_af_types::mg_t::lsf_gradient_safety_factor = 1.5_dp |
Safety factor for gradient of level set function.
Definition at line 607 of file m_af_types.f90.
real(dp) m_af_types::mg_t::lsf_length_scale = 1e100_dp |
Minimal length scale to resolve (on coarser grids)
Definition at line 610 of file m_af_types.f90.
real(dp) m_af_types::mg_t::lsf_tol = 1e-8_dp |
Tolerance for line search algorithm.
Definition at line 613 of file m_af_types.f90.
real(dp) m_af_types::mg_t::lsf_min_rel_distance = 1e-4_dp |
Minimum relative distance to boundaries (to avoid division by zero)
Definition at line 616 of file m_af_types.f90.
logical m_af_types::mg_t::lsf_use_custom_prolongation = .false. |
Whether to use a custom prolongation stencil.
Definition at line 619 of file m_af_types.f90.
procedure(mg_func_lsf), pointer, nopass m_af_types::mg_t::lsf => null() |
Level-set function.
Definition at line 622 of file m_af_types.f90.
procedure(mg_lsf_distf), pointer, nopass m_af_types::mg_t::lsf_dist => null() |
Routine to determine distance from level-set function.
Definition at line 625 of file m_af_types.f90.
procedure(mg_func_lsf), pointer, nopass m_af_types::mg_t::lsf_boundary_function => null() |
Function to get boundary value for level set function.
Definition at line 628 of file m_af_types.f90.
procedure(af_subr_bc), pointer, nopass m_af_types::mg_t::sides_bc => null() |
Routine to call for filling ghost cells near physical boundaries.
Definition at line 631 of file m_af_types.f90.
procedure(af_subr_rb), pointer, nopass m_af_types::mg_t::sides_rb => null() |
Routine to call for filling ghost cells near refinement boundaries.
Definition at line 634 of file m_af_types.f90.
procedure(mg_box_op), pointer, nopass m_af_types::mg_t::box_op => null() |
Subroutine that performs the (non)linear operator.
Definition at line 637 of file m_af_types.f90.
integer m_af_types::mg_t::operator_type = mg_auto_operator |
What kind of operator to use.
Definition at line 640 of file m_af_types.f90.
integer m_af_types::mg_t::operator_key = af_stencil_none |
Key indicating which stencil is to be used for the operator.
Definition at line 643 of file m_af_types.f90.
integer m_af_types::mg_t::prolongation_type = mg_prolong_auto |
What kind of prolongation operator to use.
Definition at line 646 of file m_af_types.f90.
integer m_af_types::mg_t::prolongation_key = af_stencil_none |
Key indicating which stencil is to be used for the operator.
Definition at line 649 of file m_af_types.f90.
procedure(mg_box_gsrb), pointer, nopass m_af_types::mg_t::box_gsrb => null() |
Subroutine that performs Gauss-Seidel relaxation on a box.
Definition at line 652 of file m_af_types.f90.
procedure(mg_box_corr), pointer, nopass m_af_types::mg_t::box_corr => null() |
Subroutine that corrects the children of a box.
Definition at line 655 of file m_af_types.f90.
procedure(mg_box_rstr), pointer, nopass m_af_types::mg_t::box_rstr => null() |
Subroutine for restriction.
Definition at line 658 of file m_af_types.f90.
procedure(mg_box_stencil), pointer, nopass m_af_types::mg_t::box_stencil => null() |
Subroutine for getting the stencil.
Definition at line 661 of file m_af_types.f90.
type(coarse_solve_t) m_af_types::mg_t::csolver |
Structure holding data for the coarse grid solver.
Definition at line 664 of file m_af_types.f90.