OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i2vit3.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i2vit3n (nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass)
subroutine i2vit3 (nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass)
subroutine i2rot3 (nsn, nmn, ar, irect, crst, msr, nsv, irtl, vr, in, a, v, x)
subroutine i2virot3 (nsn, nmn, a, irect, dpara, msr, nsv, irtl, v, ms, ar, vr, x, weight)
subroutine i2rot3_27 (nsn, nmn, ar, irect, crst, msr, nsv, irtl, vr, in, a, v, x, siner, dpara, msegtyp2)
subroutine i2vit3_27 (nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass)

Function/Subroutine Documentation

◆ i2rot3()

subroutine i2rot3 ( integer nsn,
integer nmn,
ar,
integer, dimension(4,*) irect,
crst,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
vr,
in,
a,
v,
x )

Definition at line 209 of file i2vit3.F.

211C-----------------------------------------------
212C I m p l i c i t T y p e s
213C-----------------------------------------------
214#include "implicit_f.inc"
215C-----------------------------------------------
216C C o m m o n B l o c k s
217C-----------------------------------------------
218#include "com01_c.inc"
219C-----------------------------------------------
220C D u m m y A r g u m e n t s
221C-----------------------------------------------
222 INTEGER NSN, NMN,
223 . IRECT(4,*), MSR(*), NSV(*), IRTL(*)
224C REAL
225 my_real
226 . ar(3,*), crst(2,*), vr(3,*),
227 . in(*), a(3,*), v(3,*), x(3,*)
228C-----------------------------------------------
229C L o c a l V a r i a b l e s
230C-----------------------------------------------
231 INTEGER I, J, II, L, JJ,
232 . NIR
233 my_real
234 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,
235 .
236 . xc0,yc0,zc0,sp,sm,tp,tm,
237 . vmxx,vmyy,vmzz
238C-----------------------------------------------
239C
240 nir=2
241 IF(n2d==0)nir=4
242C
243 DO 70 ii=1,nsn
244 i=nsv(ii)
245 IF(i>0)THEN
246 l=irtl(ii)
247C
248 ss=crst(1,ii)
249 tt=crst(2,ii)
250 sp=one + ss
251 sm=one - ss
252 tp=fourth*(one + tt)
253 tm=fourth*(one - tt)
254 h(1)=tm*sm
255 h(2)=tm*sp
256 h(3)=tp*sp
257 h(4)=tp*sm
258C
259 xc0 = x(1,i)
260 yc0 = x(2,i)
261 zc0 = x(3,i)
262C
263 amx=zero
264 amy=zero
265 amz=zero
266 vmx=zero
267 vmy=zero
268 vmz=zero
269C
270 DO jj=1,nir
271C J=MSR(IRECT(JJ,L))
272 j=irect(jj,l)
273 amx=amx+ar(1,j)*h(jj)
274 amy=amy+ar(2,j)*h(jj)
275 amz=amz+ar(3,j)*h(jj)
276 vmx=vmx+vr(1,j)*h(jj)
277 vmy=vmy+vr(2,j)*h(jj)
278 vmz=vmz+vr(3,j)*h(jj)
279 xc0=xc0 - x(1,j) * h(jj)
280 yc0=yc0 - x(2,j) * h(jj)
281 zc0=zc0 - x(3,j) * h(jj)
282 ENDDO
283C
284 ar(1,i)=amx
285 ar(2,i)=amy
286 ar(3,i)=amz
287 vr(1,i)=vmx
288 vr(2,i)=vmy
289 vr(3,i)=vmz
290C
291 vmxx = vmy*zc0 - vmz*yc0
292 vmyy = vmz*xc0 - vmx*zc0
293 vmzz = vmx*yc0 - vmy*xc0
294C
295 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy*vmzz-vmz*vmyy)
296 a(2,i)= a(2,i) + amz*xc0 -amx*zc0 +half*(vmz*vmxx-vmx*vmzz)
297 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
298 v(1,i)= v(1,i) + vmxx
299 v(2,i)= v(2,i) + vmyy
300 v(3,i)= v(3,i) + vmzz
301C
302 ENDIF
303C
304 70 CONTINUE
305 RETURN
#define my_real
Definition cppsort.cpp:32

