Skip to content

Commit a04e2d8

Browse files
author
Phillip Seeber
committed
fix cube finding in some steps for natural orbitals
1 parent c26439f commit a04e2d8

File tree

3 files changed

+36
-28
lines changed

3 files changed

+36
-28
lines changed

Exckel.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ cabal-version: 1.12
44
--
55
-- see: https://github.com/sol/hpack
66
--
7-
-- hash: 220eac176c7c2bb097fb19fa0716a5d24d1fc311ffe591a47ffde9cf267baa55
7+
-- hash: af97ebc516c2e9c20a9bcc1dbb3d12f140587d0c0c4fb4c8ccc119e9e71e5bc1
88

99
name: Exckel
10-
version: 0.3.0.1
10+
version: 0.3.0.2
1111
description: Please see the README on GitHub at <https://github.com/githubuser/Exckel#readme>
1212
homepage: https://github.com/sheepforce/Exckel#readme
1313
bug-reports: https://github.com/sheepforce/Exckel/issues

package.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Exckel
2-
version: 0.3.0.1
2+
version: 0.3.0.2
33
github: "sheepforce/Exckel"
44
license: GPL-3
55
author: "Phillip Seeber"

src/Exckel/CLI/CLI.hs

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -466,38 +466,42 @@ calcCDDCubes fi es = do
466466
Nothing -> "no"
467467
Just _ -> "yes"
468468

469-
cubeInfo <- case (fi ^. cddGenerator) of
469+
-- Update the file info about available cubes
470+
existingCubes <- findAllCubes (fi ^. outputPrefix)
471+
let fiWithCubes = fi & cubeFiles .~ existingCubes
472+
473+
cubeInfo <- case (fiWithCubes ^. cddGenerator) of
470474
Just REPA {} -> do
471475
logMessage "CDD calculator" "REgular Parallel Arrays (neglecting all cross terms!)"
472476
logMessage "Calculating CDDs for states" (show $ map (^. nState) es)
473-
logMessage "Orbital cubes available" (show $ map takeFileName <$> (fi ^. cubeFiles . orbCubes))
474-
logMessage "Natural orbital cubes available" (show $ map takeFileName <$> (fi ^. cubeFiles . natOrbCubes))
477+
logMessage "Orbital cubes available" (show $ map takeFileName <$> (fiWithCubes ^. cubeFiles . orbCubes))
478+
logMessage "Natural orbital cubes available" (show $ map takeFileName <$> (fiWithCubes ^. cubeFiles . natOrbCubes))
475479
logInfo "Calculating CDDs in parallel using REPA. See \"REPA.log\""
476480
mapM_ (\s -> do
477-
cddTriple <- CG.Exckel.calculateCDD fi s
481+
cddTriple <- CG.Exckel.calculateCDD fiWithCubes s
478482
case cddTriple of
479483
Left e -> errMessage e
480484
Right (i, (h, e, d)) -> do
481485
T.writeFile
482-
((fi ^. outputPrefix) ++ [pathSeparator] ++ "hole" ++ show i ++ ".cube")
486+
((fiWithCubes ^. outputPrefix) ++ [pathSeparator] ++ "hole" ++ show i ++ ".cube")
483487
(CG.Exckel.writeCube h)
484488
T.writeFile
485-
((fi ^. outputPrefix) ++ [pathSeparator] ++ "electron" ++ show i ++ ".cube")
489+
((fiWithCubes ^. outputPrefix) ++ [pathSeparator] ++ "electron" ++ show i ++ ".cube")
486490
(CG.Exckel.writeCube e)
487491
T.writeFile
488-
((fi ^. outputPrefix) ++ [pathSeparator] ++ "CDD" ++ show i ++ ".cube")
492+
((fiWithCubes ^. outputPrefix) ++ [pathSeparator] ++ "CDD" ++ show i ++ ".cube")
489493
(CG.Exckel.writeCube d)
490494
) es
491-
allCubes <- findAllCubes (fi ^. outputPrefix)
495+
allCubes <- findAllCubes (fiWithCubes ^. outputPrefix)
492496
return allCubes
493497
Just MultiWFNCDD {} -> do
494-
logMessage "CDD calculator" (show $ fi ^. cddGenerator . _Just . cddExePath)
498+
logMessage "CDD calculator" (show $ fiWithCubes ^. cddGenerator . _Just . cddExePath)
495499
logMessage "Calculating CDDs for states" (show $ map (^. nState) es)
496500
logInfo "Calculating CDDs. See \"MultiWFN.out\" and \"MultiWFN.err\""
497-
CG.MWFN.calculateCDDs fi es
498-
allCubes <- findAllCubes (fi ^. outputPrefix)
501+
CG.MWFN.calculateCDDs fiWithCubes es
502+
allCubes <- findAllCubes (fiWithCubes ^. outputPrefix)
499503
return allCubes
500-
Nothing -> return $ fi ^. cubeFiles
504+
Nothing -> return $ fiWithCubes ^. cubeFiles
501505

