Dear all
The following is a script to calculate FFV in a amorphous cell in .xsd file. However, after molecular dynamics simulation (NVT or NPT) a .xtd file including many frames will be generated. I want calculate
FFV of all frames in the .xtd. But I am a newer to MS and I am poor at writing Perl script programs, so i don't konw how to modify this script. Could anyone give me a hand.
#!perl
use strict;
use MaterialsScript qw(:all);
my \\\$newStudyTable = Documents->New("KAUST-PI-1-M01_FFV.std");
my \\\$calcSheet = \\\$newStudyTable->ActiveSheet;
\\\$calcSheet->ColumnHeading(0) = "Occupied Volume";
\\\$calcSheet->ColumnHeading(1) = "Free Space";
\\\$calcSheet->ColumnHeading(2) = "vdw Volume";
\\\$calcSheet->ColumnHeading(3) = "Total Cell Volume";
\\\$calcSheet->ColumnHeading(4) = "FFV";
\\\$calcSheet->ColumnHeading(5) = "Density";
my \\\$Doc = \\\$Documents{"KAUST1-PI-1-M01_0000ps.xsd"} ;
my \\\$avField = \\\$Doc->CalculateSolventField (Settings(GridInterval => 0.15));
\\\$avField->VDWScaling = 1;
\\\$avField->IsVisible = "YES";
my \\\$ISO = \\\$avField->CreateIsosurface([IsoValue => 0, HasFlippedNormals => "NO"]);
my \\\$OccV = \\\$ISO->EnclosedVolume ;
\\\$calcSheet->Cell(0, 0) = \\\$OccV ;
\\\$calcSheet->Cell(0, 1) = \\\$Doc->Lattice3D->CellVolume - \\\$OccV ;
\\\$calcSheet->Cell(0, 2) = 1.3 * \\\$OccV ;
\\\$calcSheet->Cell(0, 3) = \\\$Doc->Lattice3D->CellVolume ;
\\\$calcSheet->Cell(0, 4) = ((\\\$Doc->Lattice3D->CellVolume)-(1.3 * \\\$OccV))/(\\\$Doc->Lattice3D->CellVolume) ;
\\\$calcSheet->Cell(0, 5) = \\\$Doc->SymmetrySystem->Density ;
\\\$avField->Delete;
