updated for linux

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/branches/class@4219 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2010-04-07 00:51:52 +00:00
parent b8f6951dbc
commit 1c3cc0882e
6 changed files with 219 additions and 214 deletions

View File

@ -52,9 +52,9 @@ OBJS = \
input.o \ input.o \
integrate.o \ integrate.o \
inverse.o \ inverse.o \
IPhreeqc.o \
IPhreeqc2.o \ IPhreeqc2.o \
IPhreeqcF.o \ IPhreeqcF.o \
IPhreeqcLib.o \
ISolution.o \ ISolution.o \
ISolutionComp.o \ ISolutionComp.o \
isotopes.o \ isotopes.o \
@ -62,8 +62,6 @@ OBJS = \
KineticsComp.o \ KineticsComp.o \
mainsubs.o \ mainsubs.o \
model.o \ model.o \
module_files.o \
module_output.o \
NameDouble.o \ NameDouble.o \
NumKeyword.o \ NumKeyword.o \
nvector.o \ nvector.o \
@ -1215,7 +1213,7 @@ Phreeqc.o: src/phreeqcpp/Phreeqc.cpp src/phreeqcpp/Phreeqc.h \
dumper.o: src/phreeqcpp/dumper.cpp src/phreeqcpp/dumper.h \ dumper.o: src/phreeqcpp/dumper.cpp src/phreeqcpp/dumper.h \
src/phreeqcpp/StorageBinList.h src/phreeqcpp/Parser.h \ src/phreeqcpp/StorageBinList.h src/phreeqcpp/Parser.h \
src/phreeqcpp/Phreeqc_class.h src/phreeqcpp/Phreeqc_class.h
IPhreeqc.o: src/IPhreeqc.cpp include/IPhreeqc.h \ IPhreeqc.o: src/IPhreeqc.cpp \
include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \ include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \
include/IPhreeqc.hpp src/phreeqcpp/Phreeqc.h \ include/IPhreeqc.hpp src/phreeqcpp/Phreeqc.h \
src/phreeqcpp/phreeqc/phrqtype.h src/phreeqcpp/phreeqc/sundialstypes.h \ src/phreeqcpp/phreeqc/phrqtype.h src/phreeqcpp/phreeqc/sundialstypes.h \
@ -1286,7 +1284,7 @@ SelectedOutput.o: src/SelectedOutput.cpp src/phreeqcpp/phreeqc/phrqtype.h \
src/phreeqcpp/phreeqc/global_structures.h src/SelectedOutput.hxx \ src/phreeqcpp/phreeqc/global_structures.h src/SelectedOutput.hxx \
src/CVar.hxx src/Debug.h include/Var.h src/CVar.hxx src/Debug.h include/Var.h
pp_sys.o: src/pp_sys.cpp pp_sys.o: src/pp_sys.cpp
fwrap.o: src/fwrap.cpp src/phreeqcpp/phreeqc/phrqtype.h include/IPhreeqc.h \ fwrap.o: src/fwrap.cpp src/phreeqcpp/phreeqc/phrqtype.h \
include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \ include/IPhreeqcCallbacks.h src/CVar.hxx src/Debug.h include/Var.h \
src/fwrap.h src/fwrap.h
Var.o: src/Var.c include/Var.h Var.o: src/Var.c include/Var.h

View File

@ -15,7 +15,7 @@
INTERFACE INTERFACE
FUNCTION CreateIPhreeqc FUNCTION CreateIPhreeqc()
INTEGER(KIND=4) :: CreateIPhreeqc INTEGER(KIND=4) :: CreateIPhreeqc
END FUNCTION CreateIPhreeqc END FUNCTION CreateIPhreeqc
END INTERFACE END INTERFACE

View File

