Jump to content
Geochemist's Workbench Support Forum

elg0086

Members
  • Posts

    30
  • Joined

  • Last visited

Recent Profile Visitors

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

elg0086's Achievements

Rookie

Rookie (2/14)

  • First Post Rare
  • Collaborator Rare
  • Conversation Starter Rare
  • Week One Done Rare
  • One Month Later Rare

Recent Badges

0

Reputation

  1. Hey Jia, This makes more sense now. It appeared as though my scripts were not outputting plots and I assumed a function was required. Turns out it was a directory issue. My script is working properly now. Thank you!
  2. Hi, Is there a Python command included in the Python wrapper to create plot-formatted datasets? Something similar to ChemPlugin's PlotHeader and PlotBlock functions? Thanks, Erik
  3. Hey Jia, I closed all the apps and ran the installer found here: https://www.gwb.com/update.php Unfortunately, the issue was not resolved. Is this installer just an update patch? Should I try a full re-install? Thanks, Erik
  4. Hi Jia, Thanks for response. I have tried the following without success: Restart Disable anitvirus and firewall Run as admin The attached video shows other applications opening from the dashboard, but not RXN. No error messages. Any suggestions are welcomed. Thanks, Erik
  5. Hi, I am unable to launch the RXN executable on my machine. This issue has persisted over several GWB versions and I've ignored the problem due to limited use of the module. As part of troubleshooting I've tried right clicking the file executable and launching with admin privileges. Any thoughts? Thanks, Erik
  6. Hi Jia, Thank you for the reply and I appreciate your efforts towards resolving this issue. I apologize for the delayed response and thought it would benefit the community to complete correspondence. There’s quite a bit of detail in your responses and I will do my best to address each point. First, I should summarize the objectives, as I can now see from my previous posts that the details were a bit vague. The goal of speciating a large number of solutions (200+) was to investigate mineral saturation of each solution, specifically (super)saturated minerals. Ideally, GSS would launch SpecE8 for all solutions (and converge), followed by a Python post-processing script that would selectively find saturated minerals in each output file. The results would be dumped into excel, where they would be graphed along with pH, ionic strength, etc. The results of this exercise would help guide the development of a custom database for a project by identifying minerals to migrate from the NEA database to a modified MINTEQ database. The NEA database contains more uranium solid phases than other available databases. Ionic Strength: The project solutions have higher ionic strength than a typical natural water, or even impacted mine waters. You are correct that the chemistry I provided is missing Cl- and NO3-, but several of the epsilon parameters only require Na+, K+ and SO4--. The project also has some Cl- data that has not been distributed yet and NO3- is not present in the system. Basis Swap: Prior to posting the GWB file I was able to speciate other project solutions using basis swapping, similar to the methods you described. However, I was hoping to avoid investigating each solution independently to find the most abundant species of a particular element and then basis swapping. You are correct that As and Se are relatively small compared to other elemental concentrations; however, these concentrations are not insignificant in other solutions. Redox: Redox reactions will receive more scrutiny in subsequent speciations and transport modeling. As part of the database review, redox reactions are coupled and rely on the system master Eh. The decoupled model (Fe and U) is an error and likely part of a troubleshooting sequence, sorry about that. I also apologize for the script file having the incorrect database. Lately, swapping thermo databases using the GUI (file à preferences) has been unsuccessful and requires a work-around by opening the script in a text editor. Perhaps I am missing something though? I think my original post reflects some optimism, where I was secretly hoping that a hidden “knob” could assist with convergence errors (i.e., epsilon, itmax, timax). If the majority of solutions were able to converge, this task would only take an hour or two to complete. In summary, it was bit frustrating to see immediate convergence with PHREEQC and not GWB. Although basis swapping solves most of the convergence errors, the effort was not worth it for this particular task and I ended up using PHREEQC. Thank you again for your assistance! -Erik
  7. Hi Jia, Thank you for the response. Prior to posting a forum message, I attempted basis swapping for several of the major elements. I also removed a few of the minor elements with little to no success. Convergence was achieved by lowering the U concentration to 50 g/L and removing several metals, however, uranium is the element of interest and should not be altered. Unfortunately, convergence achieved by tweaking individual concentrations defeats the purpose of using GSS and SpecE8 to process ~400 solutions. Attached is one of the solutions along with the current NEA database. Any additional thoughts or comment are greatly appreciated. Thank you!
  8. I am working with a series of 50 highly concentrated solutions in SpecE8 and an element of interest is Uranium (up to 80 g/L in solution). All 50 solutions were successfully speciated using thermo_minteq.tdat. Due to a range of "higher than normal" ionic strengths (0.2 Molal - 0.9 Molal) and differences in the aqueous species and solid phases associated with uranium, I am also working with the thermo_nea.tdat database. From the GWB Essentials guide, the Specific Ion Interaction Theory (SIT) activity model is "accurate to higher ionic strengths than the Debye-Hückel equations, but not to the salinities achievable using the Pitzer equations." Given the resulting ionic strengths, the SIT model appears to be an appropriate database to use. Unfortunately, the same solutions that converged using thermo_minteq.tdat will not converge using the NEA database. The error produced is: -- Internal error: calc_sit: Ionic strength is out of range As an alternative approach, I successfully ran the solutions through PHREEQC using the same NEA database. Why does the error message reference ionic strength as being "out of range?" Is there a maximum range associated with the SIT activity model? Also, why do solutions speciate without issue in PHREEQC but not in GWB. The NEA database for each software was checked and they are identical. Any assistance is greatly appreciated.
  9. Hi Brian, Thanks for the reply. Further troubleshooting may have solved the problem. If there is still an issue after the current model run is complete I will upload the script. Thank you. ~Erik
  10. Hi, I am testing out a custom rate law script file in an X2t model. The model has 4 injection wells and 100 nodes. However, the model does not acknowledge the conditional statement (pH) in any of the nodes except the injection well nodes. The injection solution has a pH less than 6. The kinetic mineral is present in all the nodes. Am I missing something in the script? IF pH < 6 THEN 20 ELSE 40 20: rate = 0.00000000052481 * totmoles ("H+") ^ 0.72 GOTO 60 40: rate = 0.0 60: RETURN rate Regards, Erik
  11. I have a question about time stepping in ChemPlugin. The example scripts provided on the Chemplugin website use the "c.reportTimeStep" command but my script contains time-dependent conditional statements within a WHILE loop. In order to have better control over the time step, "deltat" is set to a fixed integer. As I understand it, the c.reportTimeStep command will use time step criteria established for an instance (i.e. "delxi," "step increase," etc..) to determine an appropriate step. However, based on the explanation of the courant number in the user guide: "The Courant condition requires that a time step not exceed the time required to displace all the fluid from a ChemPlugin instance" Following this rule as a guide, is it appropriate to define a time step as a fixed integer (i.e. 4000 seconds)? while True: deltat = 4000 if current_time >= acid_start and current_time < close_time gw_link.FlowRate(0, "m3/s") gw_link.Transmissivity(0, "m3/s") acid_link.FlowRate(discharge, "m3/s") acid_link.Transmissivity(trans, "m3/s") for c in cp: deltat = (deltat) for c in cp: if c.AdvanceTimeStep(deltat):end_run(0) for c in cp: if c.AdvanceTransport():end_run(-1) for c in cp: if c.AdvanceChemical():end_run(-1) Regards, Erik
  12. Brain, Thank you for the response. I am currently using the first approach you mention, but your second suggestion is also intriguing and will prove useful in the future. Thank you! Regards, Erik
  13. Brian, Thank you for the response and I apologize for any ambiguity. The solution leaving the last node of the domain is transformed prior to looping back to the first instance. Within this loop sulfuric acid is added to achieve a target concentration of 10 g/l (sulfuric acid). However, the mass required to achieve this concentration is an unknown and controlled by reactions within the domain. Currently, I have a separate instance linked between the last node and first node to allow for this transformation. However, I have not quite figured out the best method to determine the difference between the final node and target chemistry (H+ and SO4--), and then configure the "transformation" instance to reflect this difference. Regards, Erik
  14. Brian, I have a question which builds on the topic found here: https://forum.gwb.com/index.php?/topic/2483-chemplugin-pore-volume-pv-and-extendrun/&tab=comments#comment-6328 Part of my model uses the output solution from the last instance and "loops" it back to the first instance. I was hoping to adjust the pH and sulfate entering the first node based on the output concentrations from the last node. However, calling the cp.Config command within a time marching loop is not possible (I expected this would not be possible). I would like to confirm that the "cp.Config" command will not run within a time marching loop. Another option I explored was running my model in "stages" using the "extend run" command. According to the aforementioned forum topic, kinetic minerals present within an instance will reset after calling the "extend run" command. Currently I have one kinetic mineral but will possibly be adding up to eight additional minerals. Furthermore, sorption and precipitation will be enabled, presenting a daunting task to reset each instance with concentrations and mass from the previous day. Currently, I have a work-around model involving an instance with a sliding pH that might achieve 90% of what I am attempting to simulate. In summary, to what extent can the chemistry of a system be dynamically altered in a time marching loop? In other words, is it possible to actively read and write input/output chemistry during a simulation? Thank you for your time! Regards, Erik
  15. Melika, Looking at the output text now, it makes sense to spell out the element since it is printed as such. Most of the literature provides examples of aqueous solutions (H+, Fe++) and I was just using Cu and Fe as the element name. Thank you for clarifying the syntax. -Erik
×
×
  • Create New...