FE-Project
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
scale_meshfield_analysis_numerror_base Module Reference

module FElib / Data / Statistics / numerical error More...

Data Types

type  meshfieldanalysisnumerrorbase
 

Functions/Subroutines

subroutine meshfield_analysis_numerror_base_init (this, porder_error_check, ndim, np, intrp_np, log_fname_base, log_step_interval)
 Setup.
 

Detailed Description

module FElib / Data / Statistics / numerical error

Description
This module provides a base class useful for evaluating numerical errrors
Author
Yuta Kawai, Team SCALE

Function/Subroutine Documentation

◆ meshfield_analysis_numerror_base_init()

subroutine scale_meshfield_analysis_numerror_base::meshfield_analysis_numerror_base_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 )

Setup.

Definition at line 86 of file scale_meshfield_analysis_numerror_base.F90.

88 implicit none
89 class(MeshFieldAnalysisNumerrorBase), intent(inout) :: this
90 integer, intent(in) :: porder_error_check
91 integer, intent(in) :: ndim
92 integer, intent(in) :: np
93 integer, intent(in) :: intrp_np
94 character(len=*), intent(in) :: log_fname_base
95 integer, intent(in) :: log_step_interval
96
97 character(len=H_MID) :: fname
98 integer :: ierr
99 !---------------------------------------------------------------------------
100
101 this%var_num = 0
102
103 this%log_step_interval = log_step_interval
104 this%log_rstep = log_step_interval
105
106 this%output_error_first = .true.
107
108 !--
109 if ( prc_ismaster ) then
110 this%log_fid = io_get_available_fid()
111 fname = trim(log_fname_base)//".peall"
112 open( unit = this%log_fid, &
113 file = fname, &
114 form = 'formatted', &
115 iostat = ierr )
116 if ( ierr /= 0 ) then
117 log_error('MeshField_NumErrorAnalysis_Init',*) 'File open error! :', trim(fname)
118 call prc_abort
119 endif
120 end if
121
122 !--
123 this%PolyOrderErrorCheck = porder_error_check
124 this%intrp_np = intrp_np
125 this%ndim = ndim
126 allocate( this%IntrpMat(this%intrp_np,np) )
127 allocate( this%intw_intrp(this%intrp_np) )
128 allocate( this%epos_intrp(this%intrp_np,this%ndim) )
129
130 return