◆ i2rot3_27()

subroutine i2rot3_27 ( integer nsn,
integer nmn,
ar,
integer, dimension(4,*) irect,
crst,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
vr,
in,
a,
v,
x,
siner,
dpara,
integer, dimension(*) msegtyp2 )

Definition at line 521 of file i2vit3.F.

524C-----------------------------------------------
525C I m p l i c i t T y p e s
526C-----------------------------------------------
527#include "implicit_f.inc"
528C-----------------------------------------------
529C D u m m y A r g u m e n t s
530C-----------------------------------------------
531 INTEGER NSN, NMN,
532 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),MSEGTYP2(*)
533C REAL
534 my_real
535 . ar(3,*), crst(2,*), vr(3,*),
536 . in(*), a(3,*), v(3,*), x(3,*), siner(*),dpara(7,*)
537C-----------------------------------------------
538C C o m m o n B l o c k s
539C-----------------------------------------------
540#include "com01_c.inc"
541C-----------------------------------------------
542C L o c a l V a r i a b l e s
543C-----------------------------------------------
544 INTEGER I, J, J3, J2, J1, II, L, JJ,
545 . J4
546 my_real
547 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,
548 . x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,z0,z1,z2,z3,z4,
549 . xc0,yc0,zc0,sp,sm,tp,tm,
550 . mgx,mgy,mgz,mrx,mry,mrz,vmxx,vmyy,vmzz,
551 . det,c1,c2,c3,b1,b2,b3
552C
553C-----------------------------------------------
554C
555C
556 DO 70 ii=1,nsn
557 i=nsv(ii)
558C
559 IF(i>0)THEN
560 l=irtl(ii)
561C
562 ss=crst(1,ii)
563 tt=crst(2,ii)
564
565 IF (irect(3,l) == irect(4,l)) THEN
566C-- Shape functions of triangles
567 h(1) = ss
568 h(2) = tt
569 h(3) = one-ss-tt
570 h(4) = zero
571 ELSE
572C-- Shape functions of quadrangles
573 sp = one + ss
574 sm = one - ss
575 tp = fourth*(one + tt)
576 tm = fourth*(one - tt)
577C
578 h(1)=tm*sm
579 h(2)=tm*sp
580 h(3)=tp*sp
581 h(4)=tp*sm
582 ENDIF
583C
584 xc0 = x(1,i)
585 yc0 = x(2,i)
586 zc0 = x(3,i)
587C
588 DO jj=1,4
589 j=irect(jj,l)
590 xc0=xc0 - x(1,j) * h(jj)
591 yc0=yc0 - x(2,j) * h(jj)
592 zc0=zc0 - x(3,j) * h(jj)
593 ENDDO
594C
595 j1=irect(1,l)
596 j2=irect(2,l)
597 j3=irect(3,l)
598 j4=irect(4,l)
599C
600 IF (msegtyp2(l)==0) THEN
601C
602C--------------------------------------------C
603C--- solid / solid connection ---------------C
604C--------------------------------------------C
605C
606 x1=x(1,j1)
607 y1=x(2,j1)
608 z1=x(3,j1)
609 x2=x(1,j2)
610 y2=x(2,j2)
611 z2=x(3,j2)
612 x3=x(1,j3)
613 y3=x(2,j3)
614 z3=x(3,j3)
615 x4=x(1,j4)
616 y4=x(2,j4)
617 z4=x(3,j4)
618C
619 IF (j3 == j4) THEN
620 x0=third*(x1+x2+x3)
621 y0=third*(y1+y2+y3)
622 z0=third*(z1+z2+z3)
623 ELSE
624 x0=fourth*(x1+x2+x3+x4)
625 y0=fourth*(y1+y2+y3+y4)
626 z0=fourth*(z1+z2+z3+z4)
627 ENDIF
628C
629 x1=x1-x0
630 y1=y1-y0
631 z1=z1-z0
632 x2=x2-x0
633 y2=y2-y0
634 z2=z2-z0
635 x3=x3-x0
636 y3=y3-y0
637 z3=z3-z0
638 x4=x4-x0
639 y4=y4-y0
640 z4=z4-z0
641C
642 IF (j3 == j4) THEN
643 x4 = zero
644 y4 = zero
645 z4 = zero
646 ENDIF
647C
648 det=dpara(1,ii)
649 b1=dpara(2,ii)
650 b2=dpara(3,ii)
651 b3=dpara(4,ii)
652 c1=dpara(5,ii)
653 c2=dpara(6,ii)
654 c3=dpara(7,ii)
655C
656 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
657 . - z1*v(2,j1) - z2*v(2,j2) - z3*v(2,j3) - z4*v(2,j4)
658 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
659 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v(3,j4)
660 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
661 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
662C
663 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
664 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
665 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
666 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
667 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
668 . - y1*a(1,j1) - y2*a(1,j2) - y3*a(1,j3) - y4*a(1,j4)
669C
670 vmx=det*(mgx*b1+mgy*c3+mgz*c2)
671 vmy=det*(mgy*b2+mgz*c1+mgx*c3)
672 vmz=det*(mgz*b3+mgx*c2+mgy*c1)
673 amx=det*(mrx*b1+mry*c3+mrz*c2)
674 amy=det*(mry*b2+mrz*c1+mrx*c3)
675 amz=det*(mrz*b3+mrx*c2+mry*c1)
676C
677 ELSE
678C--------------------------------------------------C
679C--- shell / shell - shell / solide --------------C
680C--------------------------------------------------C
681C
682 amx=zero
683 amy=zero
684 amz=zero
685 vmx=zero
686 vmy=zero
687 vmz=zero
688C
689 DO jj=1,4
690 j=irect(jj,l)
691 amx=amx+ar(1,j)*h(jj)
692 amy=amy+ar(2,j)*h(jj)
693 amz=amz+ar(3,j)*h(jj)
694 vmx=vmx+vr(1,j)*h(jj)
695 vmy=vmy+vr(2,j)*h(jj)
696 vmz=vmz+vr(3,j)*h(jj)
697 ENDDO
698C
699 ENDIF
700C
701 IF (iroddl==1) THEN
702 ar(1,i)=amx
703 ar(2,i)=amy
704 ar(3,i)=amz
705 vr(1,i)=vmx
706 vr(2,i)=vmy
707 vr(3,i)=vmz
708 ENDIF
709C
710 vmxx = vmy*zc0 - vmz*yc0
711 vmyy = vmz*xc0 - vmx*zc0
712 vmzz = vmx*yc0 - vmy*xc0
713C
714 a(1,i)= a(1,i) + amy*zc0 -amz*yc0 +half*(vmy*vmzz-vmz*vmyy)
715 a(2,i)= a(2,i) + amz*xc0 -amx*zc0 +half*(vmz*vmxx-vmx*vmzz)
716 a(3,i)= a(3,i) + amx*yc0 -amy*xc0 +half*(vmx*vmyy-vmy*vmxx)
717 v(1,i)= v(1,i) + vmxx
718 v(2,i)= v(2,i) + vmyy
719 v(3,i)= v(3,i) + vmzz
720C
721 ENDIF
722C
723 70 CONTINUE
724 RETURN

