如何用MATLAB接口PHREEQC吗?
44视图(30天)
显示旧的评论
如何用MATLAB接口PHREEQC吗?
接受的答案
MathWorks支金宝app持团队
2019年5月20日
编辑:MathWorks支金宝app持团队
2019年5月20日
为了利用MATLAB PHREEQC,请安装一个“IPhreeqcCOM”模块提供COM-Server-Interface“PHREEQC”。这是可用的:
https://www.usgs.gov/software/phreeqc-version-3
附件你可以找到一个生活的脚本中提供了一个完整的示例来接口使用ActiveX PHREEQC软件接口。
要创建一个ActiveX服务器,以下代码中定义,请更改路径所以它适合您的安装。
%的ActiveX服务器:
iphreeqc = actxserver (“IPhreeqcCOM.Object”);
%指定数据库文件根据文件系统上的位置。
iphreeqc.LoadDatabase (“C: \ Program Files \美国地质调查局\ IPhreeqcCOM 3.5.0-14000数据库\ \ wateq4f.dat ');%请改变这一行如果你安装了这个地方
%叫PhreeqC功能使用独立的输入文件
%注意,以这种方式动态值变量的赋值是不可能的。
PhreeqC %我假设输入文件位于当前工作目录。
iphreeqc.RunFile ([pwd,“\ inputPhreeqC.txt”]);
OUTphreeqFILE = iphreeqc.GetSelectedOutputArray
%叫PhreeqC功能提供输入MATLAB多行字符串
%定义水溶液
cca = 10;%浓缩的。Ca2 +(更易/ l)
没有发生= 50;%浓缩的。Mg2 +(更易/ l)
%定义输入字符串单元阵列的字符串,并将其组合在一起,一个多行字符串使用sprintf命令。
IPCstringCell = {“方案1”,…
“临时10”,…
“单位更易/ L ',…
(“Ca”num2str (cca)),…
(毫克的num2str(发生),…
“550 Na”,…
“10 K”,…
“Cl 470”,…
(6)28日”,…
(4)2.1加元的,…
碱度为2.3的,…
“SELECTED_OUTPUT”,…
“-saturation_indices方解石白云石”,…
“-molalities二氧化碳HCO3 -”,…
“溶液假”,…
“pH值错误”,…
“sim假”,…
“国家假”,…
的假的,…
“一步错误”,…
“体育假”,…
“距离假”};
IPCstring = sprintf (“% s \ n”IPCstringCell {}):
%使用PhreeqC对象方法RunString使用上面定义的多行字符串。
iphreeqc。RunString (IPCstring);
OUTphreeqSTRING = iphreeqc.GetSelectedOutputArray
的接口中定义的脚本可以提高了在MATLAB PHREEQC-class的发展。你可以实现“actxserver”和“iphreeqc。LoadDatabase”类构造函数。
如果你需要更一般的ActiveX在MATLAB接口的信息,请参阅下面的网站在我们的文档:
//www.tatmou.com/help/matlab/using-com-objects-in-matlab.html?s_tid=CRUX_lftnav