Git Product home page Git Product logo

Comments (4)

ajs99778 avatar ajs99778 commented on July 22, 2024

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.

swheele2 avatar swheele2 commented on July 22, 2024

I think all_geom should include the last geometry.

from aarontools.py.

joegair avatar joegair commented on July 22, 2024

Thanks so much for providing the example. That helps a lot.

from aarontools.py.

ajs99778 avatar ajs99778 commented on July 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.