Jump to content
Geochemist's Workbench Support Forum

Jia Wang

  • Posts

  • Joined

  • Last visited

  • Days Won


Jia Wang last won the day on June 3

Jia Wang had the most liked content!


Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Jia Wang's Achievements


Newbie (1/14)

  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare
  • First Post Rare
  • Collaborator Rare

Recent Badges



  1. Hello Muhammet, Thank you for attaching your input file. I wasn't able to reproduce your exact diagrams because I don't have your custom thermodynamic dataset, but here are a couple of suggestions that might help clear up some confusion. The cross section view plots variables on an XY grid for a row or column from the 2D phase diagram. I suggest that you double check the XY plots to make sure that they are plotting the row you are expecting from the phase diagram. In the XY plots, I see on the y-axis label "Xi, 0", which in this case means that you're plotting the cross section values in the bottom row of your phase diagram, where the pH is 1.004 and not 1.481. In the configuration dialog (under the tab "Step"), you can also change the Progress variable to display the "pH" instead of the "Rxn progress (y)", which might be helpful to see pH of the corresponding row you're plotting more clearly. If you would like to see more information and some examples of P2plot, refer to section 8.2 Cross-section Plot configuration in the GWB Reaction Modeling User Guide. Also note that the predominance diagram shows the species in the highest abundance. For example, if Ca++ , CaSO4, and Gypsum are present in the same node, the predominance diagram will color the node and assign subsection label according to the Ca containing species with the highest concentration. If you want to display fields where a mineral or group of minerals exist in the calculation, you can use an "Assemblage map" instead. You can also add a color mask of a variable's value range over the diagram axes, that would overlay onto either a predominance or assemblage map. If you're interested in the different the types of diagrams in P2plot, please take a look at section 8.1 2D Diagram in the GWB Reaction Modeling User Guide. It sounds like you're making progress with the software and your work. I hope this helps. Best regards, Jia Wang Aqueous Solutions LLC
  2. Hello, You're welcome. I am not sure the exact details of your file setup so it's difficult to know. One suggestion is to check the isotope data file for the species that are important in your simulation. The isotope.dat file provided with the installation is a good start but you may have to add to it fractionation factors for species that are not accounted for but expected in your simulation. If the species is missing in the database, the program assumes a fractionation factor of 0. If you are still encountering issues, please attach your input script so we can take a closer look. It would also be very helpful if you can provide more explanation of what you're trying to model and the trends you expect. Best regards, Jia Wang
  3. Hello, Thanks for attaching your input file. If you are only looking at one node, then I am not sure that you need a reactive transport modelling application as you have used here. X1t and X2t are set up to trace chemical reactions that occur over a region of space represented by a system of nodes. If this is the type of simulation that you're interested in, then you should build a reactive transport model. If you are only interested in reactions that are occurring in a single node, then you may want to consider using React. In React, you can just as easily add kinetic reactions to the flush model as you did in X1t. I also see that the specific surface area of forsterite is set to vary according to a random distribution. Since your X1t model has only one node, I am not really sure that it is very useful here. It might be more straightforward to set a constant specific surface area and vary that in different simulations. Just to note, the program does not factor grain size into the equilibrium or transport equations. For kinetic reactions, you can designate a specific surface area for the mineral of interest and that is taken into account for the kinetic dissolution/precipitation of that mineral. If you are using surface area as a proxy for grain size, that would be something that you need to consider carefully. You can find information regarding reactants under Reactant properties when you plot your results. React and X1t will both report the mass of minerals reacted, rate of reaction, and etc. You can find the pore volume displaced under the Physical parameters in the Gtplot or Xtplot. Hope this helps, Jia Wang Aqueous Solutions LLC
  4. Hello Muhammet, The issue here is that your input file for Phase2 is missing a reaction path for the y-axis. In the video posted, you can check under the "Y Axis" tab and see that there is nothing set. The Results pane also indicates that there is no reaction path set for your simulation after the run as well. The resulting output file does not enough information to plot a phase diagram in P2plot. Can you double check that you are running the correct file? The video shows your input files contain the .rea extension, which indicates that these are really meant for the React application. In certain cases, you may use a React input file as a starting point (i.e. for setting up the basis constraints) but you should also check that the reaction paths in both x and y axes are set up correctly. For more information on setting up a Phase2 input file, please see the examples in section 7 Using Phase2 in the GWB Reaction Modeling User Guide. Hope this helps, Jia Wang Aqueous Solutions LLC
  5. Hello, I think a good place for you to start is the section working with isotope fractionation in SpecE8. You would need to define the isotope system and then allow the program to calculate the composition of the solvent and dissolved species to honor the fluid's bulk composition assuming isotopic equilibrium. If you require evaporation in your simulation, then you would need to use the React application to simulate reaction path changes. For more information and examples, please take a look at section 7.7 Fractionation of stable isotopes in the GWB Essentials Guide and section 3.9 in the GWB Reaction Modeling Guide. Hope this helps, Jia Wang
  6. Hello Zixuan, Thanks for providing your updated script. By setting up kaolinite as a kinetic mineral with a zero dissolution rate, you have prescribed a surface available for surface complexation for your experiment without precipitation or dissolution of kaolinite to maintain equilibrium with the fluid. Also, the initial method of setting a Al+++/SiO2(aq) activity ratio to a constant value was causing a large amount of dissolved Al and P species to form aqueous complexes that were not considered as a part of the complexation reaction. Here are a few suggestions for you after looking at the paper. If you are using the default thermo.tdat for your run, you would want to double check that the thermodynamic data is consistent. For example, the default dataset doesn't include the reaction for KPO3-- or KH2PO4-. You should also check that the log K data is consistent with those provided in the paper. You will also notice that species not included in the reactions listed in the paper may form because the GWB considers all the reactions possible in the dataset unless it is suppressed. You may find it helpful to either suppress all the species other than the one considered in the paper or can create a new thermo dataset by extracting a subset of the relevant reactions from thermo.tdat. The paper did not provide the activity model used in its modeling with FITEQL. thermo.tdat uses the B-dot activity model, an extended version of the Debye-Huckel equation, to calculate the activity of species. You can find this information in the Headers pane when you open the dataset in TEdit or the activity model line if you open the file in a text editor. If a different activity model was used in the paper, then it may explain some of the differences observed. Other details include whether or not charge balancing was utilized in the original calculation and if so, was the simulation charge balanced with an anion or cation. The GWB uses a molal or mole fraction (for polydentate complexes) standard state in surface complexation reactions. Some programs may use a molar standard state instead, which may result in a small difference when comparing simulation results across software. I would recommend communicating with the corresponding author(s) to see if you are able to obtain more details regarding their model if you would like to improve your results. Hope this helps, Jia Wang
  7. Hello Zixuan, I think you're pretty close with your script. The software calculates the speciation of your fluid based on the component concentrations prescribed in the basis pane. I noticed that you had set the activity ratio of SiO2(aq)/Al3+ to 1. This is not a particularly robust way of performing these simulations as each component may speciate to different extents. Holding these ratios constant might not be particularly realistic and probably contributed to your convergence issue initially. Since the paper did not provide initial SiO2(aq) and Al3+ concentrations in the fluid, you can try setting a negligible concentration for both and set up Kaolinite as a kinetic mineral with a zero rate constant. This way, you are effectively setting up kaolinite as an inert surface, as it will not dissolve or precipitate with a reaction rate of 0 but available for surface complexation. Hope this helps, Jia Wang
  8. Hello Kerstin, The GWB example for Fe2+ oxidation adds OH-, O2(aq), and Fe2+ as promoting species based on the rate law. If you want to use the same rate law as described in Stumm and Morgan, you can substitute O2(g) for O2(aq) as a promoting species. For the rate constant, you would need to convert from /min to /s. For more details regarding kinetic rate laws, please refer to chapter 4 Kinetic Reaction Paths in the GWB Reaction Modeling User Guide. In particular, I think you will be interested in section 4.6 Kinetics of Redox Reactions. If a constant value is provided in the rate constant field, that value is applied across the temperature range of your simulation and does not vary. Note the example input file is set at 10 C, not 25 C. The rate constant used in the example is for demonstrating the principles for kinetic redox reactions, not presenting kinetic parameters as facts. Hope this helps, Jia Wang
  9. Hello Carlos, I am sorry to hear that you're having issues with your installation. Can you try these general tips for installation issues and see if one works? Restart computer Reinstall the software Reinstall the software as an administrator (right-click on installer "Run as administrator") Run the software as an administrator (right-click on dashboard or GWB app "Run as administrator") Temporarily disable antivirus software, if any Temporarily disable firewall, if any Please let me know if this helped. Best regards, Jia Wang
  10. You're welcome. I hope the rest of your project goes smoothly. Best regards, Jia
  11. Hello Wei, I think some variables in your script are not defined. When I tried to run your script directly, I received the error "go_final_Ca: no such variable". Perhaps there are different ways to do this but if you are trying to run your initial basis concentrations and react with different amounts of calcite, then I think you need to put the basis constraints inside your for loop as well. I made a simple example with just Na+ and Cl- and I had no issues with the pickup command within the for loop. The example below will set the basis with 1 kg of H2O, 1 mmol Na+, balance on Cl-, and then do the first run. The results are then picked up and some amount of of Na+ (0 to 9 mmol) are titrated into the picked up fluid at each iteration. I have the script print out the Na+ component concentration after the initial equilibration and after the titration to the Command pane. I also added the reset command at the end so that the script starts as a clean slate after one iteration of the loop. For more information on reset, please refer to the GWB Command Reference. data = "C:\Program Files\Gwb\Gtdata\thermo.tdat" verify script start for {set j_a 0} {$j_a<10} {incr j_a 1} { temperature = 25 C H2O = 1 kg Na+ = 1 mmol balance on Cl- go #prints the counter puts "j_a= $j_a mmol" set before_pickup_Na [eval report concentration Na+ mmol] puts "Na+_before_pickup = $before_pickup_Na mmol" pickup #react j_a mmol of Na with the fluid React $j_a mmol Na+ go set final_Na [eval report concentration Na+ mmol] #Na component composition after the first go run puts "Na+ final= $final_Na mmol \n" #resets command to begin defining the system again with a clean slate reset } Hope this helps, Jia
  12. Hello, Thanks for double checking the units. I did a quick test with the new units and swapped CaEDTA-- (more abundant species) for EDTA----, and the speciation calculation was successful. Did you alter any other parameters in file setup? Perhaps a unit was left unchanged for one of the basis species? If you would like someone to take a closer look, please attach the SpecE8 or React input file so we can troubleshoot. Hope this helps, Jia
  13. Hello, Taking a quick look at your basis input, it seems like your solution is extremely concentrated (> 200 moles of solute per kilogram of solution). Can you double check that the unit that you are using for your concentration measurements are correct? Best regards, Jia Wang
  14. Hello Ashley, The error you encountered is likely due to the ARM-based processors used in Surface Pro X laptops. ARM Windows has emulators for x86 (32-bit) infrastructure and will have one for x64 (64-bit) in the future. If you have option to select the 32-bit option during installation, you can try installing the 32-bit version to see if that allows you to activate successfully. This should be the first option you make when you run the installer. In the future, please remove activation codes from screenshots or error messages before posting. Hope this helps, Jia Wang
  15. Hello Wei, The pickup command would allow you to use the composition at the end of a simulation and set it as a starting point for a new run. For more information and examples on using on the pickup command, please see sections 3.10 Picking up the results of a run and 4.8 Chaining together kinetic paths in the GWB Reaction Modeling User Guide. To view all specific options of implementing the pickup command, please see 6.64 pickup in the GWB Command Reference. Hope this helps, Jia Wang
  • Create New...