The mpm_solver.py code has independent parameters for scaling dt and E. Shouldn't there be only a scaling for dt, and the scaling of E be computed just from the change in units? Units of E are kg/(m*s^2), so if time units are t=s*scale, then Et = kg/(m*t^2) = (1/scale^2)*E, and E_scale = (1/scale^2). In the demo_3d_letters2.py, for example, dt_scale=0.5, but E_scale=8 instead of E_scale=(1/0.5^2)=4.
By the way, units are supposed to be MKS everywhere, yes? So density rho is 1000 kg/m^3, like water, and g=9.8 m/s^2 (which should be scaled if dt_scale!=1?). And the default size=1 means the simulation box has dimension 1m?
Hello,
The
mpm_solver.py
code has independent parameters for scalingdt
andE
. Shouldn't there be only a scaling fordt
, and the scaling ofE
be computed just from the change in units? Units ofE
arekg/(m*s^2)
, so if time units aret=s*scale
, thenEt = kg/(m*t^2) = (1/scale^2)*E
, andE_scale = (1/scale^2)
. In thedemo_3d_letters2.py
, for example,dt_scale=0.5
, butE_scale=8
instead ofE_scale=(1/0.5^2)=4
.By the way, units are supposed to be MKS everywhere, yes? So density
rho
is 1000 kg/m^3, like water, and g=9.8 m/s^2 (which should be scaled ifdt_scale!=1
?). And the defaultsize=1
means the simulation box has dimension 1m?Thank you!