Git Product home page Git Product logo

Comments (10)

ajs99778 avatar ajs99778 commented on August 23, 2024 1

the method half of this is done

from aarontools.py.

ajs99778 avatar ajs99778 commented on August 23, 2024

The B3LYP one should be straightforward. The Method.get_orca() will basically just have to be changed to return a dictionary like what we do with xtb, and Theory.get_orca_X() will need to be changed accordingly.

For the basis set, maybe it would be better/more general to just make an option for pure vs Cartesian (possibly for individual shells). Of course, we would throw an error if you request Cartesian for ORCA and things like that.

from aarontools.py.

swheele2 avatar swheele2 commented on August 23, 2024

Thanks Tony.

from aarontools.py.

ajs99778 avatar ajs99778 commented on August 23, 2024

I've added angular_momentum_type to BasisSet. It should be either "pure" or "cartesian" to invoke the relevant keywords. The default is to not specify anything. There is no option for this on the makeInput cls at the moment.

I don't think it's worth doing pure/cartesian by angular momentum type, which I suggested. Q-Chem and Gaussian allow it, but it seems pretty niche to want something like pure G shells but Cartesian everywhere D, F, and H. At that point, the users might want to learn how to set those things themselves.

from aarontools.py.

swheele2 avatar swheele2 commented on August 23, 2024

from aarontools.py.

joegair avatar joegair commented on August 23, 2024

I see the updates to the basis.py to specify the angular momentum type, but it is not working as I expected. I'm not I'm not seeing 5D 7F in the route card when I use the following code. (I'm also not seeing the warning when I try to use "cartesian" in ORCA.

fun = Method("m062x")
basis_set = BasisSet(Basis("6-311+G**"), angular_momentum_type="pure")
int_grid = IntegrationGrid("UltraFine")
disp = EmpiricalDispersion(None)
solvent = ImplicitSolvent("SMD", "water")
charge = -2
multiplicity = 1
processors=16
memory=16

jobs = SinglePointJob()

m062x_6311plusgdp = Theory(
    method=fun, 
    basis=basis_set, 
    grid=int_grid, 
    empirical_dispersion=None, 
    job_type=jobs,
    charge=charge,
    multiplicity=multiplicity,
    processors=processors,
    memory=memory,
    solvent=solvent
)

geom.write(
    outfile=f"{name}.com", 
    theory=m062x_6311plusgdp,
    )

The resulting route card is #n m062x/6-311+G** SP Integral=(grid=UltraFine) scrf=(SMD,solvent=water)

from aarontools.py.

ajs99778 avatar ajs99778 commented on August 23, 2024

This is a bug. When you create a Theory, it will create a copy of the BasisSet. When that happens, the angular_momentum_type reverts to the default (do not specify). Currently, you need to do

theory = Theory(
    stuff
)

theory.basis.angular_momentum_type = "cartesian"

To get the warning after this bug is patched, you will to include return_warnings=True ingeom.write

from aarontools.py.

ajs99778 avatar ajs99778 commented on August 23, 2024

this should be fixed now

from aarontools.py.

joegair avatar joegair commented on August 23, 2024

Thank you! Everything is working as expected now.

from aarontools.py.

joegair avatar joegair commented on August 23, 2024

For what it is worth, I would prefer to have warnings on as the default. The warnings are a really nice feature and I didn't realize they were available based on the documentation alone.

from aarontools.py.

Related Issues (18)

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.