<?xml version="1.0" encoding="UTF-8"?> <simulation xmds-version="2"> <name>vibstring</name> <author>Graham Dennis</author> <description> Vibrating string </description> <features> <benchmark /> <error_check /> <bing /> <fftw plan="estimate" /> <globals> <![CDATA[ const real T = 10.0; const real mass = 1e-3; const real length = 1.0; const real mu = mass/length; ]]> </globals> </features> <geometry> <propagation_dimension> t </propagation_dimension> <transverse_dimensions> <dimension name="x" lattice="100" domain="(0, 1)" /> </transverse_dimensions> </geometry> <vector name="main" initial_basis="x" type="complex"> <components> u uDot </components> <initialisation> <![CDATA[ u = exp(-100.0*(x-0.5)*(x-0.5)); uDot = 0.0; ]]> </initialisation> </vector> <sequence> <integrate algorithm="RK4" interval="2e-3" steps="100"> <samples>50 50</samples> <computed_vector name="moment_creator" dimensions="" type="real"> <components>moment</components> <evaluation> <dependencies basis="kx"> main </dependencies> <![CDATA[ moment = mod2(u); ]]> </evaluation> </computed_vector> <operators> <operator kind="ex"> <operator_names>L</operator_names> <![CDATA[ L = -T*kx*kx/mu; ]]> </operator> <integration_vectors>main</integration_vectors> <dependencies>moment_creator</dependencies> <![CDATA[ du_dt = uDot; duDot_dt = L[u]; moment; ]]> </operators> </integrate> <breakpoint filename="vibstring_break.xsil"> <dependencies>main</dependencies> </breakpoint> </sequence> <output> <sampling_group basis="x" initial_sample="yes"> <moments>amp</moments> <dependencies>main</dependencies> <![CDATA[ amp = u.Re(); ]]> </sampling_group> <sampling_group basis="kx(50)" initial_sample="no"> <moments>amp</moments> <dependencies>main</dependencies> <![CDATA[ amp = u.Re(); ]]> </sampling_group> </output> </simulation>