46 character(*),
intent(in) :: filePath, fileName
47 integer,
intent(out) :: err
55 integer,
intent(out) :: err
63 character(*),
intent(in) :: fileName, reactionType, reactionIndex
64 integer,
intent(out) :: id, err
65 id =
eiram_get_id(filename, reactiontype, reactionindex, err)
72 integer,
intent(out) :: N,M
73 integer,
intent(in) :: Id
74 integer,
intent(out) :: err
87 integer,
intent(in) :: Id
88 real(eiram_dp),
intent(in) :: lnX
89 real(eiram_dp) :: eiram_calc1_fast_wrapper
97 real(eiram_dp),
intent(out) :: Y(n)
98 integer,
intent(in) :: Id
99 real(eiram_dp),
intent(in) :: lnX(n)
100 integer,
intent(out) :: err
101 integer,
intent(in) :: N
109 real(eiram_dp),
intent(out) :: B(m,n)
110 integer,
intent(in) :: Id
111 real(eiram_dp),
intent(in) :: lnX(n)
112 integer,
intent(out) :: err
113 integer,
intent(in) :: M,N
121 real(eiram_dp),
intent(out) :: Y(n)
122 integer,
intent(in) :: Id
123 real(eiram_dp),
intent(in) :: lnX1(n)
124 real(eiram_dp),
intent(in) :: lnX2(n)
125 integer,
intent(out) :: err
126 integer,
intent(in) :: N
135 real(eiram_dp),
intent(out) :: Y(n)
136 real(eiram_dp),
intent(in) :: X(n)
137 integer,
intent(in) :: N
138 character(*),
intent(in) :: fileName, reactionType, reactionIndex
139 integer,
intent(out) :: err
142 id =
eiram_get_id(filename, reactiontype, reactionindex, err)
144 if(.not. all(x>0.) )
then
156 subroutine eiram_matlab_calc2(Y, X1, X2, M, N, fileName, reactionType, reactionIndex, err)
159 real(eiram_dp),
intent(out) :: Y(n,m)
160 real(eiram_dp),
intent(in) :: X1(m)
161 real(eiram_dp),
intent(in) :: X2(n)
162 integer,
intent(in) :: M,N
163 character(*),
intent(in) :: fileName, reactionType, reactionIndex
164 integer,
intent(out) :: err
168 id =
eiram_get_id(filename, reactiontype, reactionindex, err)
170 if(.not. all(x1>0.) )
then
174 if(.not. all(x2>0.) )
then
179 if((reactiontype.eq.
'H.4').or.(reactiontype.eq.
'H.10').or.(reactiontype.eq.
'H.12'))
then
187 call eiram_calc2(y(:,j),id,(/log(x1(j)/1.0e8)/),log(x2),err)
191 call eiram_calc2(y(:,j),id,(/log(x1(j))/),log(x2),err)
subroutine eiram_calc1_wrapper(Y, Id, lnX, N, err)
module-less wrapper for eiram_calc1
subroutine eiram_get_id_wrapper(fileName, reactionType, reactionIndex, id, err)
module-less subroutine wrapper for eiram_getId
subroutine, public eiram_load(filePath, fileName, err)
Initialization of the module from input files (data sets)
subroutine, public eiram_deallocate(err)
Deallocate dynamic arrays used by this module.
subroutine, public eiram_get_order(N, M, Id, err)
Return order of the polynomial for both variables.
subroutine eiram_calc12_wrapper(B, Id, lnX, M, N, err)
module-less wrapper for eiram_calc12
subroutine eiram_deallocate_wrapper(err)
module-less wrapper for eiram_deallocate
subroutine eiram_get_order_wrapper(N, M, Id, err)
subroutine wrapper for eiram_get_order
real(eiram_dp) function eiram_calc1_fast_wrapper(Id, lnX)
module-less wrapper for eiram_calc1_fast
integer function, public eiram_get_id(fileName, reactionType, reactionIndex, err)
Return the ID-index of the given reaction in the arrays of the module.
subroutine, public eiram_calc12(B, Id, lnX, err)
Reduce double polynomial fit to single polynomials for given values of the second variable...
subroutine eiram_matlab_calc2(Y, X1, X2, M, N, fileName, reactionType, reactionIndex, err)
Binding for eiram_calc2 which has to be called from Matlab/Octave interface.
subroutine eiram_load_wrapper(filePath, fileName, err)
Wrappers are required for subroutines defined in a fortran module. See eiram_octave.hpp, eiram_octave.cpp as an example of how to call those subroutines in a C program.
subroutine, public eiram_calc2(Y, Id, LnX1, LnX2, err)
Calculate double polynomial fit.
subroutine eiram_calc2_wrapper(Y, Id, LnX1, LnX2, N, err)
module-less wrapper for eiram_calc2
real(eiram_dp) function, public eiram_calc1_fast(Id, lnX)
Calculate single polynomial fit: scalar version W/O CHECKS.
subroutine, public eiram_calc1(Y, Id, lnX, err)
Calculate single polynomial fit.
subroutine eiram_matlab_calc1(Y, X, N, fileName, reactionType, reactionIndex, err)
Binding for eiram_calc1 which has to be called from Matlab/Octave interface.