FE-Project
Loading...
Searching...
No Matches
scale_multigrid_smoother_base::mgsmootherbase3d Type Referenceabstract

Derived type for 3D multigrid smoother. More...

Inheritance diagram for scale_multigrid_smoother_base::mgsmootherbase3d:
scale_multigrid_smoother_base::mgsmootherbase

Public Member Functions

procedure, public do_smoothing (this, q, res, f, aux_var, var_comm, aux_comm, dx, dy, dz, lift, mesh3d, mg_p_level, mg_h_level, pre_or_post_smooth)
procedure(mgsmootherbase3d_advance_itr_1step), deferred advance_itr_1step (this, q, res, f, aux_var, itr, var_comm, aux_comm, dx, dy, dz, lift, mesh3d, cal_res_flag, zero_initial_guess, mg_p_level, mg_h_level, pre_or_post_smooth)
procedure eval_residual_statistic (this, res, res_l2, res_max)
procedure set_initial_residual (this, res)
Public Member Functions inherited from scale_multigrid_smoother_base::mgsmootherbase
procedure set_smoothing_param (this, num_smooth_itr_max, threshold_ratio_residual_l2, threshold_residual_l2, threshold_residual_max, history_residual_step)
 Set smoothing parameters.
procedure output_residual_history (this)
procedure is_converged (this, is_vcycle_end)
procedure get_initial_residual_statistics (this, res_l2_init, res_max_init)
procedure get_current_residual_statistics (this, res_l2, res_max)

Additional Inherited Members

Public Attributes inherited from scale_multigrid_smoother_base::mgsmootherbase
integer itration
 Current smoothing iteration.
integer num_smooth_itr_max
 Maximum number of smoothing iterations.
real(rp) threshold_ratio_residual_l2
 Threshold of decreasing ratio of residual for smoothing (L2 norm)
real(rp) threshold_residual_l2
 Residual threshold for smoothing (L2 norm)
real(rp) threshold_residual_max
 Residual threshold for smoothing (max norm)
integer history_residual_step
 Step recording residual history.
integer history_residual_rstep
 Remaining step to record residual history.
integer history_residual_count
 Count of recorded residuals.
real(rp), dimension(:), allocatable history_residual_l2
 Residual history of L2 norm.
real(rp) history_residual_l2_initial
 Initial residual L2 norm.
real(rp), dimension(:), allocatable history_residual_max
 Residual history of max norm.
real(rp) history_residual_max_initial
 Initial residual max norm.

Detailed Description

Derived type for 3D multigrid smoother.

Definition at line 129 of file scale_multigrid_smoother_base.F90.

Member Function/Subroutine Documentation

◆ do_smoothing()

procedure, public scale_multigrid_smoother_base::mgsmootherbase3d::do_smoothing ( class(mgsmootherbase3d), intent(inout) this,
type(meshfield3d), intent(inout), target q,
type(meshfield3d), intent(inout) res,
type(meshfield3d), intent(in) f,
type(meshfield3d), dimension(:), intent(inout), target aux_var,
class(meshfieldcommbase), intent(inout) var_comm,
class(meshfieldcommbase), intent(inout) aux_comm,
type(sparsemat), intent(in) dx,
type(sparsemat), intent(in) dy,
type(sparsemat), intent(in) dz,
type(sparsemat), intent(in) lift,
class(meshbase3d), intent(in), target mesh3d,
integer, intent(in) mg_p_level,
integer, intent(in) mg_h_level,
integer, intent(in) pre_or_post_smooth )

Definition at line 131 of file scale_multigrid_smoother_base.F90.

◆ advance_itr_1step()

procedure(mgsmootherbase3d_advance_itr_1step), deferred scale_multigrid_smoother_base::mgsmootherbase3d::advance_itr_1step ( class(mgsmootherbase3d), intent(inout) this,
type(meshfield3d), intent(inout), target q,
type(meshfield3d), intent(inout) res,
type(meshfield3d), intent(in) f,
type(meshfield3d), dimension(:), intent(inout), target aux_var,
integer, intent(in) itr,
class(meshfieldcommbase), intent(inout) var_comm,
class(meshfieldcommbase), intent(inout) aux_comm,
type(sparsemat), intent(in) dx,
type(sparsemat), intent(in) dy,
type(sparsemat), intent(in) dz,
type(sparsemat), intent(in) lift,
class(meshbase3d), intent(in), target mesh3d,
logical, intent(in) cal_res_flag,
logical, intent(in) zero_initial_guess,
integer, intent(in) mg_p_level,
integer, intent(in) mg_h_level,
integer, intent(in) pre_or_post_smooth )
pure virtual

Definition at line 132 of file scale_multigrid_smoother_base.F90.

◆ eval_residual_statistic()

procedure scale_multigrid_smoother_base::mgsmootherbase3d::eval_residual_statistic ( class(mgsmootherbase3d), intent(in) this,
type(meshfield3d), intent(in) res,
real(rp), intent(out) res_l2,
real(rp), intent(out) res_max )

Definition at line 133 of file scale_multigrid_smoother_base.F90.

◆ set_initial_residual()

procedure scale_multigrid_smoother_base::mgsmootherbase3d::set_initial_residual ( class(mgsmootherbase3d), intent(inout) this,
type(meshfield3d), intent(in) res )

The documentation for this type was generated from the following file: