OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
eig1.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!|| eig1 ../engine/stub/eig1.F
26!||--- uses -----------------------------------------------------
27!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
28!|| cluster_mod ../engine/share/modules/cluster_mod.F
29!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.F
30!|| drape_mod ../engine/share/modules/drape_mod.F
31!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
32!|| groupdef_mod ../common_source/modules/groupdef_mod.F
33!|| h3d_mod ../engine/share/modules/h3d_mod.F
34!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
35!|| matparam_def_mod ../common_source/modules/mat_elem/matparam_def_mod.F90
36!|| message_mod ../engine/share/message_module/message_mod.F
37!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
38!|| stack_mod ../engine/share/modules/stack_mod.F
39!||====================================================================
40 SUBROUTINE eig1(K_DIAG , K_LT , IADK ,JDIK , MS ,
41 2 IN , NDDL , NDOF ,NNZL , X ,
42 3 D , V , A ,BUFEL , IXS ,
43 4 IXQ , IXC , IXT ,IXP , IXR ,
44 5 IXTG , PM , GEO ,CONT , ICUT ,
45 6 SKEW , XCUT , FINT ,ITAB , FEXT ,
46 7 FOPT , ANIN , LPBY ,NPBY , NSTRF ,
47 8 RWBUF , NPRW , TANI ,ELBUF_TAB ,MATPARAM_TAB,
48 9 DD_IAD , FR_IAD , DD_FRONT ,CLUSTER ,
49 A WEIGHT , EANI , IPART ,
50 B RBY , NOM_OPT , IGRSURF ,BUFSF , IDATA ,
51 C RDATA , BUFMAT , BUFGEO ,KXX , IXX ,
52 D KXSP , IXSP , NOD2SP ,SPBUF , IXS10 ,
53 E IXS20 , IXS16 , VR ,MONVOL , VOLMON ,
54 F IPM , IGEO , IPARG , EIGIPM ,
55 G EIGIBUF , EIGRPM , LDIAG ,LJDIK , LJDIK2 ,
56 H IKC , MAXNCV , THKE ,NMS , NINT2 ,
57 I IINT2 , IPARI , INTBUF_TAB ,NODGLOB ,
58 J IAD_ELEM , FR_ELEM , FR_SEC ,FR_RBY2 , IAD_RBY2 ,
59 K FR_WALL , INLOC , IDDL ,PARTSAV , FNCONT ,
60 L FTCONT , TEMP , ERR_THK_SH4 ,ERR_THK_SH3 ,
61 M IRBE2 , IRBE3 , LRBE2 ,LRBE3 , FR_RBE2 ,
62 N FR_RBE3M , IAD_RBE2 , WEIGHT_MD ,FCLUSTER , MCLUSTER ,
63 O XFEM_TAB , W ,NV46 , NERCVOIS ,
64 P NESDVOIS , LERCVOIS ,LESDVOIS ,CRKEDGE ,INDX_CRK ,
65 Q XEDGE4N ,XEDGE3N ,STACK ,SPH2SOL ,STIFN ,
66 R STIFR ,DRAPE_Q4, DRAPE_T3 ,H3D_DATA ,SUBSET ,
67 S IGRNOD ,FCONT_MAX ,FNCONTP2 ,FTCONTP2, ALE_CONNECTIVITY)
68C-----------------------------------------------
69C M o d u l e s
70C-----------------------------------------------
71 USE message_mod
72 USE elbufdef_mod
73 USE cluster_mod
74 USE intbufdef_mod
76 USE stack_mod
77 USE h3d_mod
78 USE groupdef_mod
79 USE multi_fvm_mod
80 USE drape_mod
82 USE matparam_def_mod
83C-----------------------------------------------
84C I m p l i c i t T y p e s
85C-----------------------------------------------
86#include "implicit_f.inc"
87C-----------------------------------------------
88C C o m m o n B l o c k s
89C-----------------------------------------------
90#include "mvsiz_p.inc"
91#include "com01_c.inc"
92#include "com04_c.inc"
93#include "com06_c.inc"
94#include "com08_c.inc"
95#include "com09_c.inc"
96#include "com_xfem1.inc"
97#include "sphcom.inc"
98#include "scr05_c.inc"
99#include "scr14_c.inc"
100#include "scr17_c.inc"
101#include "scr23_c.inc"
102#include "param_c.inc"
103#include "units_c.inc"
104#include "chara_c.inc"
105#include "spmd_c.inc"
106C-----------------------------------------------
107C D u m m y A r g u m e n t s
108C-----------------------------------------------
109 INTEGER IADK(*), JDIK(*), NDDL, NDOF(*),
110 . IPARG(NPARG,*), IXS(*), IXQ(*), IXC(*), IXT(*), IXP(*),
111 . IXS10(6,*) ,IXS16(8,*) ,IXS20(12,*) ,NPRW(*),
112 . IPART(*), IXR(*), IXTG(*), ITAB(*),ICUT(*),NSTRF(*),LPBY(*),
113 . NPBY(NNPBY,*),INDX_CRK(*),
114 . DD_IAD(NSPMD+1,*),XEDGE4N(4,*),XEDGE3N(3,*),
115 . FR_IAD(*),DD_FRONT(4,*),WEIGHT(*),
116 . IDATA(*),KXX(NIXX,*),IXX(*),KXSP(NISP,*),IXSP(KVOISPH,*),
117 . NOD2SP(*),IPM(*), IGEO(*),MONVOL(*), EIGIPM(*), EIGIBUF(*),
118 . LDIAG, LJDIK, LJDIK2, NNZL, IKC(*), MAXNCV, NMS,
119 . NINT2, IINT2(*), IPARI(NPARI,*), INLOC(*), IDDL(*),
120 . NODGLOB(*), IAD_ELEM(2,*), FR_ELEM(*), FR_SEC(NSPMD+1,*),
121 . FR_RBY2(3,*), IAD_RBY2(4,*), FR_WALL(*),NOM_OPT(LNOPT1,*),
122 . WEIGHT_MD(*),NV46,NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),
123 . LESDVOIS(*),SPH2SOL(*)
124 INTEGER IRBE2(NRBE2L,*),IRBE3(NRBE3L,*),LRBE2(*),LRBE3(*),
125 . FR_RBE2(3,*),FR_RBE3M(3,*),IAD_RBE2(4,*)
126 my_real
127 . K_DIAG(*) ,K_LT(*), MS(*), IN(*),
128 . PM(NPROPM,*), GEO(*),SKEW(LSKEW,*),VR(3,*),
129 . X(3,*), D(3,*), V(3,*), A(3,*), BUFEL(*),FCLUSTER(*),
130 . CONT(3,*),XCUT(*),FINT(*),EANI(*),RBY(NRBY,*),MCLUSTER(*),
131 . FEXT(3,*) ,FOPT(6,*),ANIN(*),RWBUF(*),TANI(*),
132 . BUFSF(*),RDATA(*),BUFMAT(*),BUFGEO(*),SPBUF(*),VOLMON(*),
133 . EIGRPM(*), THKE(*), PARTSAV(NPSAV,*), FNCONT(*),
134 . FTCONT(*),TEMP(*), ERR_THK_SH4(*), ERR_THK_SH3(*), W(*),
135 . STIFN(*),STIFR(*),FCONT_MAX(*),FNCONTP2(3,*) ,FTCONTP2(3,*)
136 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
137 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
138 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
139 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
140 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
141 TYPE (STACK_PLY) :: STACK
142 TYPE(H3D_DATABASE) :: H3D_DATA
143 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
144 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
145 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
146 TYPE (DRAPE_) :: DRAPE_Q4, DRAPE_T3
147 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
148 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MATPARAM_TAB
149C-----------------------------------------------
150C L o c a l V a r i a b l e s
151C-----------------------------------------------
152 INTEGER NN, IBC, IADK2(LDIAG+1), CORRESP(2,LDIAG),
153 . corresp_ib(2,nms), iadk_ib(ldiag+1), itag(numnod), ircm,
154 . nbm, ino, idl, i, j, k, len, ipri, nm, maxitr, nbf, nf,
155 . nfc, n, nev, ncv, maxn, maxnev, ldv, ishfts, mode,
156 . info, idbl, idf, nfc2, nfc0, nblo0, nib, nval,ity,
157 . nblo, ii, iblo, redir(ldiag), redir_ib(nms),
158 . colptr(ldiag+1), idiag(ldiag), nme, lmr, lrlf, lc, nfr,
159 . tagrby(2,eigipm(10)), tagit2(5,eigipm(10)), im,
160 . nel3d, nel2d, nel1d, nel, n1, n2, n3, n4, n5, n6, n7, n8,
161 . kuix, kxusr ,kfacptx,kxedge,kxfacet,kxsolid,knumx1,knumx2,
162 . knumx3,koffx1,koffx2,koffx3,kmass1,kmass2,kmass3,
163 . kfunc1,kfunc2,kfunc3,kfin,
164 . n9, n10, k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, l1,
165 . sn1,sn2,sn3,sn4,sn5,sn6,sn7,sn8,sn9,nelg,k12,
166 . skuix, skxusr ,skfacptx,skxedge,skxfacet,skxsolid,sknumx1,
167 . sknumx2,sknumx3,skoffx1,skoffx2,skoffx3,skmass1,skmass2,
168 . skmass3,skfunc1,skfunc2,skfunc3,skfin,ng,
169 . id, ishell, ityp, ieig, idmast, imast, nuv, nir,
170 . nsl_rb, isl_rb, nsl_i2, isl_i2, iprib, ibid, leng,ribid(1),ibid_(1)
171 my_real
172 . k_diag2(ldiag), vv(6,eigipm(10)), shift, tol, cutfreq,
173 . tshift, puls, fr1, freq(maxncv,2), freq2(eigipm(5)),
174 . vect(eigipm(14),maxncv), vectl(eigipm(14),eigipm(5)),
175 . fr2, ksi, rbid, cmax, dmax, scale(eigipm(5)+nms+6),
176 . x0(3,numnod), vt(ldiag), facit2(4,eigipm(10)),
177 . rx, ry, rz, vvv(6),rrbid(1)
178 CHARACTER WHICH*2
179C
180 INTEGER, DIMENSION(:), ALLOCATABLE :: JDIK2, JDIK_IB, ROWIND
181 my_real
182 . , DIMENSION(:), ALLOCATABLE :: K_LT2, K_IB, KL, ML, KLS,
183 . VALUE, BUFEL0
184 my_real
185 . , DIMENSION(:,:), ALLOCATABLE :: VECTA, VECT2, VECTR
186 my_real
187 . OFF_SAV(MVSIZ,NGROUP)
188 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
189C=======================================================================
190C
191
192 RETURN
193 END
194#endif
195
subroutine eig1(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)
Definition eig1.F:68
initmumps id