502506
return $ fi
503507
& cubeFiles . holeCubes .~ (cubeInfo ^. holeCubes)
@@ -517,31 +521,35 @@ doPlots fi = do
517521
Nothing -> "no"
518522
Just _ -> "yes"
519523

520-
imageInfo <- case (fi ^. cubePlotter) of
524+
-- Update the file info about available cubes
525+
existingCubes <- findAllCubes (fi ^. outputPrefix)
526+
let fiWithCubes = fi & cubeFiles .~ existingCubes
527+
528+
imageInfo <- case (fiWithCubes ^. cubePlotter) of
521529
Just VMD {} -> do
522530
-- Informations about the current settings
523-
logMessage "Orbital cubes to plot" $ show $ map takeFileName $ fi ^. cubeFiles . orbCubes . _Just
524-
logMessage "Hole density cubes to plot" $ show $ map takeFileName $ fi ^. cubeFiles . holeCubes . _Just
525-
logMessage "Electron density cubes to plot" $ show $ map takeFileName $ fi ^. cubeFiles . electronCubes . _Just
526-
logMessage "CDD cubes to plot" $ show $ map takeFileName $ fi ^. cubeFiles . cddCubes . _Just
527-
logMessage "Cube plotter" $ fi ^. cubePlotter . _Just . cpExePath
528-
logMessage "Cube renderer" $ fi ^. cubePlotter . _Just . cpRenderer . rExePath
531+
logMessage "Orbital cubes to plot" $ show $ map takeFileName $ fiWithCubes ^. cubeFiles . orbCubes . _Just
532+
logMessage "Hole density cubes to plot" $ show $ map takeFileName $ fiWithCubes ^. cubeFiles . holeCubes . _Just
533+
logMessage "Electron density cubes to plot" $ show $ map takeFileName $ fiWithCubes ^. cubeFiles . electronCubes . _Just
534+
logMessage "CDD cubes to plot" $ show $ map takeFileName $ fiWithCubes ^. cubeFiles . cddCubes . _Just
535+
logMessage "Cube plotter" $ fiWithCubes ^. cubePlotter . _Just . cpExePath
536+
logMessage "Cube renderer" $ fiWithCubes ^. cubePlotter . _Just . cpRenderer . rExePath
529537
logMessage "VMD startup file with general settings" $ fromMaybe
530538
"/ (will try to use your \".vmdrc\")"
531-
(fi ^. cubePlotter . _Just . cpStartUp)
539+
(fiWithCubes ^. cubePlotter . _Just . cpStartUp)
532540
logMessage "VMD state file for perspective" $ fromMaybe
533541
"/ (will use default perspective)"
534-
(fi ^. cubePlotter . _Just . cpStateFile)
535-
let unwrappedRenderer = fromJust $ fi ^. cubePlotter
542+
(fiWithCubes ^. cubePlotter . _Just . cpStateFile)
543+
let unwrappedRenderer = fromJust $ fiWithCubes ^. cubePlotter
536544
logMessage "Rendering resolution" $ show (unwrappedRenderer ^. cpRenderer . rResolution)
537545
logMessage "Rendering image format" $ show (unwrappedRenderer ^. cpRenderer . rImageFormat)
538546
logInfo "Calling VMD and Tachyon. See \"VMD.out\", \"VMD.err\", \"Tachyon.out\" and \"Tachyon.err\""
539547
CP.VMD.plotCubes fi
540-
allImages <- findAllImages (fi ^. outputPrefix)
548+
allImages <- findAllImages (fiWithCubes ^. outputPrefix)
541549
return allImages
542-
Nothing -> return $ fi ^. imageFiles
550+
Nothing -> return $ fiWithCubes ^. imageFiles
543551

544-
return (fi & imageFiles .~ imageInfo)
552+
return (fiWithCubes & imageFiles .~ imageInfo)
545553

546554

547555

0 commit comments

Comments
 (0)