Source code for q2r

#!/usr/bin/env python
#"""Writen by Niraj K. Nepal, Ph.D."""
"""Creates input file for q2r.x"""
import sys

[docs] def q2r_in(): """ Prepare input files for force constant in real space (q2r.in) and obtain atomic displacement for a particular mode (dynmat.in). This function is responsible for creating input files required for calculating force constants in real space (q2r.in) and obtaining atomic displacement for a specific mode (dynmat.in). The default names for the input files are q2r-mpid-compound.in and dynamt-mpid-compound.in. The function is typically invoked within the 'create-inputs' bash script. Parameters: None (relies on command-line arguments provided through sys.argv) Returns: None """ mpid = sys.argv[1] comp = sys.argv[2] prefix2=sys.argv[3] dynmat = prefix2.replace("'", "") + ".dyn" dynmat1 = prefix2.replace("'", "") + ".dyn" frc = prefix2.replace("'", "") + ".fc" with open("q2r-{}-{}.in".format(mpid,comp), 'w') as q2r: q2r.write("&input" + "\n") q2r.write("zasr='simple'," + "\n") q2r.write("fildyn='{}',".format(dynmat) + "\n") q2r.write("flfrc='{}',".format(frc) + "\n") q2r.write("la2F=.true." + "\n") q2r.write("/" + "\n") with open("dynmat-{}-{}.in".format(mpid,comp), 'w') as dyn: dyn.write("&input" + "\n") dyn.write("asr='simple'," + "\n") dyn.write("fildyn='{}',".format(dynmat1) + "\n") dyn.write("/" + "\n")
if __name__ == "__main__": q2r_in()