These changes make it unnecessary to copy header files around during the build process, which tends to confuse IDEs and debuggers. The headers which comprise Cantera's external C++ interface are now in the 'include' directory. All of the samples and demos are now in the 'samples' subdirectory.
439 lines
14 KiB
Fortran
439 lines
14 KiB
Fortran
module fct
|
|
interface
|
|
|
|
subroutine cantera_error(proc, msg)
|
|
character*(*), intent(in) :: proc
|
|
character*(*), intent(in) :: msg
|
|
end subroutine cantera_error
|
|
|
|
integer function phase_nelements(n)
|
|
integer, intent(in) :: n
|
|
end function phase_nelements
|
|
|
|
integer function phase_nspecies(n)
|
|
integer, intent(in) :: n
|
|
end function phase_nspecies
|
|
|
|
double precision function phase_temperature(n)
|
|
integer, intent(in) :: n
|
|
end function phase_temperature
|
|
|
|
integer function phase_settemperature(n, t)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: t
|
|
end function phase_settemperature
|
|
|
|
double precision function phase_density(n)
|
|
integer, intent(in) :: n
|
|
end function phase_density
|
|
|
|
integer function phase_setdensity(n, rho)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: rho
|
|
end function phase_setdensity
|
|
|
|
double precision function phase_molardensity(n)
|
|
integer, intent(in) :: n
|
|
end function phase_molardensity
|
|
|
|
double precision function phase_meanmolecularweight(n)
|
|
integer, intent(in) :: n
|
|
end function phase_meanmolecularweight
|
|
|
|
integer function phase_elementindex(n, nm)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: nm
|
|
end function phase_elementindex
|
|
|
|
integer function phase_speciesindex(n, nm)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: nm
|
|
end function phase_speciesindex
|
|
|
|
integer function phase_getmolefractions(n, x)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: x(*)
|
|
end function phase_getmolefractions
|
|
|
|
double precision function phase_molefraction(n, k)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
end function phase_molefraction
|
|
|
|
integer function phase_getmassfractions(n, y)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: y(*)
|
|
end function phase_getmassfractions
|
|
|
|
double precision function phase_massfraction(n, k)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
end function phase_massfraction
|
|
|
|
integer function phase_setmolefractions(n, x, norm)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: x(*)
|
|
integer, intent(in) :: norm
|
|
end function phase_setmolefractions
|
|
|
|
integer function phase_setmolefractionsbyname(n, x)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: x
|
|
end function phase_setmolefractionsbyname
|
|
|
|
integer function phase_setmassfractions(n, y, norm)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: y(*)
|
|
integer, intent(in) :: norm
|
|
end function phase_setmassfractions
|
|
|
|
integer function phase_setmassfractionsbyname(n, y)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: y
|
|
end function phase_setmassfractionsbyname
|
|
|
|
integer function phase_getatomicweights(n, atw)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: atw(*)
|
|
end function phase_getatomicweights
|
|
|
|
integer function phase_getmolecularweights(n, mw)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: mw(*)
|
|
end function phase_getmolecularweights
|
|
|
|
integer function phase_getspeciesname(n, k, nm)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
character*(*), intent(out) :: nm
|
|
end function phase_getspeciesname
|
|
|
|
integer function phase_getelementname(n, m, nm)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: m
|
|
character*(*), intent(out) :: nm
|
|
end function phase_getelementname
|
|
|
|
double precision function phase_natoms(n, k, m)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
integer, intent(in) :: m
|
|
end function phase_natoms
|
|
|
|
integer function newthermofromxml(mxml)
|
|
integer, intent(in) :: mxml
|
|
end function newthermofromxml
|
|
|
|
integer function th_eostype(n)
|
|
integer, intent(in) :: n
|
|
end function th_eostype
|
|
|
|
double precision function th_enthalpy_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_enthalpy_mole
|
|
|
|
double precision function th_intenergy_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_intenergy_mole
|
|
|
|
double precision function th_entropy_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_entropy_mole
|
|
|
|
double precision function th_gibbs_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_gibbs_mole
|
|
|
|
double precision function th_cp_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_cp_mole
|
|
|
|
double precision function th_cv_mole(n)
|
|
integer, intent(in) :: n
|
|
end function th_cv_mole
|
|
|
|
double precision function th_pressure(n)
|
|
integer, intent(in) :: n
|
|
end function th_pressure
|
|
|
|
double precision function th_enthalpy_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_enthalpy_mass
|
|
|
|
double precision function th_intEnergy_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_intEnergy_mass
|
|
|
|
double precision function th_entropy_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_entropy_mass
|
|
|
|
double precision function th_gibbs_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_gibbs_mass
|
|
|
|
double precision function th_cp_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_cp_mass
|
|
|
|
double precision function th_cv_mass(n)
|
|
integer, intent(in) :: n
|
|
end function th_cv_mass
|
|
|
|
integer function th_chempotentials(n, murt)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: murt(*)
|
|
end function th_chempotentials
|
|
|
|
integer function th_setpressure(n, p)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: p
|
|
end function th_setpressure
|
|
|
|
integer function th_set_hp(n, v1, v2)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: v1
|
|
double precision, intent(in) :: v2
|
|
end function th_set_hp
|
|
|
|
integer function th_set_uv(n, v1, v2)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: v1
|
|
double precision, intent(in) :: v2
|
|
end function th_set_uv
|
|
|
|
integer function th_set_sv(n, v1, v2)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: v1
|
|
double precision, intent(in) :: v2
|
|
end function th_set_sv
|
|
|
|
integer function th_set_sp(n, v1, v2)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: v1
|
|
double precision, intent(in) :: v2
|
|
end function th_set_sp
|
|
|
|
integer function th_equil(n, XY)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: XY
|
|
end function th_equil
|
|
|
|
double precision function th_refpressure(n)
|
|
integer, intent(in) :: n
|
|
end function th_refpressure
|
|
|
|
double precision function th_mintemp(n, k)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
end function th_mintemp
|
|
|
|
double precision function th_maxtemp(n, k)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
end function th_maxtemp
|
|
|
|
integer function th_getenthalpies_rt(n, h_rt)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: h_rt(*)
|
|
end function th_getenthalpies_rt
|
|
|
|
integer function th_getentropies_r(n, s_r)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: s_r(*)
|
|
end function th_getentropies_r
|
|
|
|
integer function th_getcp_r(n, lenm, cp_r)
|
|
integer, intent(in) :: n
|
|
integer, intent(out) :: lenm
|
|
double precision, intent(out) :: cp_r(*)
|
|
end function th_getcp_r
|
|
|
|
integer function newkineticsfromxml(mxml, iphase, neighbor1, neighbor2, neighbor3, neighbor4)
|
|
integer, intent(in) :: mxml
|
|
integer, intent(in) :: iphase
|
|
integer, intent(in) :: neighbor1
|
|
integer, intent(in) :: neighbor2
|
|
integer, intent(in) :: neighbor3
|
|
integer, intent(in) :: neighbor4
|
|
end function newkineticsfromxml
|
|
|
|
integer function kin_type(n)
|
|
integer, intent(in) :: n
|
|
end function kin_type
|
|
|
|
integer function kin_start(n, p)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: p
|
|
end function kin_start
|
|
|
|
integer function kin_speciesindex(n, nm, ph)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: nm
|
|
character*(*), intent(in) :: ph
|
|
end function kin_speciesindex
|
|
|
|
integer function kin_ntotalspecies(n)
|
|
integer, intent(in) :: n
|
|
end function kin_ntotalspecies
|
|
|
|
integer function kin_nreactions(n)
|
|
integer, intent(in) :: n
|
|
end function kin_nreactions
|
|
|
|
integer function kin_nphases(n)
|
|
integer, intent(in) :: n
|
|
end function kin_nphases
|
|
|
|
integer function kin_phaseIndex(n, phase)
|
|
integer, intent(in) :: n
|
|
character*(*), intent(in) :: phase
|
|
end function kin_phaseindex
|
|
|
|
double precision function kin_reactantstoichcoeff(n, k, i)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
integer, intent(in) :: i
|
|
end function kin_reactantstoichcoeff
|
|
|
|
double precision function kin_productstoichcoeff(n, k, i)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: k
|
|
integer, intent(in) :: i
|
|
end function kin_productstoichcoeff
|
|
|
|
integer function kin_reactiontype(n, i)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: i
|
|
end function kin_reactiontype
|
|
|
|
integer function kin_getfwdratesofprogress(n, fwdROP)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: fwdROP(*)
|
|
end function kin_getfwdratesofprogress
|
|
|
|
integer function kin_getrevratesofprogress(n, revROP)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: revROP(*)
|
|
end function kin_getrevratesofprogress
|
|
|
|
integer function kin_isreversible(n, i)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: i
|
|
end function kin_isreversible
|
|
|
|
integer function kin_getnetratesofprogress(n, netROP)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: netROP(*)
|
|
end function kin_getnetratesofprogress
|
|
|
|
integer function kin_getcreationrates(n, cdot)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: cdot(*)
|
|
end function kin_getcreationrates
|
|
|
|
integer function kin_getdestructionrates(n, ddot)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: ddot(*)
|
|
end function kin_getdestructionrates
|
|
|
|
integer function kin_getnetproductionrates(n, wdot)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: wdot(*)
|
|
end function kin_getnetproductionrates
|
|
|
|
double precision function kin_multiplier(n, i)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: i
|
|
end function kin_multiplier
|
|
|
|
integer function kin_getequilibriumconstants(n, kc)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: kc(*)
|
|
end function kin_getequilibriumconstants
|
|
|
|
integer function kin_getreactionstring(n, i, buf)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: i
|
|
character*(*), intent(out) :: buf
|
|
end function kin_getreactionstring
|
|
|
|
integer function kin_setmultiplier(n, i, v)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: i
|
|
double precision, intent(out) :: v
|
|
end function kin_setmultiplier
|
|
|
|
integer function kin_advancecoverages(n, tstep)
|
|
integer, intent(in) :: n
|
|
double precision, intent(in) :: tstep
|
|
end function kin_advancecoverages
|
|
|
|
integer function newtransport(model, ith, loglevel)
|
|
character*(*), intent(in) :: model
|
|
integer, intent(in) :: ith
|
|
integer, intent(in) :: loglevel
|
|
end function newtransport
|
|
|
|
double precision function trans_viscosity(n)
|
|
integer, intent(in) :: n
|
|
end function trans_viscosity
|
|
|
|
double precision function trans_thermalConductivity(n)
|
|
integer, intent(in) :: n
|
|
end function trans_thermalConductivity
|
|
|
|
integer function trans_getThermalDiffCoeffs(n, dt)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: dt(*)
|
|
end function trans_getThermalDiffCoeffs
|
|
|
|
integer function trans_getMixDiffCoeffs(n, d)
|
|
integer, intent(in) :: n
|
|
double precision, intent(out) :: d(*)
|
|
end function trans_getMixDiffCoeffs
|
|
|
|
integer function trans_getBinDiffCoeffs(n, ld, d)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: ld
|
|
double precision, intent(out) :: d(*)
|
|
end function trans_getBinDiffCoeffs
|
|
|
|
integer function trans_getMultiDiffCoeffs(n, ld, d)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: ld
|
|
double precision, intent(out) :: d(*)
|
|
end function trans_getMultiDiffCoeffs
|
|
|
|
integer function trans_setParameters(n, type, k, d)
|
|
integer, intent(in) :: n
|
|
integer, intent(in) :: type
|
|
integer, intent(in) :: k
|
|
double precision, intent(in) :: d(*)
|
|
end function trans_setParameters
|
|
|
|
integer function ctphase_report(nth, buf, show_thermo)
|
|
integer, intent(in) :: nth
|
|
character*(*), intent(out) :: buf
|
|
integer, intent(in) :: show_thermo
|
|
end function ctphase_report
|
|
|
|
integer function ctgetCanteraError(buf)
|
|
character*(*), intent(out) :: buf
|
|
end function ctgetCanteraError
|
|
|
|
integer function ctaddCanteraDirectory(buflen, buf)
|
|
integer, intent(in) :: buflen
|
|
character*(*), intent(in) :: buf
|
|
end function ctaddCanteraDirectory
|
|
|
|
integer function ctbuildSolutionFromXML(src, ixml, id, ith, ikin)
|
|
character*(*), intent(in) :: src
|
|
integer, intent(in) :: ixml
|
|
character*(*), intent(in) :: id
|
|
integer, intent(in) :: ith
|
|
integer, intent(in) :: ikin
|
|
end function ctbuildSolutionFromXML
|
|
|
|
end interface
|
|
end module fct
|