vonDonnerstein / QuantumLab.jl

A workbench for Quantum Chemistry and Quantum Physics in Julia
Other
50 stars 19 forks source link

General Framework for Quantum Chemistry #6

Open cortner opened 7 years ago

cortner commented 7 years ago

Hi - Sorry this is not really an issue, but more of an attempt to make contact.

Very nice to discover this module. I hope too try it out soon. I've been working on JuLIP, which right now is primarily targeted for materials rather than molecules, but I want to include molecules as well at some point soon. We can do DFT with JuLIP, if we link to the relevant models implemented in ASE and I hope to write an interface to your QuantumLab as well, and hopefully other quantum chemistry codes.

More soon hopefully.

vonDonnerstein commented 7 years ago

Hi! Thanks for writing. I've had a quick peek into JuLIP right now and from what I have seen it looks very promising. If I understand the aim of JuLIP correctly, its meant to be a framework to run simulations based on classical potentials (which can be written directly in Julia) and/or energies from calculations in other programs or modules (future work).

So I love the idea to interface QuantumLab from JuLIP, because then the user could experiment with potentials (directly in JuLIP) and with e.g. correlation methods (in QuantumLab) and call them on equal footing. What would QuantumLab need to expose for JuLIP to interface it? I guess we would need a conversion between JuLIP.Atoms and QuantumLab.Geometry? Maybe we should first elicitate what is necessary and then devise a plan of how to best implement it.

To answer your questions: 1) QuantumLab's design is focused on flexibility. As such, Gaussians are just a subtype of more generic BasisFunctions. In practice however, our research is mainly focused on molecular systems, so no other subtypes are implemented yet. But if necessary, we could add plane-waves at any point.

2) To my knowledge - as of now - there exists no other package for quantum chemistry in julia. This is a good thing because anything else would mean that work is being done redundantly. I try to do my best to ensure that whoever wants to write quantum chemistry code in julia can join QuantumLab with his or her ideas. However there exist of course a lot of non-julia program packages (QChem, Turbomole, FemiONs++, ...) and it might make sense to be able to call them from julia. Unfortunately, I would assume writing a generic wrapper for these could cause a tremendous amount of work. As neither QuantumLab nor JuLIP need such general wrappers at the moment, I'm not sure if its worthwhile.

Let me know what you think. It would be great if we could get QuantumLab and JuLIP to work well and coordinated together. Looking forward to hear from you.

cortner commented 7 years ago

Thanks for the reply. Re 1) sounds great if possible.

@hjchen1983 : you looked at the code before: would it really be easier to implement plane waves in this framework rather than from scratch?

Re 2) the idea of JuLIP is

cortner commented 7 years ago

An initial interface between JuLIP and QuantumLab with minimal functionality; say energy and forces; should be straightforward. Once I have some functionality for molecules in JuLIP I'll come back to this thread.

hjchen1983 commented 7 years ago

Yes, it would be easier and better to work in this framework.