yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #10441
Re: [Question #257061]: Bug in UniaxialStrainer ?
Question #257061 on Yade changed:
https://answers.launchpad.net/yade/+question/257061
Description changed to:
Hi people !
I encountered problem that was solved by modifying this part [1].
Problem :
box shaped specimen, UniaxialStrainer axis is vertical (axis =2), forces are applied on lateral surfaces (axis 0 and axis 1)
upper spheres (posIds) and lower spheres (negIds) should move along axis 2 only, but they move along axis 0 and axis 1 also, making the crossSection smaller than it should be which creates an additional shear force that will inevitably break the links between those spheres and the specimen.
Fix :
replace :
b->state->vel[axis]=pNormalized*(v1-v0)+v0;
by :
switch(axis){
case 0: {
b->state->vel[0]=pNormalized*(v1-v0)+v0;
b->state->vel[1]=0;
b->state->vel[2]=0;
break;
}
case 1: {
b->state->vel[0]=0;
b->state->vel[1]=pNormalized*(v1-v0)+v0;
b->state->vel[2]=0;
break;
}
case 2: {
b->state->vel[0]=0;
b->state->vel[1]=0;
b->state->vel[2]=pNormalized*(v1-v0)+v0;
break;
}
default: throw std::invalid_argument(("UniaxialStrainer: unknown axis value "+boost::lexical_cast<string>(axis)+" (should be 0,1,2)").c_str());
Am I the only one facing this problem ?
Cheers,
Hicham
[1] :
https://github.com/yade/trunk/blob/master/pkg/dem/UniaxialStrainer.cpp#L77
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.