Using IPhreeQC Com Module with Matlab
12 views (last 30 days)
Show older comments
Hi All I am trying to use the com module in matlab and i can't find a refrence for the syntax for the string (which you can send to the RunString). Can anyone give me an example (a simple one)? thanks a lot
paz
0 Comments
Answers (2)
Leonardo Meireles
on 28 Mar 2018
Hi Paz,
That was a long time ago, but there is a simple example in the PHREEQC users' forum:
iphreeqc = actxserver('IPhreeqcCOM.Object'); iphreeqc.LoadDatabase(['whatever path' '\USGS\IPhreeqcCOM 3.3.7-11094\database\phreeqc.dat']);
iphreeqc.ClearAccumulatedLines;
iphreeqc.AccumulateLine ('USER_PUNCH') iphreeqc.AccumulateLine ('-head Spec_Cond'); iphreeqc.AccumulateLine ('PUNCH SC');
iphreeqc.AccumulateLine ('SELECTED_OUTPUT'); iphreeqc.AccumulateLine ('-activities Ca+2 CO3-2'); iphreeqc.AccumulateLine ('-ionic_strength'); iphreeqc.AccumulateLine ('-pH');
iphreeqc.AccumulateLine ('SOLUTION 1 '); iphreeqc.AccumulateLine ('-pH 7 charge'); iphreeqc.AccumulateLine ('-temp 25'); iphreeqc.AccumulateLine ('-units mol/L'); iphreeqc.AccumulateLine (['C(4) ' num2str(c(1))]); iphreeqc.AccumulateLine (['Ca ' num2str(c(2))]); iphreeqc.AccumulateLine (['Cl ' num2str(c(3))]); iphreeqc.AccumulateLine (['N(-3) ' num2str(c(4))]);
try iphreeqc.RunAccumulated; catch break; end
out_PHREEQC = iphreeqc.GetSelectedOutputArray;
The original thread is at the address below.
Best regards,
Leo.
M Muniruzzaman
on 8 Nov 2017
Here is work that we did that demonstrate using IPhreeqcCOM with Matlab.
2 Comments
M Muniruzzaman
on 20 Mar 2018
No problem, what kind of syntax are you referring to? The general descriptions about IPhreeqc methods can be found in the paper by Charlton and Parkhurst (2011), ADWR or in the PHREEQC site: https://wwwbrr.cr.usgs.gov/projects/GWC_coupled/iphreeqc/classIPhreeqc.html
See Also
Categories
Find more on Use COM Objects in MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!