|
FE-Project
|
Derived type for 3D multigrid smoother. More...
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. | |
Derived type for 3D multigrid smoother.
Definition at line 129 of file scale_multigrid_smoother_base.F90.
| 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.
|
pure virtual |
Definition at line 132 of file scale_multigrid_smoother_base.F90.
| 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.
| procedure scale_multigrid_smoother_base::mgsmootherbase3d::set_initial_residual | ( | class(mgsmootherbase3d), intent(inout) | this, |
| type(meshfield3d), intent(in) | res ) |
Definition at line 134 of file scale_multigrid_smoother_base.F90.
References scale_multigrid_smoother_base::mgsmootherbase3d_final(), and scale_multigrid_smoother_base::mgsmootherbase3d_init().