All Activity
- Yesterday
-
Hello, Yes, you can absolutely can use the TEdit application to add reactions and create a custom dataset for your own use. Please see section 9 of the GWB Essentials Guide for more detailed information. You can also view examples on the TEdit webpage. Note that all GWB programs draw their species from the thermodynamic dataset loaded. The default dataset is thermo.tdat. There are different datasets available installed with the software, you can find a summary of the datasets installed here. Hope this helps, Jia Wang Aqueous Solutions LLC
-
Rose started following Saturation indices of multiple samples in SpecE8
-
Hello, I am new to GWB, and I have the 2023 professional version. Question 1: I have a large dataset and I am trying to calculate saturation indices of my samples at once. It worked in GSS, however, I want to change the porosity and other medium properties which is not possible in GSS. I can do this is SpecE8 but even with the multiple analysis method in the manual , I will still have to change the porosity and run one by one. I would really appreciate if you provide a script to do the calculation at once. I found the similar question asked before , and answer included a link to a script from Rockware but the link is no longer active. Question 2: I tried applying the scripts in the reference Manual(page 65 and 122) and I am getting the message "history substitution failed". what could be going wrong ? Question3: If you have few full scripts for X1t that involve large dataset, please attach them if possible to learn for them. Thank you
- Last week
-
Weathering/Evaporation reactions
Jia Wang replied to Jaxon Dii Horne's topic in The Geochemist's Workbench Community
Hello Jaxon, Thank you for attaching your script. Here are some suggestions that I think will help. 1. It sounds like what you want here is the "suffix" command. With the "suffix" command you can save each run with a different string of text appended to filename so new runs do not overwrite the results. For example, "suffix _evap1" would append "_evap1" to the name of the React output text and plot file. You would want to put this before each "go" statement in your script. 2. Using the suffix command, you can save each run result separately and open the plot files to extract the result. If you save a configuration file (should end in .gtc), then you can drag and drop to apply the .gtc file with the same set of x-y variable configurations to different plot files. This can help you from reconfiguring every time in a new plot. Another option to further automate the retrieval of data is to write your own script in a programming language that calls the GWB plugin to do the calculation. The software provides wrapper classes for C++, Fortran, and Python that handle loading the DLL, binding to the needed functions, and conversion to C data types. You can retrieve specific results from the GWB plugin with the "results" function. Please see the GWB Plugin chapter from the GWB Reference Manual for more details. Also, please note that setting "pH = " simply resets the pH to no value. If you want to balance on H+, you should still add the statement "balance on H+". I was having issues running your script as it was written. I also noticed that the first save statement does not have an enclosing double quote for the file path. Additionally, I am not sure that you need two save statements, especially if you are specifying the name of the file. Please see the "save" command in the Command Reference for details. Hope this helps, Jia -
Emilio joined the community
-
Hi! Does anybody know if is it possible to add a mineral to the program database? I would like to add crandallite, CaAl3(PO4)(PO3OH)(OH)6. I am trying to generate mineral phase diagrams that include crandallite and apatite. According to the reference attached (Dill, 1991), crandallite should be formed in the presence of HPO4--, Al+++ (Gibbsite), and Ca++ in an aqueous solution (25º C and 1 atm). However, it seems crandallite is missing in the program database. Cheers 1991 Dill et al - Chemistry and origin of vein-like phosphate mineralization, Nuba Mountains (Sudan).pdf
-
Hi! Does anybody know if is it possible to add a mineral to the program database? I would like to add crandallite, CaAl3(PO4)(PO3OH)(OH)6. I am trying to generate mineral phase diagrams that include crandallite and apatite. According to the reference attached (Dill, 1991), crandallite should be formed in the presence of HPO4--, Al+++ (Gibbsite), and Ca++ in an aqueous solution (25º C and 1 atm). However, it seems crandallite is missing in the program database. Cheers 1991 Dill et al - Chemistry and origin of vein-like phosphate mineralization, Nuba Mountains (Sudan).pdf
-
Weathering/Evaporation reactions
Jaxon Dii Horne replied to Jaxon Dii Horne's topic in The Geochemist's Workbench Community
Hi Jia, I have attached an updated script with wet-dry cycles and a re-hydration step in between weathering and evaporation. The way we have been doing this has been taking the weathering script (EW) run it, then pickup the system fluid, change the H2O back to 1, delete the pH (i.e., pH = ,so that it balances on this and save that file as the re-hydration script. (RH). Next we reopen the EW1 script run it, save the output file as the end of weathering solution (EW1), then take a simple evaporation script which picks up the system fluid, react -950 g H2O fix the fugacity of CO2(g) and H2S(g) and balance on pH. This then gives us the end of evaporation solution (EE1), which we save the output, and that is for 1 wet-dry cycle. Now we take the RH script open it up in a text file, copy the script in to the command window and run it to rehydrate the fluid that is in contact with our original 5% weathering of a rock, then save this output file as RH1. We then open a different text file for the evaporation script (the change from the first evaporation script is a full -1000 g H2O instead of -950 g H2O) and run this in the command window to get the second wet-dry cycle, save the output as EE2, then re-hydrate, save output, evaporate, save out put....till we get ten wet dry cycles. Now the script I have provided does all of this in on go, but only gives me the last cycle for the data when try to export solution chemistry(element concentrations in fluid and or select aqueous species) it from gtplot as a tab delineated spreadsheet. Now this is quite tedious and if I mess up in any of the cycles I have to start over in the process. So my questions are: 1. Can I save each output file automatically as the wet-dry script runs? I sorta have this figured out but cant get the subsequent cycles to save. 2. Is there a way to extract the data at each evaporation cycle instead of just seeing the final solution. (We are interested in the change in element concentrations at the end of each evaporation cycle). Essentially I want to make this work more efficiently and be less time consuming, but also since I have a physical disability with limited dexterity in my hands that make it hard to have to constantly copy and paste things as well as constant mouse clicks for many hours of running and saving scripts. So I am curious if there are any steps to be made to make the GWB more inclusive and open to those that are not able-bodied. Currently it is suited for able bodied individuals. Cheers, Jaxon 1_EW-EE cycles.txt -
Rose joined the community
-
rmoore305 joined the community
-
Bulk volume input parameter in React
Jia Wang replied to Zhidi Wu's topic in The Geochemist's Workbench
Hi Zhidi, Sorry about my mistake above. You are right. The inert volume should be 85% and the fluid volume would be 10%. I had a mix up with the porosity in the math. Best regards, Jia -
Bulk volume input parameter in React
Zhidi Wu replied to Zhidi Wu's topic in The Geochemist's Workbench
Hi Jia, I still don't think I understand. In your example, there are vol. 5% quartz (mineral volume fraction) and 10% porosity (fluid volume fraction). Should the program automatically include vol. 85% inert mineral (non-reaction phase volume fraction) to sum the three components (fluid, mineral, and inert) up to 100%? Thanks, Zhidi -
antimony sulfide scale index calculation
Jia Wang replied to DINESH MANTRI's topic in The Geochemist's Workbench
Hello, The GWB programs draw all of its analyte and thermodynamic information from the dataset loaded. The default database, thermo.dat, doesn't include any Antimony species. If you have logKs for relevant species and minerals or can find them in literature, you can expand the database by adding them via the TEdit application (see chapter 9 TEdit in the GWB Essentials Guide). Alternatively, you can explore other datasets like thermo.com.v8.r6+.dat or thermo_minteq.dat, which do include Antimony. Assess both to determine if they contain the required species across the temperature range of your interest. You can still need to add reactions if they are not available in these other datasets. For a summary of the thermodynamic dataset installed with the software, you can visit our Thermo Dataset webpage. Hope this helps, Jia Wang Aqueous Solutions LLC -
Bulk volume input parameter in React
Jia Wang replied to Zhidi Wu's topic in The Geochemist's Workbench
Hi Zhidi, I am glad you found the guide helpful. I think the Porosity explanation in the Command Reference will help, it explains that... Use the “porosity” command to set (as a volume fraction) the initial porosity of the system. Porosity, the fraction of the system occupied by fluid, is the ratio of fluid volume to the sum of fluid, mineral, and inert volume. When you specify the porosity, the program will figure the difference between the volume of a system of the given porosity and fluid volume, and the volume taken up initially in the system by minerals and fluid. The program assigns this difference as inert, non-reactive volume (see the “inert” command). In this case, the program ignores any settings that may have been made with the “inert” command. When you do not specify an initial porosity with the “porosity” command, on the other hand, the program calculates it from volumes in the system of fluid, minerals, and inert space. To restore this default behavior, enter the command with an argument of “?”. For example, if you specify 5 free volume % of Quartz and a porosity of 0.1. Then the program will include 5 free volume % of inert mineral to achieve 0.1 porosity. The program draws information from the thermodynamic dataset for its calculation. Mineral density information is provided from the thermodynamic dataset. You can open the dataset loaded for your current React run by going to File -> View -> open the file that ends with .tdat. If density information is not available, then the software converts between mass and volume assuming a density of 2.65 g/cm3. This is the same density used for converting between inert mass and volume. If you are checking density from your calculation, please make sure you are looking at the individual mineral mass (under Variable type "Mineral") and not the total mineral mass volume reported under Variable type "Physical parameters". Hope this helps, Jia -
Implementing Frumkin model in GWB
Aditya-Puru replied to Aditya-Puru's topic in The Geochemist's Workbench
Hey Jia, Thanks for the response. No, those variables change as the sorption increases. Is there a way I can use some python plugins to iterate over this process and approximate Frumkin Model. Few more doubts: 1. If I want to run a simulation in x1T for 5 years and after that add another reactant to it and run for 5 more years how can I do that? 2. I have set HCO3- as charge balance species and I want to fix the CO2 content in system around 4200 pa, how can I do that? 3. While using x1t how can we provide impulse inputs in reactants tab without adding reactant as kinetic species. Thanks and Regards, Aditya -
DINESH MANTRI joined the community
-
I just want to check if GWB can calculate antimony sulfide scaling? We realized that antimony is not an input, or are we just missing it?
-
Bulk volume input parameter in React
Zhidi Wu replied to Zhidi Wu's topic in The Geochemist's Workbench
Hi Jia, That's helpful. I also looked into GWB Command Reference, and it answers most of my questions. However, I still have another question on how React calculates the mineral mass and volume. If I type wt% of the mineral in the Reactants tab and assign porosity and bulk volume in the Medium tab, the output file returns a mineral mass, a very small mineral volume, and a very large inert volume. I understand that the inert volume is ignored once porosity is defined according to Command Reference, but this results in an extremely large mineral density (~90 g/cm3), which is not realistic. I tried to use absolute mass unit instead of relative unit in the Reactant tab and the results are more realistic. My question is: how mineral and inert volumes are calculated in this case? Thanks, Zhidi -
Bulk volume input parameter in React
Jia Wang replied to Zhidi Wu's topic in The Geochemist's Workbench
Hello Zhidi, The bulk volume in the Medium pane refers to the bulk volume of your entire system and not the mineral bulk volume. As you have discovered, the bulk volume in React is composed of the mineral volume, fluid volume, and any inert volume that may be prescribed at each time step. The porosity is calculated as the fluid volume divided by the bulk volume of the system. I cannot see what your input pane looks like, but generally it is recommended to use relative units for your constraints. For example, you can set your mineral composition as a volume percentage of your system and the concentration of dissolved components in units like mmolal or mmol/l. This way you can easily scale the bulk system to the desired total volume in the Medium tab. It sounds like the bulk volume of your system is 57.78 ml (mineral) + 100 ml (fluid) = 157.78ml. You can enter this on your Medium pane to scale the whole system to this volume. Note that the volume of a React node will change depending on what type of reactions you are using. If you are adding minerals or fluid, that will increase the bulk volume for your system. You can find more information about the bulk volume, or any other command, in the GWB Command Reference. Hope this helps, Jia Wang Aqueous Solutions LLC - Earlier
-
Zhidi Wu started following Bulk volume input parameter in React
-
Hello! I'm trying to set up a batch reaction model on a shale sample in React. My shale core sample has a porosity of 8.85% and a bulk volume of 57.78 ml. Plus, the fluid volume in my batch experiment is 100 ml. Therefore, in the Medium tab, I set porosity to 0.0885, bulk volume to 57.78 ml, and permeability constants A=1 and B=-3.0885. The model has difficulty in convergence due to the porosity in node 0 being too small. I played around with the parameters in the Medium tab and found that the model runs when the bulk volume is higher than a certain value (~1400 ml). So, is the bulk volume in the Medium tab different from the bulk volume of my sample? Looking into the output file, the bulk volume seems to be the sum of fluid, mineral, and inert volumes. I realized that the bulk volume in the model is different from what I first assumed. How do I correctly set up the bulk volume to match the mineral, fluid, and pore volumes in my experiment? Many thanks, Zhidi
-
Implementing Frumkin model in GWB
Jia Wang replied to Aditya-Puru's topic in The Geochemist's Workbench
Hello Aditya, The GWB supports many sorption models but the Frumpkin model is not amongst them. The software does not accept variables for surface coverage or lateral interaction constant for surface reactions. Are these variables in the Frumpkin model constant values? If so, you can calculate K using the equation and use that value for reactions directly in your surface datasets. Hope this helps, Jia Wang Aqueous Solutions LLC -
Zhidi Wu joined the community
-
Hello Sam, When you are trying to run a simulation over such a wide range of Eh values at different pHs, you are going to be outside of the water stability limits. When you are going too far beyond the water stability limits, the program is going to have a difficult time with convergence. Since you are starting from the reduced endpoint, it can help the program by swapping in reduced species into the Basis, HS- for SO4--, CH4(aq) for HCO3-, etc. I managed to start at a more reduced point (~-.3 V) with better suited basis species swapped in. Alternatively, you can try starting at the oxidized end point by setting your Eh to 1 in the Basis and keep your species as they are, slide to a more reduced end point. You can also try turning off precipitation (Config -> Options) for simplifying this run. Nonetheless, I don't think you will be able to go from and Eh value of -1V to 1v for your full pH range, as again, the end points are too far beyond the stability of water limits. You can reference an Eh-pH diagram to see what range water is stable in. FYI, you can also create one in Act2 with a few clicks. For more information on activity diagrams, please see section 5 in the GWB Essentials Guide. Hope this helps, Jia Wang Aqueous Solutions LLC
-
Hello Bob, I think there are a couple of things that might help here. The first being that the activity model for calculation activity and fugacity coefficients are determined in the dataset loaded. The default thermo dataset (thermo.tdat) in the GWB uses the bdot method for activity coefficients and the Tsonopolous method for fugacity coefficient. I think PhreeqC uses another form of the extended debye-huckel equation for aqueous activity coefficients and the Peng-Robinson method for fugacity coefficients. Additionally, you would also want to make sure that the programs are using comparable data for equilibrium constants of various reactions. For the best comparison to your collaborator's results, you can use the TEdit application to import the PhreeqC database he used and also use it for your calculations in the GWB. More about activity and fugacity models in sections 2.3 Thermodynamic datasets, 7.4 Activity coefficients, and 7.5 Gas partial pressure in the GWB Essentials Guide. Examples for importing datasets from PhreeqC to the GWB can be found in section 9.3 of the same guide. You can specify a measured carbonate alkalinity (+analyte -> Chemical parameters, as long as carbonate alkalinity has not been added as a calculated species) as part of your data entry in GSS. It sounds like this might be better than using an estimate for a bulk HCO3- concentration. I don't see any temperatures added to any of your samples. GSS assumes a temperature of 25C for the calculation unless you provide a temperature. Is that correct? Just a reminder that the analytes here are representing a bulk concentration (except pH). I am not sure what you mean by using a different quantity for Al+++. Was the data just entered incorrectly? Here are a couple of threads from previous users that provides the equation for how the software calculates charge imbalance error and carbonate alkalinity: https://forum.gwb.com/topic/51082-charge-imbalance/ https://www.rockware.com/forum/index.php?/topic/1676-questions-about-alkalinity-calculations/ Hope this helps, Jia Wang Aqueous Solutions LLC
-
Hello there, I want to study the effect of surface coverage on adsorption. How can I implement Frumkin model for this purpose? Frumkin model is defined like this: Frumkin equation, the concentration ratio (apparent constant) K defined by the mass-action law is formulated as K = K0 exp{−rθ/(RT )} , where K0 is the “intrinsic” equilibrium constant, θ is the surface coverage, and r is the lateral interaction constant. If the sign of r is positive, Eq. (1) describes that the mass-action relation K decreases exponentially with increasing surface coverage θ ; that is, there is suppression of adsorption with increasing ion loading. In contrast, with decreasing surface coverage, the exponential term approaches 1, and the mass-action relation K becomes equal to K0, a constant.
-
Hi there, I am currently part of a project to determine the stability of various electrolytes whenever injected into different formation waters. I would like to identify how the stability of FeCl3 varies across a range of pHs (2-9) at a set Eh values. This has worked for the model I've posted below for Eh values exceeding 0.3V but anything more reduced than that and the program doesn't run with the error: Newton-Raphson didn't converge after 999 iterations, max residual = 0, Xi = 0.0000 Largest residual(s): Resid Resid/Totmol Cbasis --------------------------------------------------------- --------------------------------------------------------- I'd like to be able to set the Eh value at more reducing conditions if possible and would appreciate any help regarding this. Also, since I'm new to using GWB, if there are any errors I've made or improvements that you could suggest to more accurate represent the system I would greatly appreciate this also. Thanks for the help! Sam. FeCl3 simulated injection.rea
-
I just finished the remote workshop. Previous problems with GSS were corrected. (0.5 mg/L Al in a pH 5.7 sample blew up the GW calculations. I had to change to 0.09 mg/L Al to get it to run.) I now have a working data set which is what I am asking about. My interest in the course involves carbonate chemistry at pH 5-7. I currently have a very simple pH/alkalinity algorithm that is used to estimate CO2 atm for samples. I also have a more involved USGS derived spreadsheet calculation (pH, alk, T, conductivity, calculated activity adjustments) that always provides similar results. I asked a colleague to calc CO2 atm from the data in the GSS file using PHREEQ and the results were also similar to those calculated by me and USGS. I am calculating CO2 partial pressure in GSS using the "calculate in SpecE8" option (+analyte). GW is providing very different CO2 results. As the conversion from GW's bar units to PHREEQ's atm unit is negligible, unit conversion does not appear to be problem. I used the same "+analyte" option to add "carbonate alkalinity." In my mine drainage world, this term is used to measure the sum of buffering capacity (samples with pH 4.5 - 8). As alkalinity in this pH range is 99% HCO3, I estimated the HCO3 from this value and used it for the GSS input (HCO3- = field alk as CaCO3 * 1.22). The value calculated by GW for "carbonate alkalinity" does make sense. Interesting, I can make it return the "correct" carbonate alkalinity value if I input pH 7. But not at the field pH values of 5-6. I had GW calculate the charge imbalance error. The GW result is not what I calculate in a spreadsheet or what PHREEQ calculates. I presume that there are units or data entry problems in my part. Can you please advise? I have attached the GSS spreadsheet and an excel spreadsheet that includes the GSS output and calculations made by PHREEQ and me. Bob Hedin HE sites with CO2 calcs by GW, HE, USGS, PHREEQ.xlsx HE_sites.gss
-
Is anyone willing to share K's or log K for dissolution of ulexite and searlesite? I calculated a K of 9.44E-15 for ulexite from some molar solubility data. Seems un-reasonably small. Wanting some confirmation before I get too far. Thx in advance
-
DrLivie joined the community
-
Bob H joined the community
-
Curtis P joined the community
-
Hello Stanislav, It is not really possible to say for sure by just looking at your screenshot. The concentrations entered into GSS are bulk concentrations. The charge imbalance and charge imbalance error are calculated with all cation and anion species concentrations after chemical speciation. I suspect that this is the biggest difference between the software's calculation and your manual calculation. To perform a manual calculation of charge imbalance from the speciation result, I would suggest launching a SpecE8 instant for one sample in your GSS spreadsheet. Then run the calculation and calculate the charge imbalance by summing the total electrical equivalents for anions and subtracting it from the total equivalents of cations from concentrations, found under the variable type "Species concentration" in Gtplot. You can export the numerical values by going to Edit -> Copy as... -> Spreadsheet or Tab. I would suggest that you compare one sample by launching a SpecE8 instance and comparing it to your manual calculation. For more information regarding speciation, please see section 7.2 Equilibrium Models in the GWB Essentials Guide. Hope this helps, Jia
-
Sam OR joined the community
-
I calculated charge imbalance in my samples manually and I've got less than 15% while GWB calculates it to be 96%. I must have something wrong with the data organization. Do maybe can spot where is the problem? Thank you.
-
Hello Gregg, I responded to your question at the top of my last post in your initial thread, but I can clarify. In GSS, you can define a user analyte for plotting but this type of analyte cannot be used to parameterize a React (or SpecE8, Phase2, X1t/X2t) calculation. The unit of pCi/l is not one of the concentration units accepted by the React application. You can find all units accepted by each GWB application in the GWB Command Reference. For units accepted by React, you would want to look at section 6.1 in the Command Reference. You would need to convert your radium concentration to one of the units accepted by React before adding the component to your simulation. I referred you to section 3.3.4 User analytes in the GWB Essentials Guide, which details how users can define a user analyte for the spreadsheet. When you have the concentration units converted outside of GSS, you can add radium to the spreadsheet as a "Basis species" and add in the values calculated. Note that the list of "Basis species" are populated from the thermodynamic dataset loaded for the current spreadsheet. Hope this helps, Jia Wang Aqueous Solutions LLC