define_cg_motion(motion,dt,vel,omega,time,dtime)
{
real amp, freq;
real f_glob[nd_nd],m_glob[nd_nd],x_cg[nd_nd];
nv_s(vel, =, 0.0);
nv_s(omega, =, 0.0);
amp = 0.3;
freq = 0.4;
vel[0] = amp * sin( 2.0 * pi * freq * time);
#if !rp_node
file *fp = null;
#endif
#if !rp_host
domain *domain= get_domain (1);
thread *tf1 = lookup_thread (domain, 13);
if(time>dtime)
{
x_cg[0]=dt_cg(dt)[0];
x_cg[1]=dt_cg(dt)[1];
compute_force_and_moment (domain, tf1, x_cg, f_glob, m_glob,true);
}
#endif
#if rp_node
f_glob[0]=prf_grsum1(f_glob[0]);
f_glob[1]=prf_grsum1(f_glob[1]);
m_glob[2]=prf_grsum1(m_glob[2]);
x_cg[0]=prf_grsum1(x_cg[0]);
x_cg[1]=prf_grsum1(x_cg[1]);
#endif
node_to_host_real(f_glob,0);
node_to_host_real(f_glob,1);
node_to_host_real(m_glob,2);
node_to_host_real(x_cg,0);
node_to_host_real(x_cg,1);
#if !rp_node
fp=fopen("force.txt","a+"

;
fprintf(fp,"%.6f %.5f %.5f %.5f %.4f %.4f
",current_time,f_glob[0],f_glob[1],m_glob[2],x_cg[0],x_cg[1]);
fclose(fp);
#endif
}