iphreeqc/doc/examples/F90GetDumpLine.f90
Scott R Charlton 8a0e427058 updated IPhreeqc.h for doxygen
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@4401 1feff8c3-07ed-0310-ac33-dd36852eb9cd
2010-05-15 01:08:08 +00:00

81 lines
1.6 KiB
Fortran

PROGRAM example
INCLUDE "IPhreeqc.f90.inc"
INTEGER(KIND=4) :: id
INTEGER(KIND=4) :: i
CHARACTER(LEN=80) :: line
id = CreateIPhreeqc()
IF (id.LT.0) THEN
STOP
ENDIF
IF (SetDumpStringOn(id, .TRUE.).NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (LoadDatabase(id, "phreeqc.dat").NE.0) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, "SOLUTION 1 Pure water").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, "EQUILIBRIUM_PHASES 1").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, " Calcite 0 10").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, "SAVE solution 1").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, "SAVE equilibrium_phases 1").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, "DUMP").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, " -solution 1").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
IF (AccumulateLine(id, " -equilibrium_phases 1").NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
WRITE(*,*) "Input:"
CALL OutputLines(id)
IF (RunAccumulated(id).NE.0) THEN
CALL OutputError(id)
STOP
ENDIF
WRITE(*,*) "Dump:"
DO i=1,GetDumpLineCount(id)
CALL GetDumpLine(id, i, line)
WRITE(*,*) TRIM(line)
ENDDO
IF (DestroyIPhreeqc(id).NE.IPQ_OK) THEN
CALL OutputError(id)
STOP
ENDIF
END PROGRAM example