◆ i2virot3()

subroutine i2virot3 ( integer nsn,
integer nmn,
a,
integer, dimension(4,*) irect,
dpara,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
v,
ms,
ar,
vr,
x,
integer, dimension(*) weight )

Definition at line 314 of file i2vit3.F.

317C-----------------------------------------------
318C I m p l i c i t T y p e s
319C-----------------------------------------------
320#include "implicit_f.inc"
321C-----------------------------------------------
322C D u m m y A r g u m e n t s
323C-----------------------------------------------
324 INTEGER NSN, NMN,
325 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
326C REAL
327 my_real
328 . a(3,*), dpara(7,*), v(3,*),
329 . ms(*),vr(3,*),ar(3,*),x(3,*)
330C-----------------------------------------------
331C C o m m o n B l o c k s
332C-----------------------------------------------
333#include "com01_c.inc"
334C-----------------------------------------------
335C L o c a l V a r i a b l e s
336C-----------------------------------------------
337 INTEGER NIR, I, J1, J2, J3, J4, II, L
338C REAL
339 my_real
340 . amx, amy, amz, vmx, vmy, vmz,
341 . mrx,mry,mrz,mgx,mgy,mgz,det,arx,ary,arz,
342 . x0,x1,x2,x3,x4,xs,y0,y1,y2,y3,y4,ys,z0,z1,z2,z3,z4,zs,
343 . zzxyz222,
344 . vrx,vry,vrz,b1,b2,b3,c1,c2,c3
345C-----------------------------------------------
346 nir=2
347 IF(n2d==0)nir=4
348CFP (RESET MASSE MAIN)
349C DO II=1,NSN
350C I=NSV(II)
351C L=IRTL(II)
352C SS=CRST(1,II)
353C TT=CRST(2,II)
354C SP=1.0+SS
355C SM=1.0-SS
356C TP=.25*(1.0+TT)
357C TM=.25*(1.0-TT)
358C H(1)=TM*SM
359C H(2)=TM*SP
360C H(3)=TP*SP
361C H(4)=TP*SM
362C I1=3*I-2
363C XMSI=MS(I)*WEIGHT(I)
364C DO JJ=1,NIR
365C J=IRECT(JJ,L)
366C MS(J)=MS(J)-XMSI*H(JJ)
367C ENDDO
368C ENDDO
369C------------------------------------
370C velocities of secondary nodes
371C------------------------------------
372 DO ii=1,nsn
373 i=nsv(ii)
374 IF(i>0)THEN
375 l=irtl(ii)
376C J1=MSR(IRECT(1,L))
377C J2=MSR(IRECT(2,L))
378C J3=MSR(IRECT(3,L))
379C J4=MSR(IRECT(4,L))
380 j1=irect(1,l)
381 j2=irect(2,l)
382 j3=irect(3,l)
383 j4=irect(4,l)
384C----------------------------------------
385C VELOCITY MOYENNE DU SEGMENT MAIN
386C----------------------------------------
387 vmx=fourth*(v(1,j1)+v(1,j2)+v(1,j3)+v(1,j4))
388 vmy=fourth*(v(2,j1)+v(2,j2)+v(2,j3)+v(2,j4))
389 vmz=fourth*(v(3,j1)+v(3,j2)+v(3,j3)+v(3,j4))
390 amx=fourth*(a(1,j1)+a(1,j2)+a(1,j3)+a(1,j4))
391 amy=fourth*(a(2,j1)+a(2,j2)+a(2,j3)+a(2,j4))
392 amz=fourth*(a(3,j1)+a(3,j2)+a(3,j3)+a(3,j4))
393C----------------------------------------------------
394C average rotation velocity of the main segment
395C----------------------------------------------------
396 x1=x(1,j1)
397 y1=x(2,j1)
398 z1=x(3,j1)
399 x2=x(1,j2)
400 y2=x(2,j2)
401 z2=x(3,j2)
402 x3=x(1,j3)
403 y3=x(2,j3)
404 z3=x(3,j3)
405 x4=x(1,j4)
406 y4=x(2,j4)
407 z4=x(3,j4)
408 x0=fourth*(x1+x2+x3+x4)
409 y0=fourth*(y1+y2+y3+y4)
410 z0=fourth*(z1+z2+z3+z4)
411 x1=x1-x0
412 y1=y1-y0
413 z1=z1-z0
414 x2=x2-x0
415 y2=y2-y0
416 z2=z2-z0
417 x3=x3-x0
418 y3=y3-y0
419 z3=z3-z0
420 x4=x4-x0
421 y4=y4-y0
422 z4=z4-z0
423 xs=x(1,i)-x0
424 ys=x(2,i)-y0
425 zs=x(3,i)-z0
426C
427C X12=X1*X1
428C X22=X2*X2
429C X32=X3*X3
430C X42=X4*X4
431C Y12=Y1*Y1
432C Y22=Y2*Y2
433C Y32=Y3*Y3
434C Y42=Y4*Y4
435C Z12=Z1*Z1
436C Z22=Z2*Z2
437C Z32=Z3*Z3
438C Z42=Z4*Z4
439C XX=X12 + X22 + X32 + X42
440C YY=Y12 + Y22 + Y32 + Y42
441C ZZ=Z12 + Z22 + Z32 + Z42
442C XY=X1*Y1 + X2*Y2 + X3*Y3 + X4*Y4
443C YZ=Y1*Z1 + Y2*Z2 + Y3*Z3 + Y4*Z4
444C ZX=Z1*X1 + Z2*X2 + Z3*X3 + Z4*X4
445C ZZZ=XX+YY
446C XXX=YY+ZZ
447C YYY=ZZ+XX
448C XY2=XY*XY
449C YZ2=YZ*YZ
450C ZX2=ZX*ZX
451C DET= XXX*YYY*ZZZ - XXX*YZ2 - YYY*ZX2 - ZZZ*XY2 - 2.*XY*YZ*ZX
452C DET=1./DET
453C B1=ZZZ*YYY-YZ2
454C B2=XXX*ZZZ-ZX2
455C B3=YYY*XXX-XY2
456C C3=ZZZ*XY+YZ*ZX
457C C1=XXX*YZ+ZX*XY
458C C2=YYY*ZX+XY*YZ
459C
460C
461 det= dpara(1,ii)
462 b1=dpara(2,ii)
463 b2=dpara(3,ii)
464 b3=dpara(4,ii)
465 c1=dpara(5,ii)
466 c2=dpara(6,ii)
467 c3=dpara(7,ii)
468C
469 mgx = y1*v(3,j1) + y2*v(3,j2) + y3*v(3,j3) + y4*v(3,j4)
470 . - z1*v(2,j1) - z2*v(2,j2) - z3*v(2,j3) - z4*v(2,j4)
471 mgy = z1*v(1,j1) + z2*v(1,j2) + z3*v(1,j3) + z4*v(1,j4)
472 . - x1*v(3,j1) - x2*v(3,j2) - x3*v(3,j3) - x4*v(3,j4)
473 mgz = x1*v(2,j1) + x2*v(2,j2) + x3*v(2,j3) + x4*v(2,j4)
474 . - y1*v(1,j1) - y2*v(1,j2) - y3*v(1,j3) - y4*v(1,j4)
475C
476 mrx = y1*a(3,j1) + y2*a(3,j2) + y3*a(3,j3) + y4*a(3,j4)
477 . - z1*a(2,j1) - z2*a(2,j2) - z3*a(2,j3) - z4*a(2,j4)
478 mry = z1*a(1,j1) + z2*a(1,j2) + z3*a(1,j3) + z4*a(1,j4)
479 . - x1*a(3,j1) - x2*a(3,j2) - x3*a(3,j3) - x4*a(3,j4)
480 mrz = x1*a(2,j1) + x2*a(2,j2) + x3*a(2,j3) + x4*a(2,j4)
481 . - y1*a(1,j1) - y2*a(1,j2) - y3*a(1,j3) - y4*a(1,j4)
482C
483
484 vrx=det*(mgx*b1+mgy*c3+mgz*c2)
485 vry=det*(mgy*b2+mgz*c1+mgx*c3)
486 vrz=det*(mgz*b3+mgx*c2+mgy*c1)
487 arx=det*(mrx*b1+mry*c3+mrz*c2)
488 ary=det*(mry*b2+mrz*c1+mrx*c3)
489 arz=det*(mrz*b3+mrx*c2+mry*c1)
490C
491C----------------------------------------------------
492C rotation velocity of the secondary node
493C----------------------------------------------------
494 IF (iroddl == 1) THEN
495 vr(1,i)=vrx
496 vr(2,i)=vry
497 vr(3,i)=vrz
498 ar(1,i)=arx
499 ar(2,i)=ary
500 ar(3,i)=arz
501 ENDIF
502C----------------------------------------------------
503C velocity of the secondary node
504C----------------------------------------------------
505 v(1,i)=vmx + vry*zs - vrz*ys
506 v(2,i)=vmy + vrz*xs - vrx*zs
507 v(3,i)=vmz + vrx*ys - vry*xs
508 a(1,i)=amx + ary*zs - arz*ys
509 a(2,i)=amy + arz*xs - arx*zs
510 a(3,i)=amz + arx*ys - ary*xs
511 ENDIF
512 ENDDO
513C
514 RETURN

