<div dir="ltr">Dear Konrad,<br><br>I was wondering if nMoldyn can be used to calculate the VDOS from trajectory information ( in *.nc format), where a set of atoms with <b>different time lengths</b> for each of them can be chosen and processed simulataneously. <br>

<br>I know how to choose a set of atoms of one type of atom<b>:</b><br><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">#we run it as:&nbsp; pMoldyn --dos-xyz --input at_sel</span><br style="font-family: times new roman,serif;">

<br style="font-family: times new roman,serif;"><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">from MMTK import *</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">title = &#39;Density of states (from coordinates)&#39;</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">trajectory = [&#39;<a href="http://abc.nc" target="_blank">abc.nc</a>&#39;]</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">log_file = &#39;dos-xyz_abc.log&#39;</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">time_info = (2000, 3500, 1)</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">#atoms = {&#39;atomA&#39;: [&#39;*&#39;], &#39;atomB&#39;: [&#39;*&#39;], &#39;atomC&#39;: [&#39;*&#39;]}</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">projection_vector = None</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">weights = &#39;mass&#39;</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">differentiation = &#39;fast&#39;</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">ft_window = 90</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">units_length = Units.nm</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">units_frequency = 1/Units.ps</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">frequency_points = 1500</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">output_files = {&#39;dos&#39;: &#39;DOS_abc.plot&#39;}</span><br style="font-family: times new roman,serif;">

<br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">def atoms_code(trajectory):</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; import MMTK</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; selection = MMTK.Collection()</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; universe = trajectory.universe</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; atoms = universe.atomList()</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; n=0</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; for atom in atoms:</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if <a href="http://atom.name">atom.name</a>[:5] == &#39;atomB&#39;:</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n=n+1</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if n == 23 or n == 25:</span><br style="font-family: times new roman,serif;">

<span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; selection.addObject(atom)</span><br style="font-family: times new roman,serif;"><span style="font-family: times new roman,serif;">&nbsp;&nbsp;&nbsp;&nbsp; return selection</span><br>

<br><br>this finds VDOS of 23rd and 25th atom of type &#39;atomB&#39; for time steps 2000 to 3500 for both of them.<br><br>How should i find VDOS of let say 23rd and 25th atom, where i want &#39;<b>t1</b>&#39; time steps to be used for 23rd atom and &#39;<b>t2</b>&#39; time steps to be used for 25th atom.<br>
<br><br>Thank You.<br><br>nitin<br></div>