cantera/src/fortran/fct_interface.f90
Ray Speth 2528df0f75 Reorganized source tree structure
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.
2012-02-12 02:27:14 +00:00

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