@ -1,193 +1,217 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION LoadDatabase(FILENAME) FUNCTION CreateIPhreeqc()
IMPLICIT NONE IMPLICIT NONE
INTEGER :: CreateIPhreeqc
INTEGER :: CreateIPhreeqcF
CreateIPhreeqc = CreateIPhreeqcF()
END FUNCTION CreateIPhreeqc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION LoadDatabase(ID,FILENAME)
IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: FILENAME CHARACTER(LEN=*) :: FILENAME
INTEGER :: LoadDatabase INTEGER :: LoadDatabase
#if defined(_WIN32)
INTERFACE
FUNCTION LoadDatabaseF(FILENAME)
!DEC$ ATTRIBUTES C,REFERENCE::LoadDatabaseF
!DEC$ ATTRIBUTES ALIAS:'_LoadDatabaseF'::LoadDatabaseF
CHARACTER(LEN=*) :: FILENAME
INTEGER(KIND=4) :: LoadDatabaseF
END FUNCTION LoadDatabaseF
END INTERFACE
#else
INTEGER :: LoadDatabaseF INTEGER :: LoadDatabaseF
#endif LoadDatabase = LoadDatabaseF(ID,FILENAME)
LoadDatabase = LoadDatabaseF(FILENAME)
END FUNCTION LoadDatabase END FUNCTION LoadDatabase
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLastError FUNCTION LoadDatabaseString(ID,INPUT)
IMPLICIT NONE IMPLICIT NONE
#if defined(_WIN32) INTEGER :: ID
INTERFACE CHARACTER(LEN=*) :: INPUT
SUBROUTINE OutputLastErrorF INTEGER :: LoadDatabaseString
!DEC$ ATTRIBUTES C,REFERENCE::OutputLastErrorF INTEGER :: LoadDatabaseStringF
!DEC$ ATTRIBUTES ALIAS:'_OutputLastError'::OutputLastErrorF LoadDatabaseString = LoadDatabaseStringF(ID,INPUT)
END SUBROUTINE OutputLastErrorF END FUNCTION LoadDatabaseString
END INTERFACE
#endif
CALL OutputLastErrorF
END SUBROUTINE OutputLastError
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION AccumulateLine(LINE) FUNCTION AccumulateLine(ID,LINE)
IMPLICIT NONE IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: LINE CHARACTER(LEN=*) :: LINE
INTEGER :: AccumulateLine INTEGER :: AccumulateLine
#if defined(_WIN32)
INTERFACE
FUNCTION AccumulateLineF(LINE)
!DEC$ ATTRIBUTES C,REFERENCE::AccumulateLineF
!DEC$ ATTRIBUTES ALIAS:'_AccumulateLineF'::AccumulateLineF
CHARACTER(LEN=*) :: LINE
INTEGER(KIND=4) :: AccumulateLineF
END FUNCTION AccumulateLineF
END INTERFACE
#else
INTEGER :: AccumulateLineF INTEGER :: AccumulateLineF
#endif AccumulateLine = AccumulateLineF(ID,LINE)
AccumulateLine = AccumulateLineF(LINE)
END FUNCTION AccumulateLine END FUNCTION AccumulateLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunAccumulated(OUTPUT_ON, ERROR_ON, LOG_ON, SELECTED_ON) FUNCTION SetSelectedOutputOn(ID,SELECTED_ON)
IMPLICIT NONE IMPLICIT NONE
LOGICAL :: OUTPUT_ON INTEGER :: ID
LOGICAL :: ERROR_ON
LOGICAL :: LOG_ON
LOGICAL :: SELECTED_ON LOGICAL :: SELECTED_ON
INTEGER :: SetSelectedOutputOn
INTEGER :: SetSelectedOutputOnF
SetSelectedOutputOn = SetSelectedOutputOnF(ID,SELECTED_ON)
END FUNCTION SetSelectedOutputOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetOutputOn(ID,OUTPUT_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: OUTPUT_ON
INTEGER :: SetOutputOn
INTEGER :: SetOutputOnF
SetOutputOn = SetOutputOnF(ID,OUTPUT_ON)
END FUNCTION SetOutputOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetErrorOn(ID,ERROR_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: ERROR_ON
INTEGER :: SetErrorOn
INTEGER :: SetErrorOnF
SetErrorOn = SetErrorOnF(ID,ERROR_ON)
END FUNCTION SetErrorOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetLogOn(ID,LOG_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: LOG_ON
INTEGER :: SetLogOn
INTEGER :: SetLogOnF
SetLogOn = SetLogOnF(ID,LOG_ON)
END FUNCTION SetLogOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetDumpOn(ID,DUMP_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: DUMP_ON
INTEGER :: SetDumpOn
INTEGER :: SetDumpOnF
SetDumpOn = SetDumpOnF(ID,DUMP_ON)
END FUNCTION SetDumpOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION SetDumpStringOn(ID,DUMP_STRING_ON)
IMPLICIT NONE
INTEGER :: ID
LOGICAL :: DUMP_STRING_ON
INTEGER :: SetDumpStringOn
INTEGER :: SetDumpStringOnF
SetDumpStringOn = SetDumpStringOnF(ID,DUMP_STRING_ON)
END FUNCTION SetDumpStringOn
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetDumpLineCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetDumpLineCount
INTEGER :: GetDumpLineCountF
GetDumpLineCount = GetDumpLineCountF(ID)
END FUNCTION GetDumpLineCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetDumpLine(ID,N,LINE)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: LINE
INTEGER :: GetDumpLine
INTEGER :: GetDumpLineF
GetDumpLine = GetDumpLineF(ID,N,LINE)
END FUNCTION GetDumpLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetErrorLineCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetErrorLineCount
INTEGER :: GetErrorLineCountF
GetErrorLineCount = GetErrorLineCountF(ID)
END FUNCTION GetErrorLineCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetErrorLine(ID,N,LINE)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: LINE
INTEGER :: GetErrorLine
INTEGER :: GetErrorLineF
GetErrorLine = GetErrorLineF(ID,N,LINE)
END FUNCTION GetErrorLine
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetComponentCount(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetComponentCount
INTEGER :: GetComponentCountF
GetComponentCount = GetComponentCountF(ID)
END FUNCTION GetComponentCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetComponent(ID,N,COMP)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: N
CHARACTER(LEN=*) :: COMP
INTEGER :: GetComponent
INTEGER :: GetComponentF
GetComponent = GetComponentF(ID,N,COMP)
END FUNCTION GetComponent
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunAccumulated(ID)
IMPLICIT NONE
INTEGER :: ID
INTEGER :: RunAccumulated INTEGER :: RunAccumulated
#if defined(_WIN32)
INTERFACE
FUNCTION RunAccumulatedF(OUTPUT_ON, ERROR_ON, LOG_ON, SELECTED_ON)
!DEC$ ATTRIBUTES C,REFERENCE::RunF
!DEC$ ATTRIBUTES ALIAS:'_RunF'::RunF
LOGICAL(KIND=4) :: OUTPUT_ON
LOGICAL(KIND=4) :: ERROR_ON
LOGICAL(KIND=4) :: LOG_ON
LOGICAL(KIND=4) :: SELECTED_ON
INTEGER(KIND=4) :: RunF
END FUNCTION RunAccumulatedF
END INTERFACE
#else
INTEGER :: RunAccumulatedF INTEGER :: RunAccumulatedF
#endif RunAccumulated = RunAccumulatedF(ID)
RunAccumulated = RunAccumulatedF(OUTPUT_ON, ERROR_ON,
& LOG_ON, SELECTED_ON)
END FUNCTION RunAccumulated END FUNCTION RunAccumulated
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION RunFile(FILENAME,OUTPUT_ON,ERROR_ON,LOG_ON,SELECTED_ON) FUNCTION RunFile(ID,FILENAME)
IMPLICIT NONE IMPLICIT NONE
INTEGER :: ID
CHARACTER(LEN=*) :: FILENAME CHARACTER(LEN=*) :: FILENAME
LOGICAL :: OUTPUT_ON
LOGICAL :: ERROR_ON
LOGICAL :: LOG_ON
LOGICAL :: SELECTED_ON
INTEGER :: RunFile INTEGER :: RunFile
#if defined(_WIN32)
INTERFACE
FUNCTION RunFileF(OUT_ON, ERR_ON, LOG_ON, SEL_ON, FILE)
!DEC$ ATTRIBUTES C,REFERENCE::RunFileF
!DEC$ ATTRIBUTES ALIAS:'_RunFileF'::RunFileF
LOGICAL(KIND=4) :: OUT_ON
LOGICAL(KIND=4) :: ERR_ON
LOGICAL(KIND=4) :: LOG_ON
LOGICAL(KIND=4) :: SEL_ON
CHARACTER(LEN=*) :: FILE
INTEGER(KIND=4) :: RunFileF
END FUNCTION RunFileF
END INTERFACE
#else
INTEGER :: RunFileF INTEGER :: RunFileF
#endif RunFile = RunFileF(ID,FILENAME)
RunFile = RunFileF(OUTPUT_ON, ERROR_ON, LOG_ON,
& SELECTED_ON, FILENAME)
END FUNCTION RunFile END FUNCTION RunFile
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLines FUNCTION RunString(ID,INPUT)
IMPLICIT NONE IMPLICIT NONE
#if defined(_WIN32) INTEGER :: ID
INTERFACE CHARACTER(LEN=*) :: INPUT
SUBROUTINE OutputLinesF INTEGER :: RunString
!DEC$ ATTRIBUTES C,REFERENCE::OutputLinesF INTEGER :: RunStringF
!DEC$ ATTRIBUTES ALIAS:'_OutputLines'::OutputLinesF RunString = RunStringF(ID,INPUT)
END SUBROUTINE OutputLinesF END FUNCTION RunString
END INTERFACE
#endif
CALL OutputLinesF
END SUBROUTINE OutputLines
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputRowCount() FUNCTION GetSelectedOutputRowCount(ID)
IMPLICIT NONE IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetSelectedOutputRowCount INTEGER :: GetSelectedOutputRowCount
#if defined(_WIN32)
INTERFACE
FUNCTION FRows
!DEC$ ATTRIBUTES C,REFERENCE::FRows
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputRowCountF'::FRows
INTEGER(KIND=4) :: FRows
END FUNCTION FRows
END INTERFACE
GetSelectedOutputRowCount = FRows() - 1
#else
INTEGER :: GetSelectedOutputRowCountF INTEGER :: GetSelectedOutputRowCountF
GetSelectedOutputRowCount = GetSelectedOutputRowCountF() - 1 GetSelectedOutputRowCount = GetSelectedOutputRowCountF(ID)
#endif
END FUNCTION GetSelectedOutputRowCount END FUNCTION GetSelectedOutputRowCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputColumnCount() FUNCTION GetSelectedOutputColumnCount(ID)
IMPLICIT NONE IMPLICIT NONE
INTEGER :: ID
INTEGER :: GetSelectedOutputColumnCount INTEGER :: GetSelectedOutputColumnCount
#if defined(_WIN32)
INTERFACE
FUNCTION FCols
!DEC$ ATTRIBUTES C,REFERENCE::FCols
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputColumnCount'::FCols
INTEGER(KIND=4) :: FCols
END FUNCTION FCols
END INTERFACE
GetSelectedOutputColumnCount = FCols()
#else
INTEGER :: GetSelectedOutputColumnCountF INTEGER :: GetSelectedOutputColumnCountF
GetSelectedOutputColumnCount = GetSelectedOutputColumnCountF() GetSelectedOutputColumnCount = GetSelectedOutputColumnCountF(ID)
#endif
END FUNCTION GetSelectedOutputColumnCount END FUNCTION GetSelectedOutputColumnCount
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION GetSelectedOutputValue(ROW,COL,VTYPE,DVALUE,SVALUE) FUNCTION GetSelectedOutputValue(ID,ROW,COL,VTYPE,DVALUE,SVALUE)
IMPLICIT NONE IMPLICIT NONE
INTEGER :: ID
INTEGER :: ROW INTEGER :: ROW
INTEGER :: COL INTEGER :: COL
INTEGER :: VTYPE INTEGER :: VTYPE
REAL*8 :: DVALUE REAL*8 :: DVALUE
CHARACTER(LEN=*) :: SVALUE CHARACTER(LEN=*) :: SVALUE
INTEGER :: GetSelectedOutputValue INTEGER :: GetSelectedOutputValue
#if defined(_WIN32)
INTERFACE
FUNCTION Get(ROW,COL,VTYPE,DVALUE,SVALUE)
!DEC$ ATTRIBUTES C,REFERENCE::Get
!DEC$ ATTRIBUTES ALIAS:'_GetSelectedOutputValueF'::Get
INTEGER(KIND=4) :: ROW
INTEGER(KIND=4) :: COL
INTEGER(KIND=4) :: VTYPE
REAL(KIND=8) :: DVALUE
CHARACTER(LEN=*) :: SVALUE
INTEGER(KIND=4) :: Get
END FUNCTION Get
END INTERFACE
adjcol = col - 1
GetSelectedOutputValue = Get(ROW,adjcol,VTYPE,DVALUE,SVALUE)
#else
INTEGER :: GetSelectedOutputValueF INTEGER :: GetSelectedOutputValueF
GetSelectedOutputValue = GetSelectedOutputValueF(ROW, GetSelectedOutputValue = GetSelectedOutputValueF(ID,ROW,
& COL,VTYPE,DVALUE,SVALUE) & COL,VTYPE,DVALUE,SVALUE)
#endif
END FUNCTION GetSelectedOutputValue END FUNCTION GetSelectedOutputValue
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION System(COMMAND) SUBROUTINE OutputLastError
IMPLICIT NONE IMPLICIT NONE
CHARACTER(LEN=*) :: COMMAND CALL OutputLastErrorF
INTEGER :: System END SUBROUTINE OutputLastError
INTEGER :: SystemF !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
System = SystemF(COMMAND) SUBROUTINE OutputLines(ID)
END FUNCTION System IMPLICIT NONE
INTEGER :: ID
CALL OutputLinesF(ID)
END SUBROUTINE OutputLines
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! FUNCTION System(COMMAND)
!! IMPLICIT NONE
!! CHARACTER(LEN=*) :: COMMAND
!! INTEGER :: System
!! INTEGER :: SystemF
!! System = SystemF(COMMAND)
!! END FUNCTION System

View File

@ -12,17 +12,31 @@ compile fortran with:
g77 -fno-second-underscore g77 -fno-second-underscore
********************************/ ********************************/
#if defined(__GNUC__) #if defined(__GNUC__)
#define LoadDatabaseF loaddatabasef_
#define AccumulateLineF accumulatelinef_ #define AccumulateLineF accumulatelinef_
#define RunAccumulatedF runaccumulatedf_ #define CreateIPhreeqcF createiphreeqcf_
#define RunFileF runfilef_ #define GetComponentCountF getcomponentcountf_
#define GetComponentF getcomponentf_
#define GetDumpLineCountF getdumplinecountf_
#define GetDumpLineF getdumplinef_
#define GetErrorLineCountF geterrorlinecountf_
#define GetErrorLineF geterrorlinef_
#define GetSelectedOutputColumnCountF getselectedoutputcolumncountf_
#define GetSelectedOutputRowCountF getselectedoutputrowcountf_
#define GetSelectedOutputValueF getselectedoutputvaluef_ #define GetSelectedOutputValueF getselectedoutputvaluef_
#define LoadDatabaseF loaddatabasef_
#define LoadDatabaseStringF loaddatabasestringf_
#define OutputLastErrorF outputlasterrorf_ #define OutputLastErrorF outputlasterrorf_
#define OutputLinesF outputlinesf_ #define OutputLinesF outputlinesf_
#define GetSelectedOutputRowCountF getselectedoutputrowcountf_ #define RunAccumulatedF runaccumulatedf_
#define GetSelectedOutputColumnCountF getselectedoutputcolumncountf_ #define RunFileF runfilef_
#define GetSelectedOutputValueF getselectedoutputvaluef_ #define RunStringF runstringf_
#define SystemF systemf_ #define SetDumpOnF setdumponf_
#define SetDumpStringOnF setdumpstringonf_
#define SetErrorOnF seterroronf_
#define SetLogOnF setlogonf_
#define SetOutputOnF setoutputonf_
#define SetSelectedOutputOnF setselectedoutputonf_
//#define SystemF systemf_
#endif #endif
#include "fwrap.h" #include "fwrap.h"
@ -86,7 +100,7 @@ LoadDatabaseStringF(int *id, char* input, unsigned int input_length)
cinput = f2cstring(input, input_length); cinput = f2cstring(input, input_length);
if (!cinput) if (!cinput)
{ {
::AddErrorM(*id, "LoadDatabase: Out of memory.\n"); ::AddErrorM(*id, "LoadDatabaseString: Out of memory.\n");
return VR_OUTOFMEMORY; return VR_OUTOFMEMORY;
} }
@ -95,7 +109,6 @@ LoadDatabaseStringF(int *id, char* input, unsigned int input_length)
return n; return n;
} }
IPQ_RESULT IPQ_RESULT
AccumulateLineF(int *id, char *line, unsigned int line_length) AccumulateLineF(int *id, char *line, unsigned int line_length)
{ {
@ -181,9 +194,9 @@ GetComponentCountF(int *id)
} }
void void
GetComponentF(int *id, int *n, char* line, unsigned int line_length) GetComponentF(int *id, int *n, char* comp, unsigned int line_length)
{ {
padfstring(line, ::GetComponentM(*id, (*n) - 1), line_length); padfstring(comp, ::GetComponentM(*id, (*n) - 1), line_length);
} }
int int
@ -301,22 +314,22 @@ OutputLinesF(int *id)
extern "C" { extern "C" {
#endif #endif
// COMMENT: {4/5/2010 7:12:55 PM}int int
// COMMENT: {4/5/2010 7:12:55 PM}SystemF(char* command, unsigned int command_length) SystemF(char* command, unsigned int command_length)
// COMMENT: {4/5/2010 7:12:55 PM}{ {
// COMMENT: {4/5/2010 7:12:55 PM} char* ccommand; char* ccommand;
// COMMENT: {4/5/2010 7:12:55 PM}
// COMMENT: {4/5/2010 7:12:55 PM} ccommand = f2cstring(command, command_length); ccommand = f2cstring(command, command_length);
// COMMENT: {4/5/2010 7:12:55 PM} if (!ccommand) if (!ccommand)
// COMMENT: {4/5/2010 7:12:55 PM} { {
// COMMENT: {4/5/2010 7:12:55 PM} AddError("System: Out of memory.\n"); //AddError("System: Out of memory.\n");
// COMMENT: {4/5/2010 7:12:55 PM} return (int)VR_OUTOFMEMORY; return (int)VR_OUTOFMEMORY;
// COMMENT: {4/5/2010 7:12:55 PM} } }
// COMMENT: {4/5/2010 7:12:55 PM}
// COMMENT: {4/5/2010 7:12:55 PM} int n = system(ccommand); int n = system(ccommand);
// COMMENT: {4/5/2010 7:12:55 PM} free(ccommand); free(ccommand);
// COMMENT: {4/5/2010 7:12:55 PM} return n; return n;
// COMMENT: {4/5/2010 7:12:55 PM}} }
#if defined(__cplusplus) #if defined(__cplusplus)
} }

View File

@ -10,6 +10,8 @@ extern "C" {
int LoadDatabaseF(int *id, char* filename, unsigned int filename_length); int LoadDatabaseF(int *id, char* filename, unsigned int filename_length);
int LoadDatabaseStringF(int *id, char* input, unsigned int input_length);
IPQ_RESULT AccumulateLineF(int *id, char *line, unsigned int line_length); IPQ_RESULT AccumulateLineF(int *id, char *line, unsigned int line_length);
int RunAccumulatedF(int *id); int RunAccumulatedF(int *id);

View File

@ -1,6 +1,6 @@
CPPUNIT = /z/parkplace/home/charlton CPPUNIT = /z/parkplace/home/charlton
CC = g++ CC = g++
DEFINES = -DNDEBUG -DSWIG_SHARED_OBJ -DPHREEQC_CPP -DPHREEQC_CLASS -DUSE_PHRQ_ALLOC DEFINES = -DNDEBUG -DSWIG_SHARED_OBJ -DPHREEQC_CPP -DPHREEQC_CLASS -DUSE_PHRQ_ALLOC -DCPPUNIT
CFLAGS = -Wall -O3 CFLAGS = -Wall -O3
CPPFLAGS = $(DEFINES) -I$(CPPUNIT)/include -I../include -I../src -I../src/phreeqcpp -I../src/phreeqcpp/phreeqc CPPFLAGS = $(DEFINES) -I$(CPPUNIT)/include -I../include -I../src -I../src/phreeqcpp -I../src/phreeqcpp/phreeqc
TARGET_ARCH = TARGET_ARCH =
@ -33,7 +33,6 @@ VPATH=.:../src:../src/phreeqcpp:../src/phreeqcpp/phreeqc
TOBJS = \ TOBJS = \
TestCVar.o \ TestCVar.o \
TestInterface.o \
TestIPhreeqc.o \ TestIPhreeqc.o \
TestIPhreeqcLib.o \ TestIPhreeqcLib.o \
TestSelectedOutput.o \ TestSelectedOutput.o \
@ -42,14 +41,10 @@ TOBJS = \
SOBJS = \ SOBJS = \
IPhreeqc.o \
IPhreeqc2.o \ IPhreeqc2.o \
IPhreeqcLib.o \ IPhreeqcLib.o \
SelectedOutput.o \ SelectedOutput.o \
Var.o \ Var.o
fwrap.o \
module_files.o \
module_output.o
PPOBJS = \ PPOBJS = \
cxxKinetics.o \ cxxKinetics.o \
@ -136,11 +131,6 @@ clean:
# TOBJS # TOBJS
TestCVar.o: TestCVar.cpp TestCVar.h ../src/CVar.hxx ../src/Debug.h \ TestCVar.o: TestCVar.cpp TestCVar.h ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h ../src/../include/Var.h
TestInterface.o: TestInterface.cpp TestInterface.h ../include/IPhreeqc.h \
../include/Var.h ../src/CVar.hxx ../src/Debug.h ../src/../include/Var.h \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \ TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \ ../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h ../src/phreeqcpp/phreeqc/global.h \ ../src/../include/Var.h ../src/phreeqcpp/phreeqc/global.h \
@ -150,7 +140,7 @@ TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \
TestVar.o: TestVar.cpp TestVar.h ../include/Var.h TestVar.o: TestVar.cpp TestVar.h ../include/Var.h
unit.o: unit.cpp TestVar.h ../include/Var.h TestCVar.h ../src/CVar.hxx \ unit.o: unit.cpp TestVar.h ../include/Var.h TestCVar.h ../src/CVar.hxx \
../src/Debug.h ../src/../include/Var.h TestSelectedOutput.h \ ../src/Debug.h ../src/../include/Var.h TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx TestInterface.h ../src/SelectedOutput.hxx ../src/CVar.hxx
# POBJS # POBJS
advection.o: ../src/phreeqcpp/phreeqc/advection.c \ advection.o: ../src/phreeqcpp/phreeqc/advection.c \
@ -306,33 +296,11 @@ utilities.o: ../src/phreeqcpp/phreeqc/utilities.c \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/phrqproto.h
# SOBJS # SOBJS
IPhreeqc.o: ../src/IPhreeqc.cpp ../include/IPhreeqc.h \
../include/IPhreeqcCallbacks.h ../include/Var.h ../include/IPhreeqc.hpp \
../src/phreeqcpp/Phreeqc.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/cvdense.h ../src/phreeqcpp/phreeqc/cvode.h \
../src/phreeqcpp/phreeqc/nvector.h ../src/phreeqcpp/phreeqc/dense.h \
../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/nvector_serial.h \
../src/phreeqcpp/phreeqc/dense.h ../src/phreeqcpp/runner.h \
../src/phreeqcpp/StorageBinList.h ../src/phreeqcpp/dumper.h \
../src/phreeqcpp/phreeqc/p2c.h \
../src/phreeqcpp/phreeqc/global_structures.h \
../src/phreeqcpp/phreeqc/basic.h \
../src/phreeqcpp/phreeqc/pitzer_structures.h \
../src/phreeqcpp/phreeqc/pitzer.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/global_structures.h \
../include/IPhreeqcCallbacks.h ../include/Var.h \
../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \
../src/ErrorReporter.hxx
SelectedOutput.o: ../src/SelectedOutput.cpp ../src/SelectedOutput.hxx \ SelectedOutput.o: ../src/SelectedOutput.cpp ../src/SelectedOutput.hxx \
../src/CVar.hxx ../src/Debug.h ../include/Var.h ../src/CVar.hxx ../src/Debug.h ../include/Var.h
Var.o: ../src/Var.c ../src/../include/Var.h Var.o: ../src/Var.c ../src/../include/Var.h
fwrap.o: ../src/fwrap.cpp ../src/phreeqcpp/phreeqc/global.h \ fwrap.o: ../src/fwrap.cpp ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/../include/IPhreeqc.h \ ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/../include/Var.h ../src/../include/Var.h
global.o: ../src/global.c ../src/phreeqcpp/phreeqc/global.h \ global.o: ../src/global.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h