◆ i2vit3()

subroutine i2vit3 ( integer nsn,
integer nmn,
a,
integer, dimension(4,*) irect,
crst,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
v,
ms,
integer, dimension(*) weight,
mmass )

Definition at line 114 of file i2vit3.F.

118C-----------------------------------------------
119C I m p l i c i t T y p e s
120C-----------------------------------------------
121#include "implicit_f.inc"
122C-----------------------------------------------
123C D u m m y A r g u m e n t s
124C-----------------------------------------------
125 INTEGER NSN, NMN,
126 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
127C REAL
128 my_real
129 . a(*), crst(2,*), v(*),ms(*), mmass(*)
130C-----------------------------------------------
131C C o m m o n B l o c k s
132C-----------------------------------------------
133#include "com01_c.inc"
134C-----------------------------------------------
135C L o c a l V a r i a b l e s
136C-----------------------------------------------
137 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, II, L, JJ
138C REAL
139 my_real
140 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
141C-----------------------------------------------
142 nir=2
143 IF(n2d==0)nir=4
144C
145 DO 70 ii=1,nsn
146 i=nsv(ii)
147 IF(i>0)THEN
148 l=irtl(ii)
149C
150 ss=crst(1,ii)
151 tt=crst(2,ii)
152 sp=one + ss
153 sm=one - ss
154 tp=fourth*(one + tt)
155 tm=fourth*(one - tt)
156 h(1)=tm*sm
157 h(2)=tm*sp
158 h(3)=tp*sp
159 h(4)=tp*sm
160 i3=3*i
161 i2=i3-1
162 i1=i2-1
163 amx=zero
164 amy=zero
165 amz=zero
166 vmx=zero
167 vmy=zero
168 vmz=zero
169C XMSI=MS(I)*WEIGHT(I)
170C
171 DO jj=1,nir
172C J3=3*MSR(IRECT(JJ,L))
173 j=irect(jj,l)
174 j3=3*j
175 j2=j3-1
176 j1=j2-1
177 amx=amx+a(j1)*h(jj)
178 amy=amy+a(j2)*h(jj)
179 amz=amz+a(j3)*h(jj)
180 vmx=vmx+v(j1)*h(jj)
181 vmy=vmy+v(j2)*h(jj)
182 vmz=vmz+v(j3)*h(jj)
183CFP (RESET MASSE MAIN)
184C MS(J)=MS(J)-XMSI*H(JJ)
185 ENDDO
186 a(i1)=amx
187 a(i2)=amy
188 a(i3)=amz
189 v(i1)=vmx
190 v(i2)=vmy
191 v(i3)=vmz
192 ENDIF
193C
194 70 CONTINUE
195C
196C initial mass restitution on main nodes
197 DO ii=1,nmn
198 j=msr(ii)
199 ms(j)=mmass(ii)
200 ENDDO
201C
202 RETURN

