From 1eab39e1d79118656da4a9ccfabd320b3ff031a3 Mon Sep 17 00:00:00 2001 From: singularitti Date: Sat, 14 Oct 2023 22:12:33 -0400 Subject: [PATCH] Extend `ExtractData` in src/ConvergenceTestWorkflow/actions.jl --- src/ConvergenceTestWorkflow/actions.jl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ConvergenceTestWorkflow/actions.jl b/src/ConvergenceTestWorkflow/actions.jl index 1673515..4b54398 100644 --- a/src/ConvergenceTestWorkflow/actions.jl +++ b/src/ConvergenceTestWorkflow/actions.jl @@ -2,15 +2,25 @@ using AbInitioSoftwareBase: Setter using CrystallographyBase: MonkhorstPackGrid using Dates: format, now using ExpressBase.Files: parentdir -using QuantumESPRESSO.PWscf: PWInput, KMeshCard, PWInput, VerbositySetter +using QuantumESPRESSO.PWscf: + PWInput, KMeshCard, PWInput, VerbositySetter, parse_electrons_energies using Setfield: @set! using UnifiedPseudopotentialFormat # To work with `download_potential` using Unitful: ustrip, @u_str using UnitfulAtomic -import Express.ConvergenceTestWorkflow: CreateInput +import Express.ConvergenceTestWorkflow: CreateInput, ExtractData import ExpressBase: RunCmd +function (::ExtractData)(file) + str = read(file, String) + e = try + parse_electrons_energies(str, :converged) + catch + end + return e.ε[end] * u"Ry" +end + (::CreateInput)(template::PWInput, args...) = (customizer(args...) ∘ normalizer())(template) struct CutoffEnergySetter <: Setter