class maicos.modules.dielectricspectrum.DielectricSpectrum(atomgroup, unwrap=True, temperature=300, output_prefix='', segs=20, df=None, bins=200, binafter=20, nobin=False)[source]#

Bases: AnalysisBase

Compute the linear dielectric spectrum.

This module, given a molecular dynamics trajectory, produces a .txt file containing the complex dielectric function as a function of the (linear, not radial - i.e., \(\nu\) or \(f\), rather than \(\omega\)) frequency, along with the associated standard deviations. The algorithm is based on the Fluctuation Dissipation Relation: \(\chi(f) = -1/(3 V k_B T \varepsilon_0) \mathcal{L}[\theta(t) \langle P(0) dP(t)/dt\rangle]\), where \(\mathcal{L}\) is the Laplace transformation.


The polarization time series and the average system volume are also saved.

Please read and cite [1].

  • atomgroup (AtomGroup) – A AtomGroup for which the calculations are performed.

  • refgroup (AtomGroup) –

    Reference AtomGroup used for the calculation.

    If refgroup is provided, the calculation is performed relative to the center of mass of the AtomGroup.

    If refgroup is None the calculations are performed to the center of the (changing) box.

  • unwrap (bool) –

    When unwrap = True, molecules that are broken due to the periodic boundary conditions are made whole.

    If the input contains molecules that are already whole, speed up the calculation by disabling unwrap. To do so, use the flag -no-unwrap when using MAICoS from the command line, or use unwrap = False when using MAICoS from the Python interpreter.

    Note: Molecules containing virtual sites (e.g. TIP4P water models) are not currently supported in MDAnalysis. In this case, you need to provide unwrapped trajectory files directly, and disable unwrap. Trajectories can be unwrapped, for example, using the trjconv command of GROMACS.

  • concfreq (int) – When concfreq (for conclude frequency) is larger than 0, the conclude function is called and the output files are written every concfreq frames

  • temperature (float) – Reference temperature.

  • output_prefix (str) – Prefix for the output files.

  • segs (int) – Sets the number of segments the trajectory is broken into.

  • df (float) – The desired frequency spacing in THz. This determines the minimum frequency about which there is data. Overrides segs option.

  • bins (int) – Determines the number of bins used for data averaging; (this parameter sets the upper limit). The data are by default binned logarithmically. This helps to reduce noise, particularly in the high-frequency domain, and also prevents plot files from being too large.

  • binafter (int) – The number of low-frequency data points that are left unbinned.

  • nobin (bool) – Prevents the data from being binned altogether. This can result in very large plot files and errors.




Save result.