Download Cast_test_RelaPout.dgibi
**********************************************************************
*
* Tranfert of load for beam elements - load known for a solid model
*
*
* D. COMBESCURE
*
* F4E - 6th January 2014
********************************************************************
OPTI DIME 3 ELEM CUB8;
*
* Modele 1: Forces calculated with another software/here created manually
*
FLAGVISU = FAUX;
*
L1 = 0.1;
L2 = 0.25;
L3 = 3.;
*
fac1 = 1;
n1 = 2*fac1;
n2 = 3*fac1;
n3 = 10*fac1;
*
p0 = (-0.5*L1) (-0.5*L2) 0.;
p1 = (0.5*L1) (-0.5*L2) 0.;
vy = 0. L2 0.;
vz = 0. 0. L3;
p0c = 0. 0. 0.;
p1c = 0. L2 0.;
p0top = p0 plus (vz);
p1top = p1 plus (vz);
*
Lig0 = D n1 p0 p1;
Sur0 = Lig0 tran n2 vy;
Vol0 = Sur0 volu n3 tran vz;
elim 0.001 (vol0 et p0top et p1top et sur0);
*
Mod0 = mode vol0 mecanique elastique CUB8;
Emat0 = 200.D9;
Nmat0 = 0.3;
romat0 = 7800.;
mat0 = matr mod0 youn Emat0 NU Nmat0 RHO romat0;
*
rig0 = rigi Mod0 mat0;
blvol0 = bloq sur0 depl;
mas0 = mass mod0 mat0;
lum0 = lump Mod0 Mat0;
*
* Loads
*
* Uniform acceleration
*for0 = mas0*accuni;
*
* Triangular acceleration
*for0 = mas0 * acc0;
*
* Lumped force
for0 = FORC FX 1. p0top;
*
SI FLAGVISU;
TRAC VOL0 (VECTEUR for0 FX FY FZ) cach;
FINSI;
*
*
* Modele 2 - Mechanical model - Beam model
*
*
n1b = 3*fac1;
n2b = 4*fac1;
n3b = 15*fac1;
ep1 = 0.00001;
ep0 = (-1.)*ep1;
ep2 = ep1;
ep3 = ep1;
*
p0c = 0. 0. 0.;
vz = 0. 0. L3;
p1c = p0c plus vz;
*
opti elem seg2;
Vol1 = D n3b p0c p1c;
*
*
p0S = (-0.5*L1) (-0.5*L2) 0.;
p1S = (0.5*L1) (-0.5*L2) 0.;
opti elem qua4;
ns1 = 1;
ns2 = 1;
LigS1 = D ns1 p0S p1S;
SurS1 = LigS1 tran ns2 vy;
*
modS1 = mode SurS1 MECANIQUE ELASTIQUE QUAS;
Emat1 = 200.D9;
Nmat1 = 0.3;
romat1 = 7800.;
matS1 = matr modS1 youn Emat1 NU Nmat1 RHO romat1
ALPY 1. ALPZ 1.;
*
*
Mod1 = mode Vol1 mecanique elastique SECTION timo;
mat1 = mate mod1 MODS modS1 MATS mats1 VECT (1. 0. 0.);
*
rig1 = rigi Mod1 mat1;
mas1 = mass Mod1 Mat1;
*
bl0 = bloq depl vol1;
bl00 = bloq depl rota p0c;
*
rigmod = rig1 et bl00;
*
* Creation of the solid mesh and the constraints
* linking the beam and the solid meshes
*
tab11 = table;
tab11.'RELATION_3D' = VRAI;
vol1_3D = pout2mas mod1 mat1 tab11;
blpout = tab11.'RELATION_3D';
*
SI FLAGVISU;
oeil = 2. 2. 4.;
trac oeil vol1_3D cach;
FINSI;
*
*
Mod1b = mode VOL1_3D mecanique elastique ;
Emat1 = 200.D9;
Nmat1 = 0.3;
romat1 = 7800.;
mat1b = matr mod1b youn Emat1 NU Nmat1 RHO romat1;
rig1b = rigi Mod1b mat1b;
*
* Displacement field to be transfered from vol1 to vol0
*
* Transfert through the Lagrangian multiplier
*
frdep0 = for0;
*
* Relation maitre-esclave
*
* Vol0 suit Vol1
rel1 = rela vol0 'ACCRO' vol1_3D;
rigtot1 = rig1 et bl00 et rel1 et blpout;
depj1 = reso rigtot1 frdep0;
*
* Calcul des forces nodales a partir des deplacements sur le modele 1
*
frdep1 = (rig1 et bl00) * depj1;
*
SI FLAGVISU;
oeil = 2. 2. 4.;
trac (defo vol1_3D depj1);
TITRE 'Transfer through Lagrangian muliplier';
trac vol1 (vecteur frdep1 FX FY FZ) cach;
FINSI;
*
* Test
*
res0 = maxi (resu frdep0);
res1 = maxi (resu frdep1);
*
ERR = (res0 - res1)/res0;
* *
'SI' (ERR '>' 1.E-6) ; 'ERRE' 5; 'FINS' ;
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer