Commit Graph

5 Commits

Author SHA1 Message Date
Jaron Krogel f045624e86 nexus: add missing basisset.py
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6620 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-11-20 16:55:48 +00:00
Jaron Krogel 461c3a63e9 Major updates to Nexus: see full text of message
Changes made to render core of Nexus more robust, a couple of bug fixes, 
several additions to functionality, and several files relegated to "legacy".


=================
new functionality
=================
 -added support for templated input for qmcpack 
    generation is no longer required
    should also work for all supported codes now
    also allows driving of generic simulation codes lacking detailed nexus interface

 -added basic interfaces to drive CRYSTAL and properties
  
 -added support to convert to CASINO pseudopotential format for semilocal PPs
    can convert from GAMESS/CRYSTAL to QMCPACK/CASINO
    also convert between QMCPACK and CASINO
  
 -improved handling of gamma point calculations for pwscf
    better autodetection of gamma point
    explicit user override to forbid "KPOINTS gamma"

 -added support for head node/local job submission 
    useful for lightweight serial tools or scripts in workflows
  
 -added "execute" function to Simulation
    will later enable use generation/running of simulations directly within user script
    will allow for dynamic workflows, rather than dynamic execution of static workflows

 -added enum class to developer.py

 -added general formatted read to TextFile class in fileio.py


=========
bug fixes
=========
 -dependents of failed simulations now guaranteed not to run following interruption and restart of user script

 -run directory creation now guaranteed to occur prior to simulation dependency processing


================
added robustness
================
 -restructured global base class (obj) in generic.py
    remove dependence on abilities.py classes
    streamline and expand base class functions
    move to "new-style" Python classes (inherit from object)

 -added nexuscore "namespace" and NexusCore base class 
    better control of core vs. noncore information propagation
    less chance of downstream breakage (e.g. for derived Simulation classes)
    classes inheriting from NexusCore:
      Settings
      ProjectManager
      Machine
      Job
      Simulation
      SimulationImage
      SimulationInput
      SimulationAnalyzer
  
 -added separate SimulationImage class for save/load of Simulation state
    ensures only central information is saved/loaded
    prevents interaction with derived Simulation classes
  
 -improved organization for Settings class
  
 -removed debug log cruft from ProjectManager
  
 -improved definition of SimulationTemplateInput
    now uses string.Template rather than custom code

 -replaced dynamic type detection functionality from types module with inspect

 -simplified UnitConverter class
  
 -made periodic_table process symbols consistently
  

============
housekeeping
============
 -removed unused files
    converters.py  auxilliary.py
  
 -relegated several superseded/less used files to new legacy directory
    abilities.py         differences.py           qmcpack_pp_validation.py
    cascade.py           eos_fit.py               qmcpack_variations.py
    density_analyzer.py  generator.py             qmc.py
    dft.py               qmcpack_calculations.py
  
 -consolidated orbital converters for qmcpack into qmcpack_converters.py
    replaces convert4qmc.py, pw2qmcpack.py, wfconvert.py
  
 -consolidated numerical functionality into numerics.py
    extended_numpy.py is removed along with ill-advised "from numpy import *"
  
 -consolidated files associated with QmcpackAnalyzer
    plotter.py qaobject.py spacegrid.py
  
 -renamed project.py as nexus.py, removing vacuous nexus.py
    also renamed project_base.py as nexus_base.py 

 -separated processing of basis sets to basissets.py

 -removed outdated BundledQmcpack class


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6616 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-11-11 19:39:04 +00:00
Jaron Krogel a797abadea nexus: gaussian basis set manipulation, interface smoothing
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6556 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-08-17 14:40:03 +00:00
Jaron Krogel 6060f56705 nexus: descriptive headers for all files
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6529 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-07-29 17:41:20 +00:00
Jaron Krogel 8a3426f45c nexus: considering CRYSTAL interface
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6528 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-07-29 16:09:41 +00:00