OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
precrkxfem.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!||====================================================================
24!|| precrkxfem ../starter/source/elements/xfem/precrkxfem.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| addcne_xfe ../starter/source/elements/xfem/precrkxfem.F
29!||====================================================================
30 SUBROUTINE precrkxfem(
31 . IPARG ,IXC ,IXTG , NCRKXFE ,
32 . IEL_CRKXFEM,INOD_CRKXFEM,ADDCNE_CRKXFEM)
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C C o m m o n B l o c k s
39C-----------------------------------------------
40#include "com01_c.inc"
41#include "com04_c.inc"
42#include "param_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER NCRKXFE
47 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),IPARG(NPARG,*),
48 . iel_crkxfem(*),inod_crkxfem(*),addcne_crkxfem(0:ncrkxfe+1)
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I,ITG,NG,NEL,LFT,LLT,NFT,ITY,IXFEM,NIX,KX
53C=======================================================================
54 itg = numelc+1
55C
56 DO ng=1,ngroup
57 ixfem=iparg(54,ng)
58 IF (ixfem == 0) cycle
59 nel = iparg(2,ng)
60 nft = iparg(3,ng)
61 ity = iparg(5,ng)
62 lft = 1
63 llt = min(nvsiz,nel)
64 IF (ity==3) THEN
65 nix = nixc
66 kx = 5
67 CALL addcne_xfe(iel_crkxfem ,kx ,nix ,ixc ,addcne_crkxfem,
68 . inod_crkxfem,lft ,llt ,nft ,ncrkxfe )
69 ELSE IF(ity==7)THEN
70 nix = nixtg
71 kx = 4
72 CALL addcne_xfe(iel_crkxfem(itg),kx ,nix ,ixtg ,addcne_crkxfem,
73 . inod_crkxfem ,lft ,llt ,nft ,ncrkxfe )
74 END IF
75 END DO
76c-----------
77C decalage d'adresses
78c-----------
79 addcne_crkxfem(1) = 1
80 DO i=2,ncrkxfe+1
81 addcne_crkxfem(i) = addcne_crkxfem(i) + addcne_crkxfem(i-1)
82 END DO
83c-----------
84 RETURN
85 END
86c
87!||====================================================================
88!|| addcne_xfe ../starter/source/elements/xfem/precrkxfem.F
89!||--- called by ------------------------------------------------------
90!|| precrkxfem ../starter/source/elements/xfem/precrkxfem.F
91!||====================================================================
92 SUBROUTINE addcne_xfe(IEL_CRKXFEM ,KX ,NIX ,IX ,ADDCNE_CRKXFEM,
93 . INOD_CRKXFEM,LFT ,LLT ,NFT ,NCRKXFE )
94C-----------------------------------------------
95C I m p l i c i t T y p e s
96C-----------------------------------------------
97#include "implicit_f.inc"
98C-----------------------------------------------
99C D u m m y A r g u m e n t s
100C-----------------------------------------------
101 INTEGER KX,NIX,LFT,LLT,NFT,NCRKXFE
102 INTEGER IEL_CRKXFEM(*),INOD_CRKXFEM(*),IX(NIX,*),
103 . ADDCNE_CRKXFEM(0:NCRKXFE+1)
104C-----------------------------------------------
105C L o c a l V a r i a b l e s
106C-----------------------------------------------
107 INTEGER I,K,N
108C=======================================================================
109 DO K=2,kx
110 DO i=lft,llt
111 IF (iel_crkxfem(i+nft) > 0) THEN
112 n = inod_crkxfem(ix(k,i+nft)) + 1 ! numerotation locale des noeuds phantomes
113 addcne_crkxfem(n) = addcne_crkxfem(n) + 1
114 ENDIF
115 ENDDO
116 ENDDO
117C-----------
118 RETURN
119 END
#define min(a, b)
Definition macros.h:20
subroutine precrkxfem(iparg, ixc, ixtg, ncrkxfe, iel_crkxfem, inod_crkxfem, addcne_crkxfem)
Definition precrkxfem.F:33
subroutine addcne_xfe(iel_crkxfem, kx, nix, ix, addcne_crkxfem, inod_crkxfem, lft, llt, nft, ncrkxfe)
Definition precrkxfem.F:94