OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
thick_ilev.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine thick_ilev (elbuf_str, xfem_str, lft, llt, nlay, ir, is, nptt, ixfem, thkly, posly, irep, ixel)

Function/Subroutine Documentation

◆ thick_ilev()

subroutine thick_ilev ( type(elbuf_struct_), intent(inout), target elbuf_str,
type(elbuf_struct_), intent(inout), target xfem_str,
integer lft,
integer llt,
integer nlay,
integer ir,
integer is,
integer nptt,
integer ixfem,
thkly,
posly,
integer irep,
integer ixel )

Definition at line 29 of file thick_ilev.F.

32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE elbufdef_mod
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C I N P U T A r g u m e n t s
44C-----------------------------------------------
45 INTEGER NLAY,NPTT,LFT,LLT,IXFEM,IR,IS,IREP,IXEL
46 my_real
47 . thkly(*),posly(mvsiz,*)
48C
49 TYPE(ELBUF_STRUCT_), TARGET, intent(inout) :: ELBUF_STR
50 TYPE(ELBUF_STRUCT_), TARGET, intent(inout) :: XFEM_STR
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER I,II,ILAY,IT,J,IPT,L_DIRA,L_DIRB
55 my_real
56 . thkt
57 my_real,
58 . DIMENSION(:) ,POINTER :: dir1,dir2,dir1x,dir2x
59C
60 TYPE(G_BUFEL_) , POINTER :: GBUF
61 TYPE(L_BUFEL_) , POINTER :: LBUF
62C=======================================================================
63c layer thickness
64c
65 IF (nlay > 1) THEN ! multilayer
66 DO ilay=1,nlay
67 DO i=lft,llt
68 j = (ilay-1)*llt + i
69 thkt = elbuf_str%GBUF%THK(i) ! total element thickness
70 xfem_str%BUFLY(ilay)%LBUF(1,1,1)%THK(i) = thkly(j)*thkt
71 ENDDO
72 ENDDO ! DO ILAY=1,NLAY
73 ELSE
74c monolayer : already filled within "C1BUF3.F"
75 ENDIF ! IF(NLAY > 1)THEN
76c
77c layer orthotropy directions - copy to XFEM buffer
78c
79 l_dira = elbuf_str%BUFLY(1)%LY_DIRA
80 l_dirb = elbuf_str%BUFLY(1)%LY_DIRB
81 DO ilay=1,nlay
82 dir1 => elbuf_str%BUFLY(ilay)%DIRA(1:l_dira*llt)
83 dir2 => elbuf_str%BUFLY(ilay)%DIRB(1:l_dirb*llt)
84 dir1x => xfem_str%BUFLY(ilay)%DIRA(1:l_dira*llt)
85 dir2x => xfem_str%BUFLY(ilay)%DIRB(1:l_dirb*llt)
86 DO i=lft,llt
87 ii = 2*(i-1)
88 IF (l_dira == 0) THEN
89 CONTINUE
90 ELSEIF (irep == 0 .OR. irep == 1) THEN
91 dir1x(ii+1) = dir1(ii+1)
92 dir1x(ii+2) = dir1(ii+2)
93 ELSEIF (irep == 2) THEN
94 dir1x(ii+1) = dir1(ii+1)
95 dir1x(ii+2) = dir1(ii+2)
96 dir2x(ii+1) = dir2(ii+1)
97 dir2x(ii+2) = dir2(ii+2)
98 ENDIF
99 ENDDO
100 ENDDO ! DO ILAY=1,NLAY
101C---
102 IF (nlay > 1) THEN ! multilayer
103 DO ilay=1,nlay
104 lbuf => xfem_str%BUFLY(ilay)%LBUF(1,1,1)
105 DO i=lft,llt
106 lbuf%OFF(i) = -one
107 ENDDO
108 ENDDO
109 ELSE ! monolayer
110 gbuf => xfem_str%GBUF
111 DO i=lft,llt
112 gbuf%OFF(i) = -one
113 ENDDO
114 ENDIF ! IF(NLAY > 1)THEN
115C---
116 RETURN
#define my_real
Definition cppsort.cpp:32