Download
(right-click and "save as")
# @author: tester
# @version: 1
# @description: mass-spring-damper analysis
# @keywords: msd, training
variable: k double input
variable: c double input
variable: m double input
variable: x0 double input
variable: v0 double input
variable: force double input
variable: w double input
variable: tStart double input
variable: tEnd double input
variable: tStep double input
variable: wN double output
variable: wD double output
variable: xMag double output
variable: t double[] output
variable: x double[] output
variable: x_ss double[] output
variable: x_trans double[] output
# ------------------------------------------
script: language="java"
void run()
{
wrapper.getRunShare().lock();
rowFieldMsdIn(PHXRowFieldFile.GENERATE);
wrapper.getRunShare().run( "msd" );
rowFieldMsdOut(PHXRowFieldFile.PARSE);
}
void rowFieldMsdIn( int mode )
{
PHXRowFieldFile file = new PHXRowFieldFile(wrapper, mode);
file.setTemplateFile("msd.in.template");
file.setFileToGenerate("msd.in");
file.transferVar(k, 7, 2);
file.transferVar(c, 8, 2);
file.transferVar(m, 9, 2);
file.transferVar(x0, 10, 2);
file.transferVar(v0, 11, 2);
file.transferVar(force, 12, 2);
file.transferVar(w, 13, 2);
file.transferVar(tStart, 16, 2);
file.transferVar(tEnd, 17, 2);
file.transferVar(tStep, 18, 2);
if ( mode == PHXRowFieldFile.GENERATE )
file.generate();
}
void rowFieldMsdOut( int mode )
{
PHXRowFieldFile file = new PHXRowFieldFile(wrapper, mode);
file.setFileToGenerateOrParse("msd.out");
file.setDelimiters("=");
file.transferVar(wN, 25, 2);
file.transferVar(wD, 26, 2);
file.transferVar(xMag, 28, 2);
file.setDelimiters(" \t");
file.transferArray(t, 33, 42, 1, 1);
file.transferArray(x, 33, 42, 2, 2);
file.transferArray(x_ss, 33, 42, 3, 3);
file.transferArray(x_trans, 33, 42, 4, 4);
if ( mode == PHXRowFieldFile.GENERATE )
file.generate();
}
try
{
rowFieldMsdIn(PHXRowFieldFile.READ_TEMPLATE);
rowFieldMsdOut(PHXRowFieldFile.READ_TEMPLATE);
}
catch( Exception e )
{
}