|
FE-Project
|
Base type for numerical error analysis of mesh field. More...
Public Member Functions | |
| procedure | init_base (this, porder_error_check, ndim, np, intrp_np, log_fname_base, log_step_interval, mesh, numerror_analysis_info) |
| Initialize an object for numerical error analysis. | |
| generic | init (this, porder_error_check, ndim, np, intrp_np, log_fname_base, log_step_interval, mesh, numerror_analysis_info) |
| Initialize an object for numerical error analysis. | |
| procedure | final (this) |
| Finalize an object for numerical error analysis. | |
| procedure | regist (this, varname, unit, varid) |
| Register a variable for numerical error analysis. | |
| procedure | evaluate_base (this, tstep, tsec, dom_vol, evaluate_error, calc_covariance) |
| Evaluate numerical errors. | |
| procedure | evaluate_error_lc (base, num_error_l1_lc, num_error_l2_lc, num_error_linf_lc, numsol_mean_lc, exactsol_mean_lc, q, qexact, qexact_intrp, lcmesh, elem) |
| Evaluate numerical errors at local mesh level. | |
| procedure | evaluate_covariance_lc (base, cov_numsol_numsol_lc, cov_numsol_exactsol_lc, cov_exactsol_exactsol_lc, q, qexact, qexact_intrp, numsol_mean, exactsol_mean, lcmesh, elem) |
| Evaluate covariance of numerical and exact solutions at local mesh level. | |
Public Attributes | |
| integer | var_num |
| Number of variables to be analyzed. | |
| integer | log_fid |
| File ID for log output. | |
| integer | log_step_interval |
| Interval of time step for log output. | |
| integer | log_rstep |
| Remaining step for log output. | |
| logical | output_error_first |
| Flag for outputting error at the first time. | |
| class(meshbase), pointer | mesh |
| Pointer to an object of type MeshBase. | |
| integer | polyordererrorcheck |
| Polynomial order when evaluating numerical errors. | |
| integer | intrp_np |
| Number of interpolation points. | |
| integer | ndim |
| Number of dimensions. | |
| real(rp), dimension(:,:), allocatable | intrpmat |
| Interpolation matrix for numerical error evaluation. | |
| real(rp), dimension(:), allocatable | intw_intrp |
| Weights of integration for interpolation points. | |
| real(rp), dimension(:,:), allocatable | epos_intrp |
| Positions of interpolation points. | |
| class(meshfieldanalysisnumerrorinfobase), pointer | info |
| Pointer to information for numerical error analysis. | |
Base type for numerical error analysis of mesh field.
Definition at line 47 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::init_base | ( | class(meshfieldanalysisnumerrorbase), intent(inout) | this, |
| integer, intent(in) | porder_error_check, | ||
| integer, intent(in) | ndim, | ||
| integer, intent(in) | np, | ||
| integer, intent(in) | intrp_np, | ||
| character(len=*), intent(in) | log_fname_base, | ||
| integer, intent(in) | log_step_interval, | ||
| class(meshbase), intent(in), target | mesh, | ||
| class(meshfieldanalysisnumerrorinfobase), intent(in), target | numerror_analysis_info ) |
Initialize an object for numerical error analysis.
| [in] | porder_error_check | Polynomial order when evaluating numerical errors |
| [in] | ndim | Number of dimensions |
| [in] | np | Number of nodes per element |
| [in] | intrp_np | Number of interpolation points for numerical error evaluation |
| [in] | log_fname_base | Base name of log file for numerical error analysis |
| [in] | log_step_interval | Interval of time step for log output |
| [in] | mesh | Mesh for numerical error analysis |
| [in] | numerror_analysis_info | Information for numerical error analysis |
Definition at line 65 of file scale_meshfield_analysis_numerror_base.F90.
| generic scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::init | ( | class(meshfieldanalysisnumerrorbase), intent(inout) | this, |
| integer, intent(in) | porder_error_check, | ||
| integer, intent(in) | ndim, | ||
| integer, intent(in) | np, | ||
| integer, intent(in) | intrp_np, | ||
| character(len=*), intent(in) | log_fname_base, | ||
| integer, intent(in) | log_step_interval, | ||
| class(meshbase), intent(in), target | mesh, | ||
| class(meshfieldanalysisnumerrorinfobase), intent(in), target | numerror_analysis_info ) |
Initialize an object for numerical error analysis.
| [in] | porder_error_check | Polynomial order when evaluating numerical errors |
| [in] | ndim | Number of dimensions |
| [in] | np | Number of nodes per element |
| [in] | intrp_np | Number of interpolation points for numerical error evaluation |
| [in] | log_fname_base | Base name of log file for numerical error analysis |
| [in] | log_step_interval | Interval of time step for log output |
| [in] | mesh | Mesh for numerical error analysis |
| [in] | numerror_analysis_info | Information for numerical error analysis |
Definition at line 66 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::final | ( | class(meshfieldanalysisnumerrorbase), intent(inout) | this | ) |
Finalize an object for numerical error analysis.
Definition at line 67 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::regist | ( | class(meshfieldanalysisnumerrorbase), intent(inout) | this, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | unit, | ||
| integer, intent(out) | varid ) |
Register a variable for numerical error analysis.
| [in] | varname | Name of variable to be analyzed |
| [in] | unit | Unit of variable to be analyzed |
| [out] | varid | ID of variable to be analyzed |
Definition at line 68 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::evaluate_base | ( | class(meshfieldanalysisnumerrorbase), intent(inout) | this, |
| integer, intent(in) | tstep, | ||
| real(rp) | tsec, | ||
| real(rp), intent(in) | dom_vol, | ||
| procedure(evaluate_error_interface) | evaluate_error, | ||
| procedure(calc_covariance_interface) | calc_covariance ) |
Evaluate numerical errors.
Definition at line 69 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::evaluate_error_lc | ( | class(meshfieldanalysisnumerrorbase), intent(in) | base, |
| real(rp), dimension(base%var_num), intent(inout) | num_error_l1_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | num_error_l2_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | num_error_linf_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | numsol_mean_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | exactsol_mean_lc, | ||
| real(rp), dimension(elem%np,lcmesh%ne,base%var_num), intent(in) | q, | ||
| real(rp), dimension(elem%np,lcmesh%ne,base%var_num), intent(in) | qexact, | ||
| real(rp), dimension(base%intrp_np,lcmesh%ne,base%var_num), intent(in) | qexact_intrp, | ||
| class(localmeshbase), intent(in) | lcmesh, | ||
| class(elementbase), intent(in) | elem ) |
Evaluate numerical errors at local mesh level.
Definition at line 71 of file scale_meshfield_analysis_numerror_base.F90.
| procedure scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::evaluate_covariance_lc | ( | class(meshfieldanalysisnumerrorbase), intent(in) | base, |
| real(rp), dimension(base%var_num), intent(inout) | cov_numsol_numsol_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | cov_numsol_exactsol_lc, | ||
| real(rp), dimension(base%var_num), intent(inout) | cov_exactsol_exactsol_lc, | ||
| real(rp), dimension(elem%np,lcmesh%ne,base%var_num), intent(in) | q, | ||
| real(rp), dimension(elem%np,lcmesh%ne,base%var_num), intent(in) | qexact, | ||
| real(rp), dimension(base%intrp_np,lcmesh%ne,base%var_num), intent(in) | qexact_intrp, | ||
| real(rp), dimension(base%var_num), intent(in) | numsol_mean, | ||
| real(rp), dimension(base%var_num), intent(in) | exactsol_mean, | ||
| class(localmeshbase), intent(in) | lcmesh, | ||
| class(elementbase), intent(in) | elem ) |
Evaluate covariance of numerical and exact solutions at local mesh level.
Definition at line 72 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::var_num |
Number of variables to be analyzed.
Definition at line 48 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::log_fid |
File ID for log output.
Definition at line 49 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::log_step_interval |
Interval of time step for log output.
Definition at line 50 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::log_rstep |
Remaining step for log output.
Definition at line 51 of file scale_meshfield_analysis_numerror_base.F90.
| logical scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::output_error_first |
Flag for outputting error at the first time.
Definition at line 52 of file scale_meshfield_analysis_numerror_base.F90.
| class(meshbase), pointer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::mesh |
Pointer to an object of type MeshBase.
Definition at line 54 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::polyordererrorcheck |
Polynomial order when evaluating numerical errors.
Definition at line 56 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::intrp_np |
Number of interpolation points.
Definition at line 57 of file scale_meshfield_analysis_numerror_base.F90.
| integer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::ndim |
Number of dimensions.
Definition at line 58 of file scale_meshfield_analysis_numerror_base.F90.
| real(rp), dimension(:,:), allocatable scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::intrpmat |
Interpolation matrix for numerical error evaluation.
Definition at line 59 of file scale_meshfield_analysis_numerror_base.F90.
| real(rp), dimension(:), allocatable scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::intw_intrp |
Weights of integration for interpolation points.
Definition at line 60 of file scale_meshfield_analysis_numerror_base.F90.
| real(rp), dimension(:,:), allocatable scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::epos_intrp |
Positions of interpolation points.
Definition at line 61 of file scale_meshfield_analysis_numerror_base.F90.
| class(meshfieldanalysisnumerrorinfobase), pointer scale_meshfield_analysis_numerror_base::meshfieldanalysisnumerrorbase::info |
Pointer to information for numerical error analysis.
Definition at line 63 of file scale_meshfield_analysis_numerror_base.F90.