Comments (4)
Yes, all_geom
does not include the last iteration. I think it would be easy enough to change it to have all geometries.
We'd like to do more with the documentation. Whether we change it or keep it how it is, it should be explained better.
The file parsers are not written with compound jobs in mind. These are generally more difficult to parse and figure out what level of theory is being used to compute what. For example, in the job your provided you likely have fr["frequency"]
, even though the frequencies were computed for job 1. We did not want to spend time figuring out how compound job output files should be parsed for every QM software we support. Instead, we wanted to automate these types of jobs in a more software-agnostic way. For example:
from AaronTools.geometry import Geometry
from AaronTools.theory import Theory, OptimizationJob, FrequencyJob
from AaronTools.job_control import SubmitProcess
# different levels of theory to use
theory1 = Theory(
method="M06-2X",
basis="6-31+G**",
job_type=[OptimizationJob(), FrequencyJob()],
processors=4,
memory=4,
)
theory2 = Theory(
method="M06-2X",
basis="6-311+G**",
job_type="energy", # optional, as ORCA calculates energy by default
processors=4,
memory=4,
)
theory3 = Theory(
method="B3LYP",
basis="def2-TZVP",
job_type="energy",
processors=4,
memory=4,
)
mol = Geometry.from_string("water", form="iupac")
# run optimization job and wait for it to finish
mol.write(outfile="opt-freq.inp", theory=theory1)
proc1 = SubmitProcess("opt-freq.inp", 2, 4, 4)
print("submitting opt+freq")
proc1.submit(wait=30)
print("opt+freq done")
# read the output structure and run single points
optimized_mol = Geometry("opt-freq.out")
print("submitting SPs")
optimized_mol.write(outfile="M06-2X_SP.inp", theory=theory2)
proc2 = SubmitProcess("M06-2X_SP.inp", 2, 4, 4)
proc2.submit()
optimized_mol.write(outfile="B3LYP_SP.inp", theory=theory3)
proc3 = SubmitProcess("B3LYP_SP.inp", 2, 4, 4)
proc3.submit()
This will run three separate jobs, one for each level of theory. The last two use the optimized structure from the first. There were plans to make this look less cumbersome, but I'm not sure where that's at.
from aarontools.py.
I think all_geom should include the last geometry.
from aarontools.py.
Thanks so much for providing the example. That helps a lot.
from aarontools.py.
I've added the final structure and data to fr.all_geom
, but I also changed all_geom items from a list to a dictionary. So if you wanted to get all energies and structures, it could look like this:
for item in fr.all_geom:
print(item["data"]["energy"])
geom = Geometry(item["atoms"])
from aarontools.py.
Related Issues (19)
- Small bug in SubmitProcess HOT 1
- Hashing and comparison HOT 6
- file calculated_bond_lengths.json missing after installation via pip HOT 1
- Loading Gaussian16 Scan HOT 3
- Radii for lanthanides/actinides HOT 2
- substitute using IUPAC/SMILES is buggy HOT 1
- Better consistency between ORCA and Gaussian inputs HOT 10
- Allow use of BSE python module HOT 1
- parsing ORCA double hybrid with RI HOT 2
- thermochem error for T = 0K HOT 3
- write orca SMD HOT 2
- int grids ORCA 5 HOT 2
- problem parsing HOT 2
- B2PLYP-D3 = B2PLYPD3 HOT 2
- basis/ecp HOT 1
- A bug in the AaronTools.geometry.Geometry.map_ligand() function HOT 3
- I failed map ligands in a purely organic system. HOT 4
- Gaussian 16 log file doesn't parse correctly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aarontools.py.