← Back to team overview

yade-users team mailing list archive

[Question #257061]: Bug in UniaxialStrainer ?

 

New question #257061 on Yade:
https://answers.launchpad.net/yade/+question/257061

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

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.