updated for new multi selected output files

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8016 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2013-09-06 23:22:12 +00:00
parent 3fa099261f
commit 05872a6340
6 changed files with 59 additions and 30 deletions

View File

@ -17,6 +17,7 @@ EXAMPLES = \
examples/GetSelectedOutputString.c \
examples/GetSelectedOutputValue.c \
examples/GetSelectedOutputValue2.c \
examples/SetBasicCallback.c \
examples/IPhreeqc.cpp \
examples/F90ClearAccumulatedLines.f90 \
examples/F90CreateIPhreeqc.f90 \
@ -26,7 +27,9 @@ EXAMPLES = \
examples/F90GetLogStringLine.f90 \
examples/F90GetOutputStringLine.f90 \
examples/F90GetSelectedOutputStringLine.f90 \
examples/F90GetSelectedOutputValue.f90
examples/F90GetSelectedOutputValue.f90 \
examples/F90SetBasicFortranCallback.f90 \
examples/ic
all: $(TARGET)

View File

@ -55,6 +55,10 @@
<param name="Name" value="GetComponentCount">
<param name="Local" value="html\IPhreeqc_8h.html#a126e0c5f317a0dfb5235a0db6d923efe">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetCurrentSelectedOutputUserNumber">
<param name="Local" value="html\IPhreeqc_8h.html#ae4834247893b8afad3c40dac1036671d">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetDumpFileName">
<param name="Local" value="html\IPhreeqc_8h.html#ae1889e283d2443669e6e8e6aef91c321">
@ -127,6 +131,10 @@
<param name="Name" value="GetLogStringOn">
<param name="Local" value="html\IPhreeqc_8h.html#aec93dd8a4e98b97ef1f4f92e527a533e">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetNthSelectedOutputUserNumber">
<param name="Local" value="html\IPhreeqc_8h.html#a587dd64687d1bcf576b3a7e9d3e183c7">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetOutputFileName">
<param name="Local" value="html\IPhreeqc_8h.html#a20c0cd67be86477dccfb20948a7a282b">
@ -155,6 +163,10 @@
<param name="Name" value="GetSelectedOutputColumnCount">
<param name="Local" value="html\IPhreeqc_8h.html#a6be0323b33b32d6d04f3593bed31fcae">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetSelectedOutputCount">
<param name="Local" value="html\IPhreeqc_8h.html#a3170186c203a0e52276f16b5a11e521a">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="GetSelectedOutputFileName">
<param name="Local" value="html\IPhreeqc_8h.html#aaa0e499bc4dda8333cdc559fec6a692d">
@ -235,6 +247,18 @@
<param name="Name" value="RunString">
<param name="Local" value="html\IPhreeqc_8h.html#a1611647d6c8b31aba57982f324e2bd3f">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="SetBasicCallback">
<param name="Local" value="html\IPhreeqc_8h.html#a49e83d2b3195b8f1f55ab3b796f91c39">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="SetBasicFortranCallback">
<param name="Local" value="html\IPhreeqc_8h.html#a0e3a073a057f94232d89708ab362e41d">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="SetCurrentSelectedOutputUserNumber">
<param name="Local" value="html\IPhreeqc_8h.html#ac1925c31a3a3a7b291f50377e6e12754">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="SetDumpFileName">
<param name="Local" value="html\IPhreeqc_8h.html#a323d4060e0116eb410778b8c269edec9">

View File

@ -12,7 +12,7 @@ const char input[] =
" CO2(g) -1.5 10 \n"
"EQUILIBRIUM_PHASES 2 \n"
" Calcite 0 10 \n"
"SELECTED_OUTPUT \n"
"SELECTED_OUTPUT 1 \n"
" -reset false \n"
"USER_PUNCH \n"
" -Heading pH SR(calcite) Year \n"

View File

@ -1,11 +1,10 @@
# File ic
SOLUTION 1-2
END
EQUILIBRIUM_PHASES 1
CO2(g) -1.5 10
EQUILIBRIUM_PHASES 2
Calcite 0 10
SELECTED_OUTPUT
SELECTED_OUTPUT 1
-reset false
USER_PUNCH
-Heading pH SR(calcite) Year

View File

@ -1582,51 +1582,53 @@ Headings
IPQ_DLL_EXPORT int RunString(int id, const char* input);
/**
* Sets C callback function for the Basic interpreter.
* @param id The instance id returned from \ref CreateIPhreeqc.
* @param cookie The name of a double precision Fortran function with three arguments (two double precision, and one character).
* Sets a C callback function for Basic programs. The syntax for the Basic command is
* 10 result = CALLBACK(x1, x2, string$)
* The syntax for the C function is
* double my_callback(double x1, double x2, const char * string)
* @param id The instance id returned from @ref CreateIPhreeqc.
* @param fcn The name of a user-defined function.
* @param cookie1 A user defined value to be passed to the callback function.
* @retval IPQ_OK Success.
* @retval IPQ_BADINSTANCE The given id is invalid.
* @par Fortran90 Interface:
* @htmlonly
* <CODE>
* <PRE>
* FUNCTION SetBasicCallback(ID,fcn,cookie)
* INTEGER :: ID
* double (*fcn)(double x1, double x2, const char *str, void *)
* void * cookie :: SetBasicCallback
* integer SetBasicCallback
* END FUNCTION SetBasicCallback
* </PRE>
* </CODE>
* @endhtmlonly
* see @ref SetBasicFortranCallback
* @par C Example:
* @include SetBasicCallback.c
*/
IPQ_DLL_EXPORT IPQ_RESULT SetBasicCallback(int id, double (*fcn)(double x1, double x2, const char *str, void *cookie), void *cookie1);
/**
* Sets Fortran callback function for the Basic interpreter.
* @param id The instance id returned from \ref CreateIPhreeqc.
* @param cookie The name of a double precision Fortran function with three arguments (two double precision, and one character).
* Sets a Fortran callback function for Basic programs. The syntax for the Basic command is
* 10 result = CALLBACK(x1, x2, string$)
* The syntax for the Fortran function is
* double precision my_callback(x1, x2, string), where x1 and x2 are double precision and string is a character variable.
* @param id The instance id returned from @ref CreateIPhreeqc.
* @param fcn The name of a double precision Fortran function with three arguments (two double precision, and one character).
* @retval IPQ_OK Success.
* @retval IPQ_BADINSTANCE The given id is invalid.
* @par Fortran90 Interface:
* @htmlonly
* <CODE>
* <PRE>
* FUNCTION SetBasicFortranCallback(ID,fcn)
* FUNCTION SetBasicFortranCallback(ID,FCN)
* INTEGER(KIND=4), INTENT(IN) :: ID
* INTERFACE
* DOUBLE PRECISION FUNCTION fcn(x1, x2, str)
* DOUBLE PRECISION FUNCTION FCN(x1, x2, str)
* DOUBLE PRECISION, INTENT(in) :: x1
* DOUBLE PRECISION, INTENT(in) :: x2
* CHARACTER(*), INTENT(in) :: str
* CHARACTER(*), INTENT(in) :: str
* END FUNCTION
* END INTERFACE
* INTEGER(KIND=4) :: SetBasicFortranCallback
* END FUNCTION SetBasicCallback
* END FUNCTION SetBasicFortranCallback
* </PRE>
* </CODE>
* @endhtmlonly
* @par Fortran90 Example:
* @include F90SetBasicFortranCallback.f90
* @par File ic :
* @include ic
*/
IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, char *str, int l));

View File

@ -38,7 +38,7 @@ class IPQ_DLL_EXPORT IPhreeqcStop : std::exception
/**
* @class IPhreeqc
*
* @brief Provides an interface to PHREEQC (Version 2)--A Computer
* @brief Provides an interface to PHREEQC (Version 3)--A Computer
* Program for Speciation, Batch-Reaction, One-Dimensional Transport,
* and Inverse Geochemical Calculations
*/
@ -690,7 +690,8 @@ public:
* 10 result = CALLBACK(x1, x2, string$)
* The syntax for the C function is
* double my_callback(double x1, double x2, const char * string)
* @param cookie The name of a user-defined function
* @param fcn The name of a user-defined function.
* @param cookie1 A user defined value to be passed to the callback function.
* @see SetBasicFortranCallback
*/
void SetBasicCallback(double (*fcn)(double x1, double x2, const char *str, void *cookie), void * cookie1);
@ -700,7 +701,7 @@ public:
* 10 result = CALLBACK(x1, x2, string$)
* The syntax for the Fortran function is
* double precision my_callback(x1, x2, string), where x1 and x2 are double precision and string is a character variable.
* @param cookie The name of a user-defined double precision function with three arguments (two double precision, one character).
* @param fcn The name of a user-defined function.
* @see SetBasicCallback
*/
void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, char *str, int l));