OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
eig.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23#ifndef DNC
24!||====================================================================
25!|| eig ../engine/stub/eig.f
26!||--- calls -----------------------------------------------------
27!|| arret ../engine/source/system/arret.F
28!||--- uses -----------------------------------------------------
29!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
30!|| cluster_mod ../engine/share/modules/cluster_mod.f
31!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.F
32!|| drape_mod ../engine/share/modules/drape_mod.F
33!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
34!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
35!|| groupdef_mod ../common_source/modules/groupdef_mod.F
36!|| h3d_mod ../engine/share/modules/h3d_mod.F
37!|| inoutfile_mod ../common_source/modules/inoutfile_mod.F
38!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
39!|| matparam_def_mod ../common_source/modules/mat_elem/matparam_def_mod.F90
40!|| message_mod ../engine/share/message_module/message_mod.F
41!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
42!|| stack_mod ../engine/share/modules/stack_mod.F
43!||====================================================================
44 SUBROUTINE eig(K_DIAG , K_LT , IADK , JDIK , MS ,
45 2 IN , NDDL , NDOF , NNZL , X ,
46 3 D , V , A , BUFEL , IXS ,
47 4 IXQ , IXC , IXT , IXP , IXR ,
48 5 IXTG , PM , GEO , CONT , ICUT ,
49 6 SKEW , XCUT , FINT , ITAB , FEXT ,
50 7 FOPT , ANIN , LPBY , NPBY , NSTRF ,
51 8 RWBUF , NPRW , TANI , ELBUF_TAB ,MATPARAM_TAB,
52 9 DD_IAD , FR_IAD , DD_FRONT , CLUSTER ,
53 A WEIGHT , EANI , IPART ,
54 B RBY , NOM_OPT , IGRSURF , BUFSF , IDATA ,
55 C RDATA , BUFMAT , BUFGEO , KXX , IXX ,
56 D KXSP , IXSP , NOD2SP , SPBUF , IXS10 ,
57 E IXS20 , IXS16 , VR , MONVOL , VOLMON ,
58 F IPM , IGEO , IPARG , EIGIPM ,
59 G EIGIBUF , EIGRPM , LDIAG , LJDIK , LJDIK2 ,
60 H IKC , MAXNCV , THKE , NMS , NINT2 ,
61 I IINT2 , IPARI , INTBUF_TAB , NODGLOB ,
62 J IAD_ELEM , FR_ELEM , FR_SEC , FR_RBY2 , IAD_RBY2 ,
63 K FR_WALL , INLOC , IDDL , PARTSAV , FNCONT ,
64 L FTCONT , TEMP , ERR_THK_SH4 , ERR_THK_SH3 ,
65 M IRBE2 , IRBE3 , LRBE2 , LRBE3 , FR_RBE2 ,
66 N FR_RBE3M , IAD_RBE2 , WEIGHT_MD , FCLUSTER , MCLUSTER ,
67 O XFEM_TAB , W , NV46 , NERCVOIS ,
68 P NESDVOIS , LERCVOIS , LESDVOIS ,CRKEDGE ,INDX_CRK ,
69 Q XEDGE4N ,XEDGE3N ,STACK ,SPH2SOL ,STIFN ,
70 R STIFR ,DRAPE_Q4 ,DRAPE_T3 ,H3D_DATA ,SUBSET ,
71 S IGRNOD ,FCONT_MAX ,FNCONTP2 ,FTCONTP2, ALE_CONNECTIVITY,
72 . GLOB_THERM)
73C-----------------------------------------------
74C M o d u l e s
75C-----------------------------------------------
76 USE message_mod
77 USE elbufdef_mod
78 USE cluster_mod
79 USE intbufdef_mod
81 USE stack_mod
82 USE h3d_mod
83 USE groupdef_mod
84 USE multi_fvm_mod
86 USE drape_mod
88 USE matparam_def_mod
89 use glob_therm_mod
90C-----------------------------------------------
91C I m p l i c i t T y p e s
92C-----------------------------------------------
93#include "implicit_f.inc"
94C-----------------------------------------------
95C C o m m o n B l o c k s
96C-----------------------------------------------
97#include "mvsiz_p.inc"
98#include "com01_c.inc"
99#include "com04_c.inc"
100#include "com06_c.inc"
101#include "com08_c.inc"
102#include "com09_c.inc"
103#include "com_xfem1.inc"
104#include "sphcom.inc"
105#include "scr05_c.inc"
106#include "scr14_c.inc"
107#include "scr17_c.inc"
108#include "scr23_c.inc"
109#include "param_c.inc"
110#include "units_c.inc"
111#include "chara_c.inc"
112#include "spmd_c.inc"
113C-----------------------------------------------
114C D u m m y A r g u m e n t s
115C-----------------------------------------------
116 INTEGER IADK(*), JDIK(*), NDDL, NDOF(*),
117 . iparg(nparg,*), ixs(*), ixq(*), ixc(*), ixt(*), ixp(*),
118 . ixs10(6,*) ,ixs16(8,*) ,ixs20(12,*) ,nprw(*),
119 . ipart(*), ixr(*), ixtg(*), itab(*),icut(*),nstrf(*),lpby(*),
120 . npby(nnpby,*),indx_crk(*),
121 . dd_iad(nspmd+1,*),xedge4n(4,*),xedge3n(3,*),
122 . fr_iad(*),dd_front(4,*),weight(*),
123 . idata(*),kxx(nixx,*),ixx(*),kxsp(nisp,*),ixsp(kvoisph,*),
124 . nod2sp(*),ipm(*), igeo(*),monvol(*), eigipm(*), eigibuf(*),
125 . ldiag, ljdik, ljdik2, nnzl, ikc(*), maxncv, nms,
126 . nint2, iint2(*), ipari(npari,*), inloc(*), iddl(*),
127 . nodglob(*), iad_elem(2,*), fr_elem(*), fr_sec(nspmd+1,*),
128 . fr_rby2(3,*), iad_rby2(4,*), fr_wall(*),nom_opt(lnopt1,*),
129 . weight_md(*),nv46,sph2sol(*)
130 INTEGER IRBE2(NRBE2L,*),IRBE3(NRBE3L,*),LRBE2(*),LRBE3(*),
131 . FR_RBE2(3,*),FR_RBE3M(3,*),IAD_RBE2(4,*),
132 . NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),LESDVOIS(*)
133
134 my_real
135 . K_DIAG(*) ,K_LT(*), MS(*), IN(*),FCLUSTER(*),MCLUSTER(*),
136 . PM(NPROPM,*), GEO(*),SKEW(LSKEW,*),VR(3,*),
137 . X(3,*), D(3,*), V(3,*), A(3,*), BUFEL(*),
138 . CONT(3,*),XCUT(*),FINT(*),EANI(*),RBY(NRBY,*),
139 . FEXT(3,*) ,FOPT(6,*),ANIN(*),RWBUF(*),TANI(*),
140 . BUFSF(*),RDATA(*),BUFMAT(*),BUFGEO(*),SPBUF(*),VOLMON(*),
141 . EIGRPM(*), THKE(*), PARTSAV(NPSAV,*), FNCONT(3,*),
142 . FTCONT(3,*),TEMP(*), ERR_THK_SH4(*),ERR_THK_SH3(*),W(*),
143 . STIFN(*),STIFR(*),FCONT_MAX(*),FNCONTP2(3,*),FTCONTP2(3,*)
144 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
145 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
146 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
147 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
148 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
149 TYPE (STACK_PLY) :: STACK
150 TYPE(H3D_DATABASE) :: H3D_DATA
151 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
152 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
153 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
154 TYPE(DRAPE_) :: DRAPE_Q4 ,DRAPE_T3
155 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
156 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MATPARAM_TAB
157 type (glob_therm_) ,intent(inout) :: glob_therm
158
159C-----------------------------------------------
160C L o c a l V a r i a b l e s
161C-----------------------------------------------
162 INTEGER COLPTR(LDIAG+1), NNO, I,NG,ITY,
163 . IDIAG(LDIAG), CORRESP(2,LDIAG), CORRESP_IB(2,NMS),
164 . NEV, NCV, N, MAXN, MAXNEV, LDV, ISHFTS,
165 . MAXITR, MODE, PRSP, INFO, J, II, IM, IAD,
166 . NEL3D, NEL2D, NEL1D, NEL, N1, N2, N3, N4, N5, N6, N7, N8,
167 . KUIX, KXUSR ,KFACPTX,KXEDGE,KXFACET,KXSOLID,KNUMX1,KNUMX2,
168 . KNUMX3,KOFFX1,KOFFX2,KOFFX3,KMASS1,KMASS2,KMASS3,
169 . KFUNC1,KFUNC2,KFUNC3,KFIN,
170 . N9, N10, K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, L1,
171 . LENWA_TMP, IADK2(LDIAG+1), IADK_IB(LDIAG+1),K12,
172 . ityp, nval, nbf, nn1, nblo,
173 . nf, id, nblo0, idf, idbl, ipri, nfc, nm, nni, neli,nib,
174 . nfc0, ima, ldiag0, iii, corresp0(2,ldiag), nfr,
175 . redir(ldiag), redir_ib(nms), tskd, tsks, tskr,
176 . itmod, nmod, filen, nme, ishell, lmr, lrlf, lc,
177 . tagrby(2,eigipm(10)), ifact, iblo, idmast,
178 . imast, tagit2(5,eigipm(10)), ieig, isave, nfc2, nir,
179 . nsl_rb, isl_rb(numnod), nsl_i2, isl_i2(numnod), k, kk,
180 . iprib, info_fac, inod, idof, nval2, ibid, leng,inorm,
181 . ribid(1),ibid_(1)
182 integer
183 . sn1,sn2,sn3,sn4,sn5,sn6,sn7,sn8,sn9,nelg,
184 . skuix, skxusr ,skfacptx,skxedge,skxfacet,skxsolid,sknumx1,
185 . sknumx2,sknumx3,skoffx1,skoffx2,skoffx3,skmass1,skmass2,
186 . skmass3,skfunc1,skfunc2,skfunc3,skfin
187 INTEGER(KIND=8) FACTORS(8)
188 my_real
189 . TOL, SHIFT, PULS, FR1, SHIFTR,
190 . fr2,x0(3,numnod), k_diag2(ldiag), tshift,
191 . freq(maxncv,2), freq2(eigipm(5)),
192 . scale(eigipm(5)+nms+6), cmax, dmax, ksi, orig(3),
193 . rx, ry, rz, vv(6), facit2(4,eigipm(10)), cutfreq, rbid,
194 . rrbid(1)
195C ON PASSE LES GROS TABLEAUX EN ALLOCATABLE (A CAUSE DES RISQUES DE LIMITE
196C DE STACK)
197 INTEGER, DIMENSION(:), ALLOCATABLE :: ROWIND, JDIK2, JDIK_IB
198 my_real, DIMENSION(:), ALLOCATABLE ::
199 . VALUE, K_LT2, K_IB, BUFEL0
200 my_real, DIMENSION(:,:), ALLOCATABLE ::
201 . VECT, VECT2, VECTS, VECTR
202 CHARACTER WHICH*2, CHEIG*4, FILNAM*109
203 my_real
204 . OFF_SAV(MVSIZ,NGROUP)
205 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
206
207 INTEGER :: LEN_TMP_NAME
208 CHARACTER(len=2048) :: TMP_NAME
209
210 CALL arret(5)
211 END
212#endif
subroutine eig(k_diag, k_lt, iadk, jdik, ms, in, nddl, ndof, nnzl, x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, pm, geo, cont, icut, skew, xcut, fint, itab, fext, fopt, anin, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, matparam_tab, dd_iad, fr_iad, dd_front, cluster, weight, eani, ipart, rby, nom_opt, igrsurf, bufsf, idata, rdata, bufmat, bufgeo, kxx, ixx, kxsp, ixsp, nod2sp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, iparg, eigipm, eigibuf, eigrpm, ldiag, ljdik, ljdik2, ikc, maxncv, thke, nms, nint2, iint2, ipari, intbuf_tab, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, inloc, iddl, partsav, fncont, ftcont, temp, err_thk_sh4, err_thk_sh3, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, weight_md, fcluster, mcluster, xfem_tab, w, nv46, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, drape_q4, drape_t3, h3d_data, subset, igrnod, fcont_max, fncontp2, ftcontp2, ale_connectivity, glob_therm)
Definition eig.F:73
initmumps id
subroutine arret(nn)
Definition arret.F:87