Commit 950f6128 authored by Andrei Sobolev's avatar Andrei Sobolev
Browse files

Fields added to control file generator

parent 1e331faa
Loading
Loading
Loading
Loading
+122 −27
Original line number Diff line number Diff line
@@ -231,9 +231,9 @@ export const Fields_FHIaims = [
      }
    }
  },
  // FHI-aims MD
  {
    label: 'Molecular dynamics',
    constraint: ["phononMethod", "in", ["molecular_dynamics"]],
    fields: {
      mdRun: {
        text: 'MD ensemble',
@@ -241,18 +241,16 @@ export const Fields_FHIaims = [
        group: 0,
        inputType:'select',
        required: true,
        value: ['', 'NVE', 'NVT_parrinello', 'Langevin'],
        value: ['', 'NVE', 'NVT_parrinello'],
        dataType: 'string',
        explanation: `
            Central controls of the computational settings for a Born-Oppenheimer molecular dynamics simulation.
            Specifies the MD ensemble:<br>
            <b>NVE:</b> performs molecular dynamics in the microcanonical ensemble;<br>
            <b>NVT_parrinello:</b> molecular dynamics run using the Bussi-Donadio-Parrinello thermostat.<br>
            <b>Langevin:</b> MD run with the colored-noise thermostat using the Generalized Langevin Equation. 
            Can now be used only in FHI-vibes calculations.
        `,

        workflow: ['MD', 'Spectroscopy']
        workflow: 'MD'
      },
      mdRunTime: {
        text: 'MD run time',
@@ -265,7 +263,7 @@ export const Fields_FHIaims = [
        explanation: `
          The run time for AIMD simulation in picoseconds
        `,
        workflow: ['MD', 'Spectroscopy']
        workflow: 'MD'
      },
      mdRunParameters: {
        text: 'Thermostat parameters',
@@ -294,7 +292,71 @@ export const Fields_FHIaims = [
        explanation: `
          The time step for AIMD simulation in picoseconds
        `,
        workflow:  ['MD', 'Spectroscopy']
        workflow:  'MD'
      },
      mdMBInit: {
        text: 'Velocity initialization temperature',
        flag: 'MD_MB_init',
        group: 0,
        inputType:'input-text',
        required: true,
        dataType: 'float',
        units: 'K',
        explanation: `
          Initializes random velocities in a molecular dynamics calculation using a Maxwell-Boltzmann distribution.<br>
          Please specify an appropriate temperature in Kelvin.
        `,
        workflow: 'MD'
      },
    }
  },
  {
    label: 'MD - FHI-vibes',
    constraint: ['phononMethod', 'in', ['molecular_dynamics']],
    fields: {
      mdRun: {
        text: 'MD ensemble',
        flag: 'MD_run',
        group: 0,
        inputType:'select',
        required: true,
        value: ['',  'Langevin'],
        dataType: 'string',
        explanation: `
            Central controls of the computational settings for a Born-Oppenheimer molecular dynamics simulation.
            Specifies the MD ensemble:<br>
            <b>Langevin:</b> MD run with the colored-noise thermostat using the Generalized Langevin Equation. 
            Can now be used only in FHI-vibes calculations.
        `,

        workflow: 'Spectroscopy'
      },
      mdRunTime: {
        text: 'Number of MD steps',
        flag: 'MD_max_steps',
        group: 0,
        inputType:'input-text',
        required: true,
        defaultValue: () => 500,
        dataType: 'integer',
        explanation: `
          Number of MD steps to perform.
        `,
        workflow: 'Spectroscopy'
      },
      mdTimeStep: {
        text: 'MD time step',
        flag: 'MD_time_step',
        group: 0,
        inputType:'input-text',
        required: true,
        defaultValue: () => 4.,
        dataType: 'float',
        units: 'fs',
        explanation: `
          The time step for AIMD simulation in femtoseconds
        `,
        workflow:  'Spectroscopy'
      },
      mdRunParametersLangevin: {
        text: 'Langevin thermostat parameters',
@@ -304,6 +366,7 @@ export const Fields_FHIaims = [
        required: true,
        dataType: ['float', 'float'],
        units: ['K', 'ps⁻¹'],
        defaultValue: () => [undefined, 0.02],
        explanation: `
          AIMD thermostat parameters:<br>
            <b>Temperature:</b> the simulation temperature in K;<br>
@@ -312,20 +375,6 @@ export const Fields_FHIaims = [
        constraint: ['mdRun', 'in', ['Langevin']],
        workflow: 'Spectroscopy'
      },
      mdMBInit: {
        text: 'Velocity initialization temperature',
        flag: 'MD_MB_init',
        group: 0,
        inputType:'input-text',
        required: true,
        dataType: 'float',
        units: 'K',
        explanation: `
          Initializes random velocities in a molecular dynamics calculation using a Maxwell-Boltzmann distribution.<br>
          Please specify an appropriate temperature in Kelvin.
        `,
        workflow: 'MD'
      },
    }
  },
  {
@@ -375,21 +424,40 @@ export const Fields_FHIaims = [
      },
    }
  },

  {
    label: 'Raman spectroscopy',
    label: 'Polarization',
    constraint: ['spectroscopyType', 'in', ['IR']],
    fields: {
      outputPolarization: {
        text: 'Polarization output',
        flag: 'output_polarization',
        inputType:'input-text:3x3:a,b,c',
        dataType: 'integer',
        required: true,
        explanation: `
            K-point grid for the polarization calculation in 3 directions.
        `,
        workflow: 'Spectroscopy'
      },
    },
  },
  {
    label: 'DFPT dielectric tensor',
    constraint: ['spectroscopyType', 'in', ['Raman']],
    fields: {
      dfptAccuracyN1: {
        text: 'DFPT accuracy',
        flag: 'dfpt_accuracy_n1',
        inputType: 'input-text',
        required: true,
        explicitInclusion: 'checkbox',
        defaultChecked: true,
        value: 1e-6,
        dataType: 'float',
        explanation: `
            Convergence criterion for the DFPT self-consistency cycle, 
            based on the RMS change in the first-order density matrix.
            Tighter convergence criteria lead to more accurate dielectric derivatives.
            Default: 1e-9.
        `,
        workflow: 'Spectroscopy'
      },
@@ -397,14 +465,41 @@ export const Fields_FHIaims = [
        text: 'DFPT linear mixing parameter',
        flag: 'dfpt_linear_mix_param',
        inputType: 'input-text',
        required: true,
        explicitInclusion: 'checkbox',
        defaultChecked: true,
        value: 0.4,
        dataType: 'float',
        explanation: `
           Parameter for linear mixing of first-order electron density.
           Default: 1.0
        `,
        workflow: 'Spectroscopy'
      },
      dfptIterLimit: {
        text: 'Maximum number of DFPT cycles',
        flag: 'dfpt_iter_limit',
        inputType: 'input-text',
        explicitInclusion: 'checkbox',
        dataType: 'int',
        explanation: `
           Maximum number of DFPT cycles. 
           Default: 40
        `,
        workflow: 'Spectroscopy'
      },
      dfptPulaySteps: {
        text: 'Number of DFPT Pulay steps',
        flag: 'dfpt_pulay_steps',
        inputType: 'input-text',
        explicitInclusion: 'checkbox',
        dataType: 'int',
        explanation: `
          Number of steps kept in memory for Pulay mixing. Value of 1 corresponds to simple linear mixing.
          Default: 8
        `,
        workflow: 'Spectroscopy'
      },

    }
  },
  {
@@ -692,7 +787,7 @@ export const Fields_FHIaims = [
        defaultChecked: ["Spectroscopy"],
        defaultValue:(s, wf) => wf === "Spectroscopy" ? 1e-06 : "",
        explanation: `
           Sets the SCF convergence criterion for the total electron density (in e/AA^3).
           Sets the SCF convergence criterion for the total electron density (in e/ų).
        `,
        units: `e/&#197;<sup>3</sup>`,
        workflow: 'default'
@@ -722,7 +817,7 @@ export const Fields_FHIaims = [
        defaultChecked: ["Spectroscopy"],
        defaultValue: (s, wf) => wf === "Spectroscopy" ? 5e-05 : "",
        explanation: `
           Sets the SCF convergence criterion for the forces (in eV/AA).
           Sets the SCF convergence criterion for the forces (in eV/Å).
        `,
        units: `eV/&#197;`,
        workflow: 'default'