iphreeqc/doc/examples/F90GetDumpStringLine.f90
Scott R Charlton a4ed1c9078 replaced IPhreeqc.f90.inc to USE IPhreeqc
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@9702 1feff8c3-07ed-0310-ac33-dd36852eb9cd
2015-05-21 06:15:16 +00:00

81 lines
1.6 KiB
Fortran

PROGRAM example
USE IPhreeqc
INTEGER(KIND=4) :: id
INTEGER(KIND=4) :: i
CHARACTER(LEN=80) :: line
id = CreateIPhreeqc()
IF (id.LT.0) THEN
STOP
END IF
IF (SetDumpStringOn(id, .TRUE.).NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (LoadDatabase(id, "phreeqc.dat").NE.0) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, "SOLUTION 1 Pure water").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, "EQUILIBRIUM_PHASES 1").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, " Calcite 0 10").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, "SAVE solution 1").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, "SAVE equilibrium_phases 1").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, "DUMP").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, " -solution 1").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
IF (AccumulateLine(id, " -equilibrium_phases 1").NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
WRITE(*,*) "Input:"
CALL OutputAccumulatedLines(id)
IF (RunAccumulated(id).NE.0) THEN
CALL OutputErrorString(id)
STOP
END IF
WRITE(*,*) "Dump:"
DO i=1,GetDumpStringLineCount(id)
CALL GetDumpStringLine(id, i, line)
WRITE(*,*) TRIM(line)
END DO
IF (DestroyIPhreeqc(id).NE.IPQ_OK) THEN
CALL OutputErrorString(id)
STOP
END IF
END PROGRAM example