OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
eigcond.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!|| eigcond ../engine/stub/eigcond.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!|| dsgraph_mod ../engine/share/modules/dsgraph_mod.F
34!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
35!|| groupdef_mod ../common_source/modules/groupdef_mod.F
36!|| h3d_mod ../engine/share/modules/h3d_mod.F
37!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
38!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
39!|| stack_mod ../engine/share/modules/stack_mod.F
40!||====================================================================
41 SUBROUTINE eigcond(GRAPHE , EIGIPM , EIGRPM , IKC0 , NDDL0 ,
42 2 K_DIAG , K_LT , IADK , JDIK , MS ,
43 3 IN , NDOF , NDDL , EIGIBUF , X ,
44 4 V , A , BUFEL , IXS , IXQ ,
45 5 IXC , IXT , IXP , IXR , IXTG ,
46 6 PM , GEO , CONT , ICUT , SKEW ,
47 7 XCUT , FINT , ITAB , FEXT , FOPT ,
48 8 ANIN , LPBY , NPBY , NSTRF , RWBUF ,
49 9 NPRW , TANI , ELBUF_TAB ,DD_IAD ,
50 A FR_IAD , DD_FRONT , WEIGHT , EANI , IPART ,
51 B RBY , NOM_OPT , IGRSURF ,
52 C BUFSF , IDATA , RDATA , BUFMAT , BUFGEO ,
53 D KXX , IXX , KXSP , IXSP , NOD2SP ,
54 E SPBUF , IXS10 , IXS20 , IXS16 , VR ,
55 F MONVOL , VOLMON , IPM , IGEO , IPARG ,
56 G NODGLOB , IAD_ELEM , FR_ELEM , FR_SEC , FR_RBY2 ,
57 H IAD_RBY2 , FR_WALL , NINT2 , IINT2 , IPARI ,
58 I INTBUF_TAB , D , LDDL , PARTSAV ,
59 J FNCONT , FTCONT ,TEMP , THKE , ERR_THK_SH4 ,
60 K ERR_THK_SH3 ,IRBE2 ,IRBE3 , LRBE2 ,
61 M LRBE3 ,FR_RBE2 ,FR_RBE3M , IAD_RBE2 , WEIGHT_MD ,
62 N CLUSTER ,FCLUSTER ,MCLUSTER , XFEM_TAB ,
63 O W ,NV46 , NERCVOIS , NESDVOIS ,
64 P LERCVOIS ,LESDVOIS ,CRKEDGE ,INDX_CRK ,XEDGE4N ,
65 Q XEDGE3N ,STACK ,SPH2SOL ,STIFN ,STIFR ,
66 R DRAPE_Q4, DRAPE_T3 ,H3D_DATA ,SUBSET ,IGRNOD ,
67 S FCONT_MAX ,FNCONTP2 ,FTCONTP2, ALE_CONNECTIVITY)
68C-----------------------------------------------
69C M o d u l e s
70C-----------------------------------------------
71 USE dsgraph_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
82C-----------------------------------------------
83C I m p l i c i t T y p e s
84C-----------------------------------------------
85#include "implicit_f.inc"
86C-----------------------------------------------
87C C o m m o n B l o c k s
88C-----------------------------------------------
89#include "com01_c.inc"
90#include "com04_c.inc"
91#include "com06_c.inc"
92#include "com08_c.inc"
93#include "com09_c.inc"
94#include "com_xfem1.inc"
95#include "scr14_c.inc"
96#include "scr17_c.inc"
97#include "scr05_c.inc"
98#include "scr23_c.inc"
99#include "param_c.inc"
100#include "sphcom.inc"
101#include "units_c.inc"
102#include "spmd_c.inc"
103#include "task_c.inc"
104C-----------------------------------------------
105C D u m m y A r g u m e n t s
106C-----------------------------------------------
107 INTEGER EIGIPM(*), IKC0(*), NDDL0, IADK(*), JDIK(*), NDOF(*),
108 . NDDL, EIGIBUF(*), IXS(*), IXQ(*), IXC(*), IXT(*), IXP(*),
109 . IXR(*), IXTG(*), ICUT(*), ITAB(*), LPBY(*), NPBY(NNPBY,*),
110 . NSTRF(*), NPRW(*), INDX_CRK(*),XEDGE4N(4,*),XEDGE3N(3,*),
111 . DD_IAD(NSPMD+1,*), FR_IAD(*), DD_FRONT(4,*), WEIGHT(*),
112 . IPART(*), NOM_OPT(LNOPT1,*),
113 . IDATA(*), KXX(NIXX,*), IXX(*),
114 . KXSP(NISP,*), IXSP(KVOISPH,*), NOD2SP(*), IXS10(6,*),
115 . IXS20(12,*), IXS16(8,*), MONVOL(*), IPM(*), IGEO(*),
116 . IPARG(*), NODGLOB(*), IAD_ELEM(2,*), FR_ELEM(*),
117 . FR_SEC(NSPMD+1,*), FR_RBY2(3,*), IAD_RBY2(4,*),
118 . FR_WALL(*), NINT2, IINT2(*), IPARI(NPARI,*),
119 . LDDL(*),WEIGHT_MD(*),NV46,SPH2SOL(*)
120 INTEGER IRBE2(NRBE2L,*),IRBE3(NRBE3L,*),LRBE2(*),LRBE3(*),
121 . FR_RBE2(3,*),FR_RBE3M(3,*),IAD_RBE2(4,*),NERCVOIS(*),
122 . NESDVOIS(*),LERCVOIS(*),LESDVOIS(*)
123 my_real
124 . EIGRPM(*), K_DIAG(*), K_LT(*), MS(*), IN(*), X(3,*),
125 . V(3,*), A(3,*), BUFEL(*), PM(NPROPM,*), GEO(*), CONT(3,*),
126 . SKEW(LSKEW,*), XCUT(*), FINT(*), FEXT(*), FOPT(6,*),
127 . ANIN(*),RWBUF(*), TANI(*), EANI(*), RBY(NRBY,*), BUFSF(*),
128 . RDATA(*), BUFMAT(*), BUFGEO(*), SPBUF(*), VOLMON(*),
129 . D(3,*), VR(3,*), PARTSAV(NPSAV,*), FNCONT(*),
130 . FTCONT(*),TEMP(*),THKE(*), ERR_THK_SH4(*), ERR_THK_SH3(*),
131 . FCLUSTER(*),MCLUSTER(*),W(*),STIFN(*),STIFR(*),FCONT_MAX(*),
132 . FNCONTP2(3,*) ,FTCONTP2(3,*)
133 TYPE(prgraph) :: GRAPHE(*)
134 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
135 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
136 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
137 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
138 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
139 TYPE (STACK_PLY) :: STACK
140 TYPE(H3D_DATABASE) :: H3D_DATA
141 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
142 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
143 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
144 TYPE(DRAPE_) :: DRAPE_Q4, DRAPE_T3
145 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
146C-----------------------------------------------
147C L o c a l V a r i a b l e s
148C-----------------------------------------------
149 INTEGER I, INO, IDDL, ITYP, NM, MAXITR, IPRI, NBLF, NN1, NN2,
150 . ICT, ICR, BDOF(6), II, ITAG(NUMNOD), IKC(NDDL0), IAD,
151 . JJ, N, J, IFREE1, IBLOC1, IFREE2, IBLOC2, LFREE(NDDL),
152 . LBLOC(NDDL), NMS, NSCM, IOPT, NVD, IBID, NVAL,
153 . NEL3D, NEL2D, NEL1D, NEL, N1, N2, N3, N4, N5, N6, N7, N8,
154 . KUIX, KXUSR ,KFACPTX,KXEDGE,KXFACET,KXSOLID,KNUMX1,KNUMX2,
155 . KNUMX3,KOFFX1,KOFFX2,KOFFX3,KMASS1,KMASS2,KMASS3,
156 . KFUNC1,KFUNC2,KFUNC3,KFIN,
157 . N9, N10, K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, L1,
158 . IM, ID, TAGRBY(2,NUMNOD), TAGIT2(5,NUMNOD), IDMAST, IMAST,
159 . nir, nsl_rb, isl_rb(numnod), nsl_i2, isl_i2(numnod), k,
160 . nddlg, kk, msgoff, irqtag, nmst, nmsl(nspmd), nmslmax,
161 . itagms(graphe(1)%NDDL_GLOB), iwiout, msgoff2, iwioutp,
162 . iwkli, ltitr1, ipmess, nddlc, ieig, iblo, ishell, nme,nnz,
163 . lmr, lrlf, lc, nmr, iprib, leng, nddli7, ishellp,ribid(1),
164 . k12,ibid_(1)
165 integer
166 . sn1,sn2,sn3,sn4,sn5,sn6,sn7,sn8,sn9,nelg,
167 . skuix, skxusr ,skfacptx,skxedge,skxfacet,skxsolid,sknumx1,
168 . sknumx2,sknumx3,skoffx1,skoffx2,skoffx3,skmass1,skmass2,
169 . skmass3,skfunc1,skfunc2,skfunc3,skfin
170 my_real
171 . mass(nddl), tol, cutfrq, rbid, freq2(nsvmaxt),
172 . cmax, cmaxp, rx, ry, rz, vv(6), facit2(4,numnod),
173 . x0(3,numnod), shifti, tol0, ksi, rrbid(1)
174 my_real
175 . , DIMENSION(:,:), ALLOCATABLE :: vectd, b, vects, vectr
176 my_real
177 . , DIMENSION(:), ALLOCATABLE :: scale, dmax, dmaxp, VALUE
178 INTEGER, DIMENSION(:,:), ALLOCATABLE :: IDMS, BCOR
179 INTEGER, DIMENSION(:), ALLOCATABLE :: ROWIND, COLPTR, IDIAG, REDIR
180 CHARACTER TITRE*80
181 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
182 DATA MSGOFF /100000/
183 DATA MSGOFF2 /200000/
184C=======================================================================
185
186 CALL ARRET(5)
187 RETURN
188 END
189
190#endif
subroutine eigcond(graphe, eigipm, eigrpm, ikc0, nddl0, k_diag, k_lt, iadk, jdik, ms, in, ndof, nddl, eigibuf, x, 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, dd_iad, fr_iad, dd_front, 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, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, nint2, iint2, ipari, intbuf_tab, d, lddl, partsav, fncont, ftcont, temp, thke, err_thk_sh4, err_thk_sh3, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, weight_md, cluster, 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 eigcond.F:68