OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
inicrkfill.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com_xfem1.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine inicrkfill (elbuf_tab, xfem_tab, ixc, ixtg, iparg, inicrack, x, iel_crk, inod_crk, xrefc, xreftg, iedgesh4, iedgesh3, nodedge, crklvset, crkshell, crkedge, xfem_phantom, itab)

Function/Subroutine Documentation

◆ inicrkfill()

subroutine inicrkfill ( type (elbuf_struct_), dimension(ngroup) elbuf_tab,
type (elbuf_struct_), dimension(ngroup,nxel) xfem_tab,
integer, dimension(nixc,*) ixc,
integer, dimension(nixtg,*) ixtg,
integer, dimension(nparg,*) iparg,
type (inicrack_), dimension(ninicrack) inicrack,
x,
integer, dimension(*) iel_crk,
integer, dimension(*) inod_crk,
xrefc,
xreftg,
integer, dimension(4,*) iedgesh4,
integer, dimension(3,*) iedgesh3,
integer, dimension(2,*) nodedge,
type (xfem_lvset_), dimension(nlevmax) crklvset,
type (xfem_shell_), dimension(nlevmax) crkshell,
type (xfem_edge_), dimension(nxlaymax) crkedge,
type (xfem_phantom_), dimension(nxlaymax) xfem_phantom,
integer, dimension(*) itab )

Definition at line 31 of file inicrkfill.F.

36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE xfem2def_mod
40 USE elbufdef_mod
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c K s
49C-----------------------------------------------
50#include "com01_c.inc"
51#include "com04_c.inc"
52#include "com_xfem1.inc"
53#include "param_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 integer
58 . ixc(nixc,*),ixtg(nixtg,*),iparg(nparg,*),inod_crk(*),
59 . iel_crk(*),iedgesh4(4,*),iedgesh3(3,*),nodedge(2,*),itab(*)
61 . x(3,*),xrefc(4,3,*),xreftg(3,3,*)
62 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
63 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
64 TYPE (XFEM_LVSET_) , DIMENSION(NLEVMAX) :: CRKLVSET
65 TYPE (XFEM_SHELL_) , DIMENSION(NLEVMAX) :: CRKSHELL
66 TYPE (XFEM_EDGE_) , DIMENSION(NXLAYMAX) :: CRKEDGE
67 TYPE (XFEM_PHANTOM_), DIMENSION(NXLAYMAX) :: XFEM_PHANTOM
68 TYPE (INICRACK_) , DIMENSION(NINICRACK) :: INICRACK
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER I,K,KR,N,ID,ICRK,NXSEG,NXNOD
73 INTEGER, DIMENSION(:,:) ,ALLOCATABLE :: NODLS
74 INTEGER, DIMENSION(:,:) ,ALLOCATABLE :: TAGSKYC,TAGSKYTG
75 INTEGER, DIMENSION(:) ,ALLOCATABLE :: NTAG
76 INTEGER, DIMENSION(:) ,ALLOCATABLE :: KNOD2ELC,TAGEDGE
77 my_real ,DIMENSION(:) ,ALLOCATABLE :: ratiols
78 CHARACTER(LEN=NCHARTITLE) :: TITR
79C=======================================================================
80 ALLOCATE(knod2elc(numnod+1))
81 ALLOCATE(tagskyc(4,numelc))
82 ALLOCATE(tagskytg(3,numeltg))
83 ALLOCATE(tagedge(numedges))
84 knod2elc = 0
85 tagskyc = 0
86 tagskytg = 0
87 tagedge = 0
88c-----------------
89 DO k=1,4
90 DO i=1,numelc
91 n = ixc(k+1,i)
92 knod2elc(n) = knod2elc(n) + 1
93 tagskyc(k,i) = knod2elc(n)
94 END DO
95 END DO
96C
97 DO k=1,3
98 DO i=1,numeltg
99 n = ixtg(k+1,i)
100 knod2elc(n) = knod2elc(n) + 1
101 tagskytg(k,i) = knod2elc(n)
102 END DO
103 END DO
104c-----------------
105 DO icrk=1,ninicrack
106 id = inicrack(icrk)%ID
107 nxnod = inicrack(icrk)%NSEG
108 titr = inicrack(icrk)%TITLE
109 nxseg = nxnod - 1
110C---
111 IF (nxseg > 0) THEN
112 ALLOCATE(nodls(2,nxnod))
113 ALLOCATE(ntag(numnod))
114 ALLOCATE(ratiols(nxnod))
115 nodls = 0
116 ntag = 0
117 ratiols = zero
118C---
119 DO n=1,nxnod
120 nodls(1,n) = inicrack(icrk)%SEG(n)%NODES(1)
121 nodls(2,n) = inicrack(icrk)%SEG(n)%NODES(2)
122 ratiols(n) = inicrack(icrk)%SEG(n)%RATIO
123 ENDDO
124C---
125 CALL lslocal(elbuf_tab,xfem_tab,
126 . iparg ,ixc ,ixtg ,xrefc ,xreftg ,
127 . x ,icrk ,inod_crk,nxseg ,nodls ,
128 . ratiols ,ntag ,iel_crk ,iel_crk(1+numelc),iedgesh4,
129 . iedgesh3,nodedge ,tagskyc ,tagskytg ,knod2elc,
130 . tagedge ,crklvset,crkshell,crkedge ,xfem_phantom,
131 . itab ,id ,titr )
132C---
133 DEALLOCATE(nodls,ntag,ratiols)
134 END IF
135C---
136 ENDDO ! DO ICRK=1,NINICRACK
137C---
138 DEALLOCATE(tagskyc,tagskytg,knod2elc,tagedge)
139C-----------
140 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine lslocal(elbuf_tab, xfem_tab, iparg, ixc, ixtg, xrefc, xreftg, x, icrk, inod_crk, nxseg, nodls, ratiols, ntag, ielcrkc, ielcrktg, iedgesh4, iedgesh3, nodedge, tagskyc, tagskytg, knod2elc, tagedge, crklvset, crkshell, crkedge, xfem_phantom, itab, id, titr)
Definition lslocal.F:50
initmumps id
integer, parameter nchartitle