In this example, we’ll build a gold nanoparticle and equilibrate it to a temperature of 300K. In future posts, we’ll add ligands and solvent to this structure. Here’s a sneak preview of the nanoparticle we’ll make here:
- Start with an input .omd file for the metal of your choice. We’ll be creating gold.omd for this example.
<OpenMD>
<MetaData>
molecule{
name = "Au";
atom[0]{
type = "Au";
position(0.0, 0.0, 0.0);
}
}
component{
type = "Au";
nMol = 1;
}
forceField = "SC";
forceFieldFileName = "SuttonChen.QSC.frc";
</MetaData>
</OpenMD> - Now to build the nanoparticle. We’ll choose a radius of 15 Å and use the lattice constant of gold, 4.08 Å. We’ll call our initial structure NP15.omd.
nanoparticleBuilder --latticeConstant=4.08 --radius=15 gold.omd -o NP15.omd
- To take a look at the structure we’ve just created, you can use the following command:
Dump2XYZ -i NP15.omd
to create a file called NP15.xyz, which can be viewed in VMD, Jmol, or any other chemical structure viewer.
- Add the following lines to the new NP15.omd file below the forceFieldFileName line. This sets some details for the simulation.
ensemble = "LHull";
targetTemp = 5;
targetPressure = 1;
viscosity = 0.1;
dt = 4.0;
runTime = 2E5;
sampleTime = 2000.0;
statusTime = 4;
seed = 985456376;
usePeriodicBoundaryConditions = "false";
tauThermostat = 1E3;
tauBarostat = 5E3; - NanoparticleBuilder carves a nanoparticle of our chosen radius out of a perfect gold crystal. We need to give the atoms some initial velocities before we start equilibrating. We’ll start it out at 5K:
thermalizer -t 5 NP15.omd -o NP15_5K.omd
- For the first step in the equilibration we need to let the gold lattice structurally relax. NP15_5K.omd can now be run:
openmd NP15_5K.omd
- Running the simulation will create several new files. NP15_5K.dump contains the trajectory of the simulation. Statistics such as temperature, pressure, and energy will be recorded in the NP15_5K.stat file and can be viewed using:
xmgrace -nxy NP15_5K.stat
- The end-of-run file NP15_5K.eor stores the last configuration of the simulation. We’ll copy it to a new .omd file.
cp NP15_5K.eor NP15_100K.omd
- To continue with the equilibration we need to change the targetTemp of NP15_100K.omd. We’ll increase it to 100 and run the NP15_100K.omd file.
- We’ll continue the procedure of copying the .eor file to a new .omd file and increasing the temperature until we’ve reached 300K. Temperature increases of 50 – 100K and simulation times of 100 – 200 ps are reasonable.
#1 by Steffen on October 19, 2023 - 11:40 am
Warning: Undefined variable $my_comment_count in /Users/Gezelter/openmd/wordpress/wp-content/themes/arclite/functions.php on line 714
Quote
Dear Sir,
i have used the methanol example with the same error. this is my warm.omd file:
molecule {
name = “Methanol”;
atom[0] { type = “CT”; position( -1.67488, 0.8201, 0.01931);}
atom[1] { type = “OH”; position( -1.83566, 2.22467, -0.05807);}
atom[2] { type = “HO”; position( -1.4864, 2.59821, 0.76855);}
atom[3] { type = “H1”; position( -2.05938, 0.36728, -0.89761);}
atom[4] { type = “H1”; position( -2.23443, 0.43518, 0.87552);}
atom[5] { type = “H1”; position( -0.61447, 0.57916, 0.12528);}
bond { members(0, 3); }
bond { members(0, 1); }
bond { members(1, 2); }
bond { members(0, 5); }
bond { members(0, 4); }
}
component{
type = Methanol;
nMol = 1;
}
forceField = “Amber”;
ensemble = NVT;
cutoffMethod = “shifted_force”;
electrostaticScreeningMethod = “damped”;
cutoffRadius = 9;
dampingAlpha = 0.18;
targetTemp = 300;
tauThermostat = 1000;
dt = 1.0;
runTime = 1e3;
tempSet = “false”;
sampleTime = 100;
statusTime = 10;
Time: 0
Hmat: {{ 2.23443, 0, 0 }, { 0, 2.59821, 0 }, { 0, 0, 1.77313 }}
0 pv -1.67488 0.8201 0.01931 0.000000e+00 0.000000e+00 0.000000e+00
1 pv -1.83566 2.22467 -0.05807 0.000000e+00 0.000000e+00 0.000000e+00
2 pv -1.4864 2.59821 0.76855 0.000000e+00 0.000000e+00 0.000000e+00
3 pv -2.05938 0.36728 -0.89761 0.000000e+00 0.000000e+00 0.000000e+00
4 pv -2.23443 0.43518 0.87552 0.000000e+00 0.000000e+00 0.000000e+00
5 pv -0.61447 0.57916 0.12528 0.000000e+00 0.000000e+00 0.000000e+00
Any help is greatful.
Steffen