Skip to content

Commit

Permalink
SOF-7298: add pw_bands_soc template
Browse files Browse the repository at this point in the history
  • Loading branch information
pranabdas committed Apr 23, 2024
1 parent e312e14 commit cac3ca2
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 2 deletions.
72 changes: 72 additions & 0 deletions assets/espresso/pw_bands_soc.j2.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{% if subworkflowContext.MATERIAL_INDEX %}
{%- set input = input.perMaterial[subworkflowContext.MATERIAL_INDEX] -%}
{% endif -%}
&CONTROL
calculation = 'bands'
title = ''
verbosity = 'low'
restart_mode = '{{input.RESTART_MODE}}'
wf_collect = .true.
tstress = .true.
tprnfor = .true.
outdir = {% raw %}'{{ JOB_WORK_DIR }}/outdir'{% endraw %}
wfcdir = {% raw %}'{{ JOB_WORK_DIR }}/outdir'{% endraw %}
prefix = '__prefix__'
pseudo_dir = {% raw %}'{{ JOB_WORK_DIR }}/pseudo'{% endraw %}
/
&SYSTEM
ibrav = {{ input.IBRAV }}
nat = {{ input.NAT }}
ntyp = {{ input.NTYP_WITH_LABELS }}
ecutwfc = {{ cutoffs.wavefunction }}
ecutrho = {{ cutoffs.density }}
occupations = 'smearing'
degauss = 0.005
noncolin = .true.
lspinorb = .true.
{%- if nonCollinearMagnetization.isStartingMagnetization %}
{%- for item in nonCollinearMagnetization.startingMagnetization %}
starting_magnetization({{ item.index }}) = {{ item.value }} {% endfor -%}
{%- endif %}
{%- if nonCollinearMagnetization.isConstrainedMagnetization %}
constrained_magnetization = '{{ nonCollinearMagnetization.constrainedMagnetization.constrainType }}'
lambda = {{ nonCollinearMagnetization.constrainedMagnetization.lambda }}
{%- endif %}
{%- if nonCollinearMagnetization.isConstrainedMagnetization and nonCollinearMagnetization.isFixedMagnetization %}
fixed_magnetization(1) = {{ nonCollinearMagnetization.fixedMagnetization.x }}
fixed_magnetization(2) = {{ nonCollinearMagnetization.fixedMagnetization.y }}
fixed_magnetization(3) = {{ nonCollinearMagnetization.fixedMagnetization.z }}
{%- endif %}
{%- if nonCollinearMagnetization.isExistingChargeDensity and nonCollinearMagnetization.lforcet %}
lforcet = .true.
{%- endif %}
{%- if nonCollinearMagnetization.isExistingChargeDensity and !nonCollinearMagnetization.lforcet %}
lforcet = .false.
{%- endif %}
{%- if nonCollinearMagnetization.isArbitrarySpinDirection %}
{%- for item in nonCollinearMagnetization.spinAngles %}
angle1({{ item.index }}) = {{ item.angle1 }}
angle2({{ item.index }}) = {{ item.angle2 }} {% endfor %}
{%- endif %}
/
&ELECTRONS
diagonalization = 'david'
diago_david_ndim = 4
diago_full_acc = .true.
mixing_beta = 0.3
/
&IONS
/
&CELL
/
ATOMIC_SPECIES
{{ input.ATOMIC_SPECIES_WITH_LABELS }}
ATOMIC_POSITIONS crystal
{{ input.ATOMIC_POSITIONS }}
CELL_PARAMETERS angstrom
{{ input.CELL_PARAMETERS }}
K_POINTS crystal_b
{{kpath.length}}
{% for point in kpath -%}
{% for d in point.coordinates %}{{d}} {% endfor -%}{{point.steps}}
{% endfor %}
8 changes: 8 additions & 0 deletions executables/espresso/pw.x.yml
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,14 @@ flavors:
applicationName: espresso
executableName: pw.x

pw_bands_soc:
input:
- name: pw_bands_soc.in
monitors:
- standard_output
applicationName: espresso
executableName: pw.x

pw_bands_dft_u_magn:
input:
- name: pw_bands_dft_u_magn.in
Expand Down
2 changes: 1 addition & 1 deletion src/js/data/templates.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/js/data/tree.js

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions templates/espresso/pw.x.yml
Original file line number Diff line number Diff line change
Expand Up @@ -325,3 +325,13 @@
- name: CollinearMagnetizationDataManager
applicationName: espresso
executableName: pw.x

- content: !readFile 'assets/espresso/pw_bands_soc.j2.in'
name: pw_bands_soc.in
contextProviders:
- name: KPathFormDataManager
- name: QEPWXInputDataManager
- name: PlanewaveCutoffDataManager
- name: NonCollinearMagnetizationDataManager
applicationName: espresso
executableName: pw.x

0 comments on commit cac3ca2

Please sign in to comment.