Jump to content
Geochemist's Workbench Support Forum

Jia Wang

Admin
  • Posts

    717
  • Joined

  • Last visited

  • Days Won

    27

Everything posted by Jia Wang

  1. Hello, Changing the thermo file in your Preferences dialog will only affect new instances of the GWB applications. You can change dataset of any current or existing input file by going to "File" menu -> "Open" -> "Thermo Data...". Please see my response to your other post for how to view the currently loaded thermo dataset. Please consider posting to the same thread when you are following up on issues. It would be easier to keep track of related topics when you post to the same thread. Hope this helps, Jia
  2. Hello, Thank you for attaching your input file. The best way to see the reactions in a thermodynamic dataset loaded into your current calculation is to go to the "File" menu -> "View" -> click on the file with the extension .tdat or .dat to open in the TEdit application. You can filter on the element Zn and see all species containing Zn in its reaction. You can also use TEdit to edit datasets to add reactions from literature. For more information on using TEdit, please refer to chapter 9 in the GWB Essentials Guide. The default thermo dataset, thermo.tdat, doesn't contain any Zn-hydroxide species. An expanded version of the LLNL database, thermo.com.V8.R6+.tdat, is included in the software installation. Please see section 2.3 Thermodynamic datasets in the same guide for more information on datasets installed with the software. Hope this helps, Jia
  3. Hello Nick, You're welcome. I hope the rest of your project goes smoothly. Best regards, Jia
  4. Hello, It is very difficult to say what the issue might be without seeing your input file. A common error is that the species of interest may not be included in the thermo dataset. In that case, you will need to switch to another dataset that contains the species reaction you want to draw the activity diagram for. Another common error is that more stable species may appear and you need to suppress these for species unstable species may appear. Please see section 2.3 for more information on Thermodynamic datasets of the GWB Essentials Guide. You can find examples using Act2 in chapter 5 in the same guide. If this doesn't help and you would like someone to take a closer look, please attach your input file and thermodynamic dataset, and provide more context on what you are trying to create. Hope this helps, Jia Wang Aqueous Solutions LLC
  5. Hello, Thank you for providing additional details. I do not have access to the models presented in Lazavera et al., 2015 and Horne et al. 2022. If you are trying to replicate their results or are working with their script but not seeing the expected results, I would suggest that you contact the corresponding authors on the publications. Swapping a mineral for a component in the basis tells the program to calculate that component's dissolved concentration in equilibrium with that mineral. You would only want to do this if you can assume that the mineral is in equilibrium with your initial fluid. Based on what you said above, it doesn't sound like this would be the appropriate path. You can find more about configuring your system in chapter 2 of the GWB Essentials Guide. Best regards, Jia
  6. Hello, Thank you for your thoughts and feedback on the program. This change is one of many updates to the software year about a decade ago. At this point, many other features in the program have been built upon this, and it would be very difficult to revert back to older behavior. Best regards, Jia Wang Aqueous Solutions LLC
  7. Hello Nick, Are you talking about entering data into GSS or another GWB application? The software by default sets the total concentration (the mass of the thermodynamic component). What you enter for HPO4-- is a bulk constraint equal to the sum of H2PO4-, HPO4--, PO4---, etc. species. The software does allow you to specify the HPO4-- free ion concentration and calculate additional mass for other phosphorus species. To specify a free species concentration in GSS, you can right-click on the unit (e.g. mmol/kg) and select "Free". In another application like SpecE8 or React, you would left-click on the unit and select "Free". For more information regarding free vs. bulk concentrations, please see section 7.2 Equilibrium Model in the GWB Essentials Guide. Best regards, Jia Wang Aqueous Solutions LLC
  8. Hello, Thank you for attaching your input file. From your input file, it looks like you are titrating a set amount of mass into the entire domain over the course of the simulation. When you add minerals as simple reactants, they are added to the domain incrementally throughout the simulation to alter the composition of your system. Was this what you intended? Perhaps you need to consider swapping in minerals if they can be treated as in equilibrium with the initial system or set them as kinetic reactions instead. If you plot the Mineral Saturation index for Arsenopyrite2 you will see that the mineral is undersaturated with respect to the fluid, so any simple Arsenopyrite2 added will not remain in the solid phase. You can check the mass of Arsenopyrite2 added in by plotting the Variable type "Reactants properties". If you would like further help with troubleshooting, please provide a bit more context as to what you are trying to do. Hope this helps, Jia Wang Aqueous Solutions LLC
  9. You're welcome Scott. Glad to hear that helped. Best regards, Jia
  10. Hello, I apologize for the delay. I was revisiting the previous post and the new file posted. I can see that the files have slightly different chemistry and a sliding Eh path. To start troubleshooting, I would suggest that you simplify your run by removing your sliding Eh path and perform a speciation calculation with just your basis composition. You can check the resulting H2(aq) concentration and see that it's very large, on the order of hundreds of thousands of molal. You may also need to consider whether redox disequilibrium is necessary for any reactions. The software assumes by default that redox species are in equilibrium, as such the program will distribute the bulk concentration set across different redox species. You can disable redox equilibrium for the appropriate species pair and specify the bulk concentration for each oxidation as needed. Please see section 2.4 Redox couples and 7.3 Redox disequilibrium of the GWB Essentials Guide for more information. Could you clarify what you are trying to do by swapping in FeCl3 into the basis? Reading your description, it sounds like you might want to titrate in FeCl3 or an FeCl3 solution to create a fluid which then needs to be evaluated at a range of Eh or pH. Is this what you are trying to do? If so, you would want to enter the constraints for your original fluid in the basis and then set up a titrate path in the Reactants pane for FeCl3 or FeCl3 solution. You can examine the concentration at the end of this titration simulation. Then, decide whether to slide Eh or pH from the end point, or perhaps to change assumed value for initial Eh or pH and rerun to compare. The ionic strength of your solution is high. You might eventually want to consider using a virial activity model. Thermo.tdat is the default dataset and uses the bdot activity model. The bdot model typically loses accuracy as the fluid ionic increases pass ~ 0.3 molal. I would suggest you take a look at the virial models available (SIT or hmw) and consider them. You can view a summary of thermo datasets on the thermo page or find out more in section 2.3 Thermodynamic dataset in the GWB Essentials Guide. Please consider posting to the same thread when you are following up on issues. It would be easier to keep track of progress when you post to the same thread. Hope this helps, Jia
  11. Hello Scott, The Kd.sdat file draws its elements and species from thermo.tdat, which does not contain molybdenum. You can view and change the thermo file loaded for this surface dataset on the Header pane. Hit the "Browse" button to change thermo file to one that contains the elements and species that you need to draw from to create your surface reaction dataset. Hope this helps, Jia
  12. Hello, Thank you for providing the update on your script. The program accepts most of its configuration command prior to the time marching loop. Only some variables can be updated after initialization by sending the Config() command with a new value. These variables are "adjust_rate", "inert", and "adjust_mass" (Appendix: Configuration Commands chapter in the ChemPlugin User Guide). Some variables, like kinetic rate constants, are transient field variables, which can be set to be evaluated and updated during the simulation. The Log K for reactions cannot be updated with Config() after initialization and it is not a field transient variable. Best regards, Jia
  13. Hello Scott, Could you provide a bit more detail about your attempt? Are you unable to find the element in your dataset? Or, is adding the desired reaction the issue? Best regards, Jia Wang Aqueous Solutions LLC
  14. Hello Zhidi, Thanks for attaching your input file and your thermodynamic dataset. If I render the results in Gtplot and plot Mineral saturation vs. Time from your simulation, I find that Calcite is initially undersaturated with respect to your fluid but very quickly becomes oversaturated, with a Q/K value hovering right above 1. If I plot the amount of calcite (in Gtplot Variable type -> Mineral) available, it shows that there's an initial dip which indicates that calcite dissolved initially and then slowly increases, which means the mineral is precipitating. In this case, Ca is only added to the fluid from calcite in the first instances of the simulation and later removes Ca due to precipitation. Also, note that Dolomite and Anhydrite are both Ca containing minerals. These two minerals remain undersaturated with respect to the fluid and as they dissolve, they release Ca into the solution. In a multi-component system like this, the overall component concentration reflects the total effect of all reactions. The default built-in rate law for kinetic mineral reactions is r = A_s * k * (1-Q/K), where A_s is the surface area, k is the rate constant, Q is the ion activity product, and K is the equilibrium constant. In the GWB, a positive r means dissolution and negative r represents precipitation. When you are adjust the specific surface area or intrinsic rate constant in your rate law, the rate is linearly affected. The term Q/K determines whether the reaction is saturated, undersaturated, or in equilibrium. If your mineral is undersaturated, (Q/K is less than 1), then r is positive and the mineral dissolves. For more information on kinetic reactions, please see section 4 in the GWB Reaction Modeling User Guide. I think it would help you understand how the software handles kinetic reaction. If you make an example with just 1 kinetic mineral and look at how the results change with your simulation, without the effects from other minerals. The question of how to get your concentrations of your simulation to match that of your simulation is rather difficult to say without knowing anything about your system. You want to check that the kinetic constraints you are putting in are reflecting on what is actually occurring in your simulation. Maybe some requires a different rate law for constraining its kinetic reaction. Or maybe some minerals that are dissolved very fast can just be added as simple minerals. I am not really sure what is the most appropriate for your system. Best regards, Jia
  15. Hello Karen, Thanks for attaching all your files. With every version of the software, you will need to recompile the function. In general, we recommend working in your own file space and not within Program Files, which has been known to cause issues. I noticed that in your screenshot of the command prompt, there was not a command executed for compiling the function. I think it would be best for you to try again, working in a local directory, and follow the most up-to-date steps for Compiled Rate laws in Chapter 5.3 of the GWB Reaction Modeling User Guide. Examples are provided for compiling and linking a function for a React run but you can make simple modifications for a corresponding X1t file. I would also recommend checking that you are working with the correct version of the compiler for your GWB installation. For example, if you have a 64-bit version of the software installed, you should use a 64-bit compiler. If this doesn't help to resolve the issue, please let us know what you have tried and which step had gone awry. Best regards, Jia Wang Aqueous Solutions LLC
  16. Hello Zhidi, Thank you for attaching your input file. Could you also attach your thermodynamic dataset so we can run your input file? Best regards, Jia Wang Aqueous Solutions LLC
  17. Hello Frank, The issue of plotting isotope user analyte is now corrected in the maintenance release 17.0.3. If automatic update is enabled, you should be prompted to update in the next few days when you open the GWB dashboard. You can also manually update by going to check for updates under the "Help" menu of any app or on the Support pane of the GWB dashboard. Best regards, Jia
  18. Dear GWB users, We are pleased to announce our latest maintenance release for GWB subscribers, GWB 17.0.3. GWB 17.0.3 corrects a volume scaling issue under certain configurations, fixes a crash bug when plotting isotopic user analytes from GSS, streamlines floating license checkout, and addresses all known issues. Update from earlier releases of GWB17 at no charge to ensure you have all the newest features and bug fixes. Existing installations should automatically update to this release, unless auto-update is disabled. In that case, users should update their installations from the GWB dashboard or from the Help menu of any GWB app. Regards, Jia Wang Aqueous Solutions LLC
  19. Hello, I still am not quite sure what you are trying to do. You can't introduce surface species in the middle of simulation. When you fix a fugacity in the Reactants pane, it keeps the same fugacity that is set in your initial system throughout the simulation. If you had set the fugacity in the Basis or had provided all the needed components for the software to calculate the fugacity (e.g. pH, HCO3-) in equilibrium with the fluid, then that's the fugacity the program fixes to. You can't choose a different value to fix at the onset or change it during your run. If you want to end your simulation at a different fugacity, you can use a sliding path instead. See section 3.6 Sliding activity and fugacity of the GWB Reaction Modeling Guide to learn more. I believe you have everything you need to write your own script from the examples installed and using the instructions in the Reference Manual and Command Guide. I can see a few problems with your script. First, you are not calling the same variable for retrieving the results. You had initialized myGWBrun at the top so you need to call the same thing at the end when retrieving results. In all the examples given in the guide, you can see that the command "go" is included at the end of the cmd list to trigger the script to run. Otherwise, you are not actually running the simulation and therefore you get no results. Please review section 7.3.3 Retrieving the results of the GWB Reference Manual, which describes what each argument stands for. If you are running an X1t script, the argument in the spot for the y-node position is ignored. A couple of useful tips. You can have the Plug-in print out a text output and Xtplot plot file for your run. This will be helpful for troubleshooting, especially as you are learning how to use the Plug-in. Note that you should specify the thermo dataset and any surface dataset for the run when initializing the object. If you like, you can also set up Python to read in an X1t file instead of configuring the commands individually in the Python script. See explanation on how to configure these in section 7.3.1 Initializing the GWB application in the GWB Reference Manual. Hope this helps, Jia
  20. Hello Jaxon, You're welcome. In GWB 10, you can find all commands accepted by the GWB applications and information on the Plug-in in the GWB Reference Manual. This is installed with your software and should be in your Gwb folder unless it has been moved. Hope this helps, Jia
  21. Hello, No, the software does not have the Frumpkin model variables implemented such that the Log K changes according to these variables The equilibrium constants for various reactions are drawn from the surface datasets and can't be altered during the run. About question 1, there are no ways to add new reactants in a middle of a simulation. If you are looking for things like setting a kinetic rate to start after a certain time has passed in the simulation, you can do that with a custom script file. If that doesn't help, could you please provide more detail about what you are trying to do? Please see chapter 5. Custom Rate laws for more information on that. In particular, table 5.1 and 5.2 contain all the variables accepted by the program. With regards to question 2, I think this is very similar to one your previous post. The important question here is how you would like your CO2 partial pressure to affect the aqueous system. You can specify the partial pressure of CO2(g) in equilibrium with your system by swapping it into a related component. Typically, that would be swapped in either for HCO3- to constrain the components' concentration or can be swapped into the system to set the pH. You have to make a choice about what constraint makes the most sense for your system, for example either swapping in CO2(g) for the component HCO3- or you can swap it for H+ to constrain the pH. The program will calculate mass distribution such that various carbonate components are in equilibrium with each other (HCO3-, CO3--, CO2(aq), etc). With regards to question 3, are you asking about setting different boundary fluids at different time intervals? You can also view a tutorial for this on the GWB Tutorials page. Please see section 2.10 Reaction intervals. You can add other reactants other than the kinetic type on the Reactants pane by going to the "add" button -> select the type of reactant you want... The pickup command is not available in the reactive transport modeling apps. You can plot the data and export the numeric data to set your Basis pane in a new run using the node-by-node feature. I think you are on the right track with this post you found. Hope this helps, Jia
  22. Hello, If the results are not agreeing between SpecE8 and GSS, then you are probably not using the same commands. You can see in your first screenshot, when you are entering commands like "decouple HS- = 3.56 mg/l as H2S(aq)" you are getting errors telling you that you can't find 3.56 to decouple. The command "decouple HS-" is valid but you need to set the concentration for the component HS- in a separate line like you have for other components. You can refer to the Command Reference or open an example that has added decoupled redox species concentrations in a text editor (e.g. Notepad) to see what is the correct syntax. An example of such is Redox.sp8 in your GWB Script folder. The simplest way to see the commands passed to SpecE8 from GSS for "calculated analytes" is to use the Launch feature to create the corresponding SpecE8 script. From GSS, go to the Analysis menu tab->Launch..., select the sample desired and the SpecE8 application. When you hit Ok or Apply, the program will create a SpecE8 input file with your sample's composition. You can open the .sp8 file in a text editor to view the commands and compare them to what you have entered. See chapter 3.5 Launching SpecE8 and React for more details. In the second screenshot, it looks like the output text file is showing results from the calculation with a different set of inputs than that of the GSS example shown. Please check that you are comparing the same set of inputs. Again, I would suggest that you use the Launch feature in GSS to generate the corresponding SpecE8 input file and open it in the text editor to see what commands are being passed. If you have any further questions, please use words to describe the issues encountered and provide the input files so we can better troubleshoot. Best regards, Jia Wang Aqueous Solutions LLC
  23. Hello Gregg, Your specific example shows a negative charge imbalance, which indicates that there is an excess of anions. Balancing on Cl- means that you are allowing the program to adjust the amount of Cl- in solution to maintain charge balance. The program uses the concentration as a starting point for iterating to a solution but it is not a true constraint on the system’s composition. The program will vary the concentration as needed to charge balance. Given that you are already in excess of anions, can't remove enough of Cl- to achieve charge balance. If I go back to use the most abundant cation for charge balance (Na+), your script converges with no issues. You can also change your balancing ion to SO4-- and that will converge with no issue. In your calculation with balance off, you can plot the results as a bar chart to see that there's a lack of cations and that there are a lot more SO4-- than that of Cl- in terms of meq/kg. Turning charge balance off asks the program to not enforce charge balance in its speciation calculation. The program will constrain the Cl- component with what you entered. Whether or not the charge imbalance error indicates an issue is difficult to say. For some, a large charge balancing error may indicate a problem with the fluid's analysis, perhaps there's a missing component that you are not accounting for. Typically, the charge balance species chosen is the species concentration with the least certainty. Cl- is traditionally given in laboratory analysis based on charge balance from other measured components and therefore a common charge balancing species in simulation. You do not have to stick with that if it doesn't make sense for your simulation. Any charged species can be set as the charge balancing species. You always perform a quick search on charge balancing to see what other users posted questions about regarding this topic or scenarios they have experienced. Hope this helps, Jia Wang Aqueous Solutions
  24. Hello Rose, I am glad the information regarding the commands helped. Thank you for the additional information on the error. I was able to reproduce this error when I copied the Multiple Analysis script from the pdf to the Command pane of SpecE8. I have reported this to our technical team. With copying and pasting from pdfs, there may be unseen characters that are not recognized in the software. The same input script is provided in the file "Script.sp8" within the Spreadsheet folder. Double-clicking on "Script.sp8" automatically ran and closed the file for me with no issues. You can open any input file from the GWB in a text editor to edit or add commands. Saving with the corresponding extension to the GWB application will automatically run all the commands in the script when opened. For example, saving a file with the extension of ".sp8" will open SpecE8. The extension ".rea" will open the input file in React. Hope this helps, Jia
  25. Hello Rose, Are you trying to provide the same porosity for every sample in your spreadsheet and then make calculations? If so, you can add trailer commands under the Analysis -> Options menu. For example, a command for setting the porosity to 0.8 would look like "porosity = 0.8". Additional commands for each GWB application can be found in the GWB Command Reference. If you are looking to assign different properties (such as porosity) for each sample before the speciation calculation, you can add to commands like above to control scripts and set the value using the data from the text file you provide. Which old Rockware thread might you be referring to? We provide an example script for Multiple Analysis along with the example files as a starting point for users, but we do not create or provide customized scripts for users. You can find out more about Multiple Analysis in the GWB Reference Manual. If you encounter technical issues with your script, you can post your input file along with any thermodynamic dataset to the Forum. I am sorry to hear that you're having issues with the TCL script. I had tested the examples from the Reference Manual and had encountered no issues by copying and pasting into React's Command pane. Could you elaborate on how you applied the scripts? Could you also provide some screenshots on your error so that we can better troubleshoot?Are you able to run the script input file for the Multiple Analysis example given in the chapter above? We provide examples for individual X1t input files in the GWB Scripts folder and detailed information on how to get started with the application is in the GWB Reactive Transport Modeling Guide. We do not have specific scripts tailored for large datasets. Many users utilize the GWB Plug-in or the ChemPlugin software object in a programming language that you can set up scripts to repeat calculations. You can find out more regarding the GWB Plug-in in the Reference Manual and the ChemPlugin User Guide. If you still have technical questions after reviewing the guides, you can post them to the Forum. Since the software is new to you, I think you would really benefit from getting started with the Essentials Guide to familiarize yourself with the fundamental concepts that the software is built upon. There are built-in features (like drag-and-drop) that can be useful to you if you are working with multiple samples. Best regards, Jia Wang Aqueous Solutions LLC
×
×
  • Create New...