Jump to content
Geochemist's Workbench Support Forum

Jia Wang

Admin
  • Posts

    729
  • Joined

  • Last visited

  • Days Won

    29

Posts posted by Jia Wang

  1. Hello,

    I believe radial plots only display the bulk component composition of the fluid. A bulk concentration represents the total amount of a component distributed through the system. Analytes that you add under “Basis species” are all considered bulk quantities. A workaround to make your PFAS species appear on the radial plot is to change the “Category” type for your analyte to “Component in Fluid”. But please note, doing so will change where your species will appear if you plot XY type plots, the species will appear under “Components in fluid”.

    For more information regarding different plot types, please see section 8 in the GWB Essentials User Guide.

    Hope this helps,
    Jia Wang
    Aqueous Solutions LLC

     

  2. Thank you for the additional clarifications. Yes, you are correct that the plot will only display scatter data based on the current axes variables. There's no way to designate the predominant species to plot. The workaround you mentioned above is certainly one strategy to address this at present. I will add your suggestion to the list of user-requested features.

    Best regards,
    Jia

  3. Hello again,

    I just want to follow up to provide some clarification. While you cannot simultaneously display two species on one axis, the equilibrium lines drawn in the diagram do use the predominant species as your x variable changes. If you construct the Al solubility diagram as described above, the predominant Al species at low pH is Al+++ and as pH increases on the x-axis, the predominant form eventually becomes Al(OH)4-. You can click on the line boundary to see the equilibrium reaction on the diagram and balance the reaction in Rxn to see the equilibrium equation plotted. Alternatively, you can open the text output file ("View Results" button on the bottom of the Plot pane) to see equilibrium equations possible for all reactions among the aqueous species and minerals in the system. In the bottom section of this file, you will find the ones used for the main diagram.

    Hope this helps,
    Jia

  4. Hello,

    Act2 calculates and plots activity-activity diagrams. This class of diagrams shows the stability of minerals and the predominance of aqueous species in chemical systems. A species activity, gas fugacity, activity or fugacity ratio, pH, Eh, or pe may serve as an axis variable.

    You can only vary the activity of one species on an axis at a time in Act2. To combine plots together, you would need to do so in another program.

    I am not exactly sure what you mean by "such that the concentration of the dominant species is used for scatter data, as well as the phase boundaries in these plots". You can create solubility diagrams by setting the main species (e.g. Al+++) as one of the axis and varying across a range of values. For example, if you wish to create a solubility diagram of Al+++ vs pH, you can select the main diagram species as Al+++, leave activity blank. Under "on axes", set "H+" and units of "pH" for one axis and the other select "Al+++" and set your desired range. For an example of this, please see section 5.2 Solubility diagrams in the GWB Essentials Guide.

    You can add species in the "in presence of" section of Act2 and allow it to speciate over the diagram axes. The main diagram will account for these speciation changes.  Scatter data on the other hand is read in from either a GSS or a text file format to plot onto your plot. The data must contain the axes variables in order for the data to be plotted. Note that the program works with activities and not concentrations. If you have concentration data, you can use GSS to calculate the activities for species (e.g. Al+++) and then plot scatter data onto your activity diagram.

    Hope this helps,
    Jia Wang
    Aqueous Solutions LLC

     

  5. Hello Huan,

    You can specify flow conditions for your reactive transport models on the Flow pane of your X1t or X2t input file.

    For a pure diffusion problem in X1t, I think you need to be setting the discharge or head potential drop to be 0. I would suggest that you check the boundary conditions set if you had altered them. The program by default uses “inlet/free outlet” boundary conditions: where fluid flows into the domain, solute mass can advect, diffuse, and disperse across the boundary, but where it exits the domain, transport occurs by advection alone. If you have set discharge in an X1t 0 but manually changed the program to treat the left boundary as an inlet, you would still allow the effects of diffusion to cross that boundary. Please see more information about boundary conditions in section 2.9 of the GWB Reactive Transport User's Guide.

    For X2t, you can set the left and right boundary as open to flow, closed to flow (no-flow), or specified discharge across the bound. A no-flow boundary is a special case of a specified discharge boundary, in which the discharge is set to 0. Again, you would want to check the boundary conditions set. To see more information regarding setting flow in an X2t simulation, please refer to section 4.3 of the GWB Reactive Transport Modeling User's Guide.

    Hope this helps,
    Jia Wang
    Aqueous Solutions LLC

     

  6. Hello Karen,

    There's no way to selectively apply datasets to sections of a domain. If  you want to set minerals in the system for just surface complexation reactions, you can set the mineral as a kinetic mineral and assign a zero kinetic rate constant. This zero reaction rate effectively sets them as inert minerals to provide a surface for complexation reactions and simple sorption. You can vary quantities of kinetic minerals throughout the domain such that they are absent in the last 50 meters of your domain. For more information on properties to vary within the domain or simulation, please see the Appendix: Heterogeneity chapter in the GWB Transport Modeling User's Guide.

    Hope this helps,
    Jia Wang
    Aqueous Solutions LLC

     

  7. Hello Jamison,

    Thanks for attaching your Rxn file. The React application doesn't report information regarding the Gibbs free energy for a specific reaction in the way you have described. You can, however, quickly export the log activity or fugacity of each species needed to calculate the delta G for the reaction of interest. To do so, you would need to select the species activity (or gas fugacity) to plot and then go to Edit-> Copy as -> spreadsheet and paste the data into Excel.  As you may have discovered already, you can retrieve the log equilibrium constant value at any temperature (within the range prescribed by the thermodynamic data) using Rxn, which can then be used the delta G standard at the temperature desired.

    If you want to do a simple calculation where the only changing value is your log fugacity of O2(g), then it might be easier to set up an equation in Excel and calculate delta G given the information known about your system.

    Best regards,
    Jia Wang
    Aqueous Solutions LLC

  8. Hi Frank,

    Thank you for attaching your input files. To investigate this, I picked one of your input files and kept the rate constant the same then performed two runs at 10C and 25C, respectively. When I did this, I got results similar to the plots that you attached. When I tried keeping the temperature the same and altering the rate constant, I observed a much smaller difference. So along this line of thinking, I think results probably have a lot to do with the change in the equilibrium constants with the shift in temperature more so than the values of the rate constants set. This reminds of the Ostwald example with the silica polymorphs, the steps for the eventual more stable polymorphs dependent on the reactivity (based on the surface area and the kinetic rate constant) and the thermodynamic stability. If I go to the Ostwald's step example (it should be installed with your GWB installation under either of the GBRM folders) and run the example at lower temperature, I also observe a similar shift.

    Hope this helps,
    Jia

     

  9. Hello Frank,

    You're welcome. I am glad you found the information helpful. With regards to the files you sent, I noticed that you seem to have set up the rate law described in the basic file and not just the equation for the rate constant. Currently, the script files provided are being used to calculate the pre-exponential factor, which is then used in conjunction with the activation energy to calculate the rate constant. The rate constant is then used in the reaction's kinetic rate with the GWB built-in rate law. It seems like some properties, such as surface and Q/K, are being double counted since they appear in the calculation for the rate constant and then again in the built-in rate law.

    You can split out the rate constant part in your basic file, set that as a transient field variable and use in conjunction with the built-in rate law. Alternatively, if you would like to set the rate to zero when the mineral is supersaturated, as shown in your basic script, you can instead specify a custom rate law directly. To do so, you should move the basic script to where the built-in rate law is set instead of where the rate constant is set. In doing so, you would want to make sure that the rate law is correctly set up. If you would like to use pre-exponential factor and activation energy as part of your rate law, you would have to include them in your script as well.

    Hope this helps,
    Jia

  10. Hello Frank,

    The program by default asks users to provide a rate constant for kinetic reactions. In cases where a constant value does not fit your model, there are several options to set a custom rate constant. One of these options is to supply React with an equation in the form of a character string to compute the rate constant. Table 5.1 lists the parameters, such as pH and temperature, that you can use to set your rate constant equation. Additionally, Table 5.2 summarizes a list of helper functions that can be called to return a numeric value for certain variables in the system. By default, the program will evaluate your rate constant equation at the start of your simulation and hold the value steady throughout the run. To have the program evaluate the variable throughout the simulation, you can specify transient behavior by checking the "transient box" in the GUI or in the command line with the keyword transient.

    Other options to define a custom rate constant is to provide a basic script using the built-in script editor, a basic script file, or a rate law function. To access these options (and the equation option) in the GUI, you can go to the kinetic mineral on the Reactant pane and click on "+" button next to rate constant to show a field for variable type. Click on "constant" or the dropdown arrow to see all options.

    In general, specifying an equation or script for a rate constant is very similar to how you will specify a custom rate law. You can see the format for setting these up in section 5 of the GWB Reaction Modeling User's Guide. For more information regarding transient variables, please see the Heterogeneity Appendix in the RTM Guide and section 1.2 Field variables in the Command Reference. 

    Hope this helps,
    Jia Wang
    Aqueous Solutions LLC

  11. Hello Hulinks,

    You can find the details regarding Act2's calculation in a text output file. The output files with the a name like "Act2_output.txt" is printed out to your working directory when you run a calculation. You can directly access that file by going to the Plot pane and select View Results. The file contains all the equilibrium equations for constructing the diagram.

    Please see section 5 in the GWB Essentials Guide for more information regarding Act2.

    Best regards,
    Jia Wang
    Aqueous Solutions LLC

  12. Hello,

    To clarify, the discussion was originally regarding boundary flow conditions. Specific discharges set at the boundary are volumetric fluxes but that's not the same for wells. Injection well units are in volumetric flow, which is in volume per time. It sounds like you should be able to use the measured value directly as is.

    Hope this helps,
    Jia

  13. Hello Frank,

    I just want to let you know that maintenance release 17.0.1 fixes the import issue of ETA and MU virial coefficients. 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

  14. Hello,
    The program takes carbonate alkalinity as a concentration unit and not a basis species. Therefore it does not swap into the program as you would a regular basis species (e.g.CO2(g) for H+). The alkalinity alone cannot give a relationship to the carbonate speciation without the pH. Remember that the speciation of the carbonate bulk component is pH dependent.

    Best regards,
    Jia Wang
    Aqueous Solutions LLC

  15. Hello,

    I think I am still not quite clear on the conceptual model here and maybe need to take a step back. It sounds like the goal is to represent a system where you have fluid reacting with a mineral assemblage containing calcite, dolomite, Pb(OH)2, and periclase.

    Swapping minerals into the basis allows users to set the fluid in equilibrium, which was suggested because of how fast the kinetic rates were for some minerals in comparison to others. However, that assumption might not be correct for all the minerals swapped in. If I perform a "go initial" run on your last React files, the program fails to solve the equilibrium state as constrained by the input.

    While it is not typical to represent minerals as simple reactants in a reactive transport model, you can do so in React to see if the results vary greatly between using simple reactants vs a kinetic constraint. This approach works well for reactions that occur very quickly and may not need a kinetic constraint (e.g. periclase). The mass of simple reactants is set by the user in the Reactants pane and added incrementally over the course of the reaction path.

    Additionally, you might also consider if certain minerals can be suppressed if they are not expected to precipitate. The program will still report the mineral saturation with regards to the suppressed mineral but will not consider it in the system for precipitation or dissolution. Typically, this feature is used to prevent more stable minerals that modelers do not expect to form in the simulation and allow less stable minerals to appear. 

    I would also like to let you know that we have created a release candidate that fixed the issue with volume adjustment and setting the pH. I have attached it for you below and hope that it helps with your troubleshooting. The fix will be added to the next release.

    GWB17.0.2rc1_setup.exe

    Best regards,
    Jia

     

×
×
  • Create New...