! This file is part of Cantera. See License.txt in the top-level directory or ! at http://www.cantera.org/license.txt for license and copyright information. 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_geteostype(n, buf) integer, intent(in) :: n character*(*), intent(out) :: buf end function th_geteostype 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_gettype(n, buf) integer, intent(in) :: n character*(*), intent(out) :: buf end function kin_gettype 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_electricalConductivity(n) integer, intent(in) :: n end function trans_electricalConductivity 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_getMixDiffCoeffsMass(n, d) integer, intent(in) :: n double precision, intent(out) :: d(*) end function trans_getMixDiffCoeffsMass integer function trans_getMixDiffCoeffsMole(n, d) integer, intent(in) :: n double precision, intent(out) :: d(*) end function trans_getMixDiffCoeffsMole 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