-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Fpop support for CP2K (Bohrium) * Update and rename preprunvasp.py to prepruncp2k.py * Update cp2k.py Throw error if user does not specify command. Remove the last blank line * Add Unit test(UT) for Cp2k * Update cp2k.py deleted blank line again * Update test_cp2k_inputs.py * Update test_prep_cp2k.py * Update setup.py * Update requirements.txt * Update test_run_cp2k.py * Update test_prep_cp2k.py * Update test_cp2k_inputs.py * Update cp2k.py
- Loading branch information
Showing
11 changed files
with
805 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
generated by phonopy | ||
1.0 | ||
2.7523087463752396 0.0000000000000000 0.0000000000000000 | ||
0.0000000000000000 2.7523087463752396 0.0000000000000000 | ||
0.0000000000000000 0.0000000000000000 2.7523087463752396 | ||
Na | ||
2 | ||
Direct | ||
0.0000000000000000 0.0000000000000000 0.0000000000000000 | ||
0.5000000000000000 0.5000000000000000 0.5000000000000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
generated by phonopy | ||
1.0 | ||
2.7236843018032482 0.0000000000000000 0.0000000000000000 | ||
0.0000000000000000 2.7236843018032482 0.0000000000000000 | ||
0.0000000000000000 0.0000000000000000 2.7236843018032482 | ||
Na | ||
2 | ||
Direct | ||
0.0000000000000000 0.0000000000000000 0.0000000000000000 | ||
0.5000000000000000 0.5000000000000000 0.5000000000000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
generated by phonopy | ||
1.0 | ||
2.6974919917106432 0.0000000000000000 0.0000000000000000 | ||
0.0000000000000000 2.6974919917106432 0.0000000000000000 | ||
0.0000000000000000 0.0000000000000000 2.6974919917106432 | ||
Na | ||
2 | ||
Direct | ||
0.5000000000000000 0.5000000000000000 0.5000000000000000 | ||
0.0000000000000000 0.0000000000000000 0.0000000000000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#Generated by Multiwfn | ||
&GLOBAL | ||
PROJECT POSCAR-1 | ||
PRINT_LEVEL LOW | ||
RUN_TYPE ENERGY_FORCE | ||
&END GLOBAL | ||
|
||
&FORCE_EVAL | ||
METHOD Quickstep | ||
&SUBSYS | ||
&CELL | ||
@INCLUDE CELL_PARAMETER | ||
PERIODIC XYZ #Direction(s) of applied PBC (geometry aspect) | ||
&END CELL | ||
&COORD | ||
@INCLUDE coord.xyz | ||
&END COORD | ||
&KIND Na | ||
ELEMENT Na | ||
BASIS_SET DZVP-MOLOPT-SR-GTH-q9 | ||
POTENTIAL GTH-PBE | ||
&END KIND | ||
&END SUBSYS | ||
|
||
&DFT | ||
BASIS_SET_FILE_NAME BASIS_MOLOPT | ||
POTENTIAL_FILE_NAME POTENTIAL | ||
# WFN_RESTART_FILE_NAME POSCAR-1-RESTART.wfn | ||
CHARGE 0 #Net charge | ||
MULTIPLICITY 1 #Spin multiplicity | ||
&QS | ||
EPS_DEFAULT 1.0E-12 #Set all EPS_xxx to values such that the energy will be correct up to this value | ||
&END QS | ||
&POISSON | ||
PERIODIC XYZ #Direction(s) of PBC for calculating electrostatics | ||
PSOLVER PERIODIC #The way to solve Poisson equation | ||
&END POISSON | ||
&XC | ||
&XC_FUNCTIONAL PBE | ||
&END XC_FUNCTIONAL | ||
&END XC | ||
&MGRID | ||
CUTOFF 400 | ||
REL_CUTOFF 55 | ||
&END MGRID | ||
&SCF | ||
MAX_SCF 25 #Maximum number of steps of inner SCF | ||
EPS_SCF 1.0E-06 #Convergence threshold of density matrix of inner SCF | ||
# SCF_GUESS RESTART #Use wavefunction from WFN_RESTART_FILE_NAME file as initial guess | ||
&OT | ||
PRECONDITIONER FULL_ALL #Usually best but expensive for large system. Cheaper: FULL_SINGLE_INVERSE and FULL_KINETIC | ||
MINIMIZER DIIS #CG is worth to consider in difficult cases | ||
LINESEARCH 2PNT #1D line search algorithm for CG. 2PNT is default, 3PNT is better but more costly. GOLD is best but very expensive | ||
ALGORITHM STRICT #Algorithm of OT. Can be STRICT (default) or IRAC | ||
&END OT | ||
&OUTER_SCF | ||
MAX_SCF 20 #Maximum number of steps of outer SCF | ||
EPS_SCF 1.0E-06 #Convergence threshold of outer SCF | ||
&END OUTER_SCF | ||
&RESTART #Note: Use "&RESTART OFF" can prevent generating .wfn file | ||
BACKUP_COPIES 0 #Maximum number of backup copies of wfn file. 0 means never | ||
&END RESTART | ||
&END PRINT | ||
&END SCF | ||
&END DFT | ||
&FORCES ON #Print atomic forces | ||
&END FORCES | ||
&END PRINT | ||
&END FORCE_EVAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
from dflow import ( | ||
Workflow, | ||
Step, | ||
upload_artifact, | ||
download_artifact, | ||
InputArtifact, | ||
OutputArtifact, | ||
ShellOPTemplate, | ||
) | ||
from dflow.python import ( | ||
PythonOPTemplate, | ||
OP, | ||
OPIO, | ||
OPIOSign, | ||
Artifact, | ||
TransientError, | ||
FatalError, | ||
BigParameter, | ||
upload_packages, | ||
) | ||
from pathlib import Path | ||
import fpop | ||
from fpop.cp2k import PrepCp2k,Cp2kInputs,RunCp2k | ||
from fpop.preprun_fp import PrepRunFp | ||
from dflow.plugins.dispatcher import DispatcherExecutor | ||
|
||
prep_template_config={} | ||
prep_step_config={} | ||
run_template_config={} | ||
run_slice_config={} | ||
run_step_config={ | ||
"executor":{ | ||
"type": "dispatcher", | ||
"machine_dict":{ | ||
"batch_type": "Bohrium", | ||
"context_type": "Bohrium", | ||
"remote_profile": { | ||
"input_data": { | ||
"job_type": "container", | ||
"platform": "ali", | ||
"scass_type": "c16_m32_cpu", | ||
} | ||
} | ||
} | ||
} | ||
} | ||
prep_image_config={} | ||
run_image_config={ | ||
"command": "ulimit -s unlimited && ulimit -m unlimited && mpirun -n 16 --allow-run-as-root --oversubscribe cp2k.popt -i input.inp", | ||
} | ||
upload_python_packages=list(fpop.__path__) | ||
|
||
steps = PrepRunFp( | ||
"prep-run-cp2k", | ||
PrepCp2k, | ||
RunCp2k, | ||
"registry.dp.tech/dptech/prod-15842/ubuntu:22.04-py3.10-ase", | ||
"registry.dp.tech/dptech/prod-25571/initreaction:cp2k0410", | ||
prep_template_config, | ||
prep_step_config, | ||
run_template_config, | ||
run_slice_config, | ||
run_step_config, | ||
upload_python_packages, | ||
) | ||
|
||
confs = ["POSCAR-1","POSCAR-2","POSCAR-3"] | ||
|
||
|
||
cp2k_inputs = Cp2kInputs('input.inp') # input files | ||
prep_run_step = Step( | ||
'prep-run-step', | ||
template = steps, | ||
parameters = { | ||
'type_map' : ["Na"], | ||
'prep_image_config' : prep_image_config, | ||
'run_image_config' : run_image_config, | ||
"log_name" : "output.log", | ||
'inputs' : cp2k_inputs, | ||
'optional_input' : {"conf_format":"vasp/poscar"}, | ||
'backward_list' : ["output.log"], | ||
}, | ||
artifacts = { | ||
"confs" : upload_artifact(confs), | ||
}, | ||
) | ||
|
||
wf = Workflow(name="prepruncp2k") | ||
wf.add(prep_run_step) | ||
wf.submit() | ||
|
||
import time | ||
while wf.query_status() in ["Pending", "Running"]: | ||
time.sleep(4) | ||
assert(wf.query_status() == 'Succeeded') | ||
step = wf.query_step(name="prep-run-step")[0] | ||
download_artifact(step.outputs.artifacts["backward_dirs"]) |
Oops, something went wrong.