Jump to content
Geochemist's Workbench Support Forum


  • Posts

  • Joined

  • Last visited

About JohanFourie

  • Birthday 07/27/2019

Profile Information

  • Gender
  • Location
  • Interests
    AMD, heat and gas......

Recent Profile Visitors

721 profile views

JohanFourie's Achievements


Newbie (1/14)

  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Conversation Starter Rare
  • Week One Done Rare

Recent Badges



  1. Thanks Jia, it works! (my rate is far too low btw) Thanks for your quick response!
  2. Hi Jia I am playing around with redox couples in chemplugin. See the attached dummy code. The Fe+++ is decoupled but 1) does the model read the specified kinetic rate? Did I wrote it correctly? Looks like there are 2 escape characters........ cp.Config("kinetic redox-1 rxn = \" Fe++ + H+ + .25 O2(aq) -> Fe+++ + .5 H2O \" rate_con = 1e-12 mpower(Fe++) = 1 mpower(O2(aq)) = 1 apower(OH-) = 2 ") 2) It does not want to report Eh(Fe+++/Fe++). Probably because it didnt read the kinetic rate? Do I call it correctly below? cpReport1('Eh(Fe+++/Fe++)') I run it in Ipython in Spyder. I use thermo.com.v8.r6 Thanks! Johan JF_model_redox_to_GWB.py
  3. Hi Jia Thanks for your feedback. I have installed the "release cand" but it did not work. Thats right, I cant open the thermo dataset also. I have attached it - hope you can see whats wrong. Thanks! Johan
  4. Hi I cant open GSS files created 1-2 yrs ago with the newest GWB 2021. Attached is an example. I also cant open older Tedit files with GWB 2021. Thanks! Johan TB02C_Fieldcell.gss
  5. GWB2021 does not want to open TEdit and GSS files created in 2020. It states that it is up to date. Should I also try the above installer or is there another update available?
  6. Hi Jia I haven't come right with "pickup". The model just does not want to converge after "pickup". Or maybe I don't apply it correctly - but I have tried several variations and could not get it running. I can send you a small dummy code if you want to see what I did wrong with pickup. As an alternative what I did, is to run the model initially by removing the O2 buffer altogether, adding "react O2" until I get the oxic conditions - therefore creating a pseudo-O2buffer. My solution is not ideal as I add O2 constantly but it is not exactly constantly consumed over time. Then for the second run I "extend" the model (after "adjust" the kinetic mineral mass to the last remaining mass as "extend" keep equilibrium minerals but reset the kinetic mineral mass for some reason) and also "adjust_rate O2(aq) 0 mg/hour". It is working and I get the oxic/anoxic transition, however it is quite cumbersome and I would be very glad if there was an eazy option to just "unfix" the O2 buffer. Do you think this will be something you guys might implement in future? Regards Johan Edit: Using the cp.Report1("mass_reacted O2(aq)"," mg") function it was possible to adjust the amount of O2 put back to what was consumed in the previous time-step, creating a more realistic O2 buffer in Model 1 than the constant one. Still, it would be great if you guys could look into the "unfix" option.......
  7. Hi Jia Thanks for your response. As I understand the pickup will pickup the solution results but will it pickup the reactants (incl kinetic minerals) and precipitated minerals? Regards Johan
  8. I see one can "fix" the fugacity and then at some time step starts to "slide fugacity" but I still prefer to "unfix" it so that there is no oxygen buffer anymore...... ( I tried to slide log fugacity O2 but it does not want to run then)
  9. Hi In my problem I have a situation where conditions will change fairly abruptly from oxic to anoxic (so I dont want to use sliding). Is it possible to adjust the fugacity (or cancel the "fix" fugacity) of a gas "on the fly" when using chemplugin? I tried it but it seems like it doesnt want to work. If not, what will be the best solution? Thanks J
  10. Hi Frank Don't know If I understand your problem correctly. Will it help if you make a copy of the mineral in the database: e.g. calcite1 and calcite2 and then give it the different surface areas you want in the model?
  11. Thanks Dan, this is very helpful. I appreciate your quick feedback.
  12. Hi Brian I have not come right with this yet and would appreciate if you can help. To make the problem more tangible I have edited the chemplugin example: Flowthrough1.py and attached it here. 1) The thermo database does not seem to need the escape character. In the attached python script I can run the 'surface data' without any escape character: 'surface_data = "C:\Program Files\ChemPlugin\Gtdata\FeOH.sdat"', However, if you deactivate it with # and activate the wateqdatabase (for instance), with or without the escape character it does not work: 'data = "C:\Program Files\Gwb\Gtdata\thermo_wateq4f.tdat" verify', or 'data = "C:\\Program Files\\Gwb\\Gtdata\\thermo_wateq4f.tdat" verify', I have tested it by changing a mineral name in the database i.e. calcite --> calcite2, however chemplugin couldn't read the database. 2) Then I also cant get the script to run. I have tried different ways but cant get it to run. I dont know where is the problem. It is not maybe at the "….RETURN rate" part? # "kinetic Calcite .1 volume% rate_law = script 'rate = (1.49e-02*EXP(-29000/(8.3144598*TK))*activity(\'H+\')^0.75 + 1.00e-02*EXP(-34800/(8.3144598*TK))*activity(\'H2CO3\')^0.75 + 2.20e-07*EXP(-52200/(8.3144598*TK))*activity(\'H2O\')^0.75) * surface * (1 - QoverK) RETURN rate' pre-exp = ??? act_eng = ??? surface = 200", My problem is that my real model have temperatures up to 220 C and I need to include to higher kinetic rate in some way or other. I have come right with the sliding temperature question I had in the other post and now my model can run at different temperature scenarios. I think chemplugin works great as it surely gives you a lot of flexibility to work with. Regards Johan FlowThrough_JF2.py
  13. "Hi Brian This works well for my model when changing the flowrate. But now I want to change a configuration of one of the instances also at a certain timestep. 1) Can I still do it before the time marching loop (this doesn't seem to work) or should I use extend run if I want to change the configuration 2) Have I done it correctly below or should I use the "remove" and "add" functions? Both temp and Br are already in the configuration - I just want to change their values..... 3) Can one also use the "slide" function in chemplugin? I also tried it but chemplugin ignored it. for n in range(0, var_ScenFlow): ………………………..for each flow scenario: if n == 1: ……………………….not at the 0 flow scenario but for the 1 one var_Temp2 = var_Temp1 cp_reactor[2].Config("Temperature = " + str(var_Temp2) + " C") ……………………...change the temperature in the configuration cp_reactor[2].Config("Br- = 1 mg/l") ……………………….change the tracer concentration # Time marching loop. while True: for c in cp_reactor: deltat = c.ReportTimeStep() …………….etc
  • Create New...