OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c_eig.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "eigcom.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine c_eig (eigipm, eigibuf, eigrpm, nodlocal, eigipm_l, eigibuf_l, leibuf_l)

Function/Subroutine Documentation

◆ c_eig()

subroutine c_eig ( integer, dimension(neipm,*) eigipm,
integer, dimension(*) eigibuf,
eigrpm,
integer, dimension(*) nodlocal,
integer, dimension(neipm,*) eigipm_l,
integer, dimension(*) eigibuf_l,
integer leibuf_l )

Definition at line 28 of file c_eig.F.

30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C C o m m o n B l o c k s
36C-----------------------------------------------
37#include "com04_c.inc"
38#include "eigcom.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER EIGIPM(NEIPM,*), EIGIBUF(*), NODLOCAL(*),
43 . EIGIPM_L(NEIPM,*),EIGIBUF_L(*), LEIBUF_L
45 . eigrpm(nerpm,*)
46C-----------------------------------------------
47C L o c a l V a r i a b l e s
48C-----------------------------------------------
49 INTEGER IADB, IADB_L, IEIG, I, NN1, NN2, NN1_L, NN2_L, II
50C
51 iadb=0
52 iadb_l=0
53 DO ieig=1,neig
54 DO i=1,neipm
55 eigipm_l(i,ieig)=eigipm(i,ieig)
56 ENDDO
57 nn1=eigipm(10,ieig)
58 nn2=eigipm(11,ieig)
59 nn1_l=0
60 nn2_l=0
61 DO i=1,nn1
62 ii=nodlocal(eigibuf(iadb+i))
63 IF (ii/=0) THEN
64 nn1_l=nn1_l+1
65 eigibuf_l(iadb_l+nn1_l)=ii
66 ENDIF
67 ENDDO
68 DO i=1,nn2
69 ii=nodlocal(eigibuf(iadb+nn1+i))
70 IF (ii/=0) THEN
71 nn2_l=nn2_l+1
72 eigibuf_l(iadb_l+nn1_l+nn2_l)=ii
73 ENDIF
74 ENDDO
75 eigipm_l(10,ieig)=nn1_l
76 eigipm_l(11,ieig)=nn2_l
77 iadb=iadb+nn1+nn2
78 iadb_l=iadb_l+nn1_l+nn2_l
79 ENDDO
80 leibuf_l=iadb_l
81C
82 RETURN
#define my_real
Definition cppsort.cpp:32