◆ i2vit3_27()

subroutine i2vit3_27 ( integer nsn,
integer nmn,
a,
integer, dimension(4,*) irect,
crst,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
v,
ms,
integer, dimension(*) weight,
mmass )

Definition at line 731 of file i2vit3.F.

735C-----------------------------------------------
736C I m p l i c i t T y p e s
737C-----------------------------------------------
738#include "implicit_f.inc"
739C-----------------------------------------------
740C D u m m y A r g u m e n t s
741C-----------------------------------------------
742 INTEGER NSN, NMN,
743 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
744C REAL
745 my_real
746 . a(*), crst(2,*), v(*),ms(*), mmass(*)
747C-----------------------------------------------
748C C o m m o n B l o c k s
749C-----------------------------------------------
750#include "com01_c.inc"
751C-----------------------------------------------
752C L o c a l V a r i a b l e s
753C-----------------------------------------------
754 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, II, L, JJ
755C REAL
756 my_real
757 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
758C-----------------------------------------------
759 nir=2
760 IF(n2d==0)nir=4
761C
762 DO ii=1,nsn
763 i=nsv(ii)
764 IF(i>0)THEN
765 l=irtl(ii)
766C
767 ss=crst(1,ii)
768 tt=crst(2,ii)
769
770 IF (irect(3,l) == irect(4,l)) THEN
771C-- Shape functions of triangles
772 h(1) = ss
773 h(2) = tt
774 h(3) = one-ss-tt
775 h(4) = zero
776 ELSE
777C-- Shape functions of quadrangles
778 sp = one + ss
779 sm = one - ss
780 tp = fourth*(one + tt)
781 tm = fourth*(one - tt)
782C
783 h(1)=tm*sm
784 h(2)=tm*sp
785 h(3)=tp*sp
786 h(4)=tp*sm
787 ENDIF
788C
789 i3=3*i
790 i2=i3-1
791 i1=i2-1
792 amx=zero
793 amy=zero
794 amz=zero
795 vmx=zero
796 vmy=zero
797 vmz=zero
798C
799 DO jj=1,nir
800 j=irect(jj,l)
801 j3=3*j
802 j2=j3-1
803 j1=j2-1
804 amx=amx+a(j1)*h(jj)
805 amy=amy+a(j2)*h(jj)
806 amz=amz+a(j3)*h(jj)
807 vmx=vmx+v(j1)*h(jj)
808 vmy=vmy+v(j2)*h(jj)
809 vmz=vmz+v(j3)*h(jj)
810 ENDDO
811 a(i1)=amx
812 a(i2)=amy
813 a(i3)=amz
814 v(i1)=vmx
815 v(i2)=vmy
816 v(i3)=vmz
817 ENDIF
818C
819 ENDDO
820C-----------
821 RETURN

◆ i2vit3n()

subroutine i2vit3n ( integer nsn,
integer nmn,
a,
integer, dimension(4,*) irect,
crst,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
v,
ms,
integer, dimension(*) weight,
mmass )

Definition at line 28 of file i2vit3.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C D u m m y A r g u m e n t s
38C-----------------------------------------------
39 INTEGER NSN, NMN,
40 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
41C REAL
43 . a(*), crst(2,*), v(*),ms(*), mmass(*)
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47#include "com01_c.inc"
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER NIR, I, J, I3, J3, I2, J2, I1, J1, II, L, JJ
52C REAL
54 . h(4), ss, tt, amx, amy, amz, vmx, vmy, vmz,sp,sm,tp,tm
55C-----------------------------------------------
56 nir=2
57 IF(n2d==0)nir=4
58C
59 DO ii=1,nsn
60 i=nsv(ii)
61 IF(i>0)THEN
62 l=irtl(ii)
63C
64 ss=crst(1,ii)
65 tt=crst(2,ii)
66 sp=one + ss
67 sm=one - ss
68 tp=fourth*(one + tt)
69 tm=fourth*(one - tt)
70 h(1)=tm*sm
71 h(2)=tm*sp
72 h(3)=tp*sp
73 h(4)=tp*sm
74 i3=3*i
75 i2=i3-1
76 i1=i2-1
77 amx=zero
78 amy=zero
79 amz=zero
80 vmx=zero
81 vmy=zero
82 vmz=zero
83C
84 DO jj=1,nir
85 j=irect(jj,l)
86 j3=3*j
87 j2=j3-1
88 j1=j2-1
89 amx=amx+a(j1)*h(jj)
90 amy=amy+a(j2)*h(jj)
91 amz=amz+a(j3)*h(jj)
92 vmx=vmx+v(j1)*h(jj)
93 vmy=vmy+v(j2)*h(jj)
94 vmz=vmz+v(j3)*h(jj)
95 ENDDO
96 a(i1)=amx
97 a(i2)=amy
98 a(i3)=amz
99 v(i1)=vmx
100 v(i2)=vmy
101 v(i3)=vmz
102 ENDIF
103C
104 ENDDO
105C-----------
106 RETURN