Dear all,
The expression for acceleration vector update in python for elastodynamics is shown below:
a_vec = (1.0/(2.0*beta))*( (u_vec - u0_vec - v0_vec*dt)/(0.5*dt*dt) - (1.0-2.0*beta)*a0_vec )
I was looking at elastodynamics demo in c++ at the foolowing link:
https://github.com/FEniCS/dolfin/blob/master/demo/undocumented/elastodynamics/cpp/main.cpp
Here, they define the same expression as:
// Acceleration update
void update_a(Function& a, const Function& u, const Function& a0,
const Function& v0, const Function& u0,
double beta, double dt)
{
*a.vector() = *u.vector();
*a.vector() -= *u0.vector();
*a.vector() *= 1.0/dt;
*a.vector() -= *v0.vector();
*a.vector() *= 1.0/((0.5-beta)*dt);
*a.vector() -= *a0.vector();
*a.vector() *= (0.5-beta)/beta;
}
Can some one please shed some light on why the same math expression is defined like this? I can't even make out if it is the same. Thanks!