OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
szetfac.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
24
!||====================================================================
25
!|| szetfac ../engine/source/elements/solid/solidez/szetfac.F
26
!||--- called by ------------------------------------------------------
27
!|| szhour3 ../engine/source/elements/solid/solidez/szhour3.F
28
!|| szhour3_or ../engine/source/elements/solid/solidez/szhour3_or.F
29
!||====================================================================
30
SUBROUTINE
szetfac
(LFT,LLT,IKT,MTN,ET,G )
31
C-----------------------------------------------
32
C I m p l i c i t T y p e s
33
C-----------------------------------------------
34
#include "implicit_f.inc"
35
C-----------------------------------------------
36
C G l o b a l P a r a m e t e r s
37
C-----------------------------------------------
38
#include "mvsiz_p.inc"
39
C-----------------------------------------------
40
C C o m m o n B l o c k s
41
C-----------------------------------------------
42
C
43
C-----------------------------------------------
44
C D u m m y A r g u m e n t s
45
C-----------------------------------------------
46
INTEGER
LFT,LLT,IKT,MTN
47
my_real
48
. et(*),g(*)
49
C-----------------------------------------------
50
C L o c a l V a r i a b l e s
51
C-----------------------------------------------
52
INTEGER
I
53
my_real
54
. fac_l,fac_u,fac(mvsiz)
55
C-------IKT=2 for the moment----------
56
fac_l=fiveem2
57
DO
i=lft,llt
58
fac(i) = one
59
END DO
60
61
IF
(ikt == 2 )
THEN
62
SELECT CASE
(mtn)
63
CASE
(2,36)
64
65
CASE
(42,62,69,82,88,92,94,95,111)
66
c FAC_MIN=EP10
67
c FAC_MAX=ZERO
68
DO
i=lft,llt
69
IF
(et(i)<=one)
THEN
70
fac(i)=
max
(fac_l,et(i))
71
ELSE
72
C
73
fac(i)= zep2+et(i)
74
END IF
75
c IF (FAC_MIN>FAC(I)) FAC_MIN=FAC(I)
76
c IF (FAC_MAX<FAC(I)) FAC_MAX=FAC(I)
77
END DO
78
CASE
(38,70,90)
79
fac_l=em02
80
c FAC_MIN=EP10
81
c FAC_MAX=ZERO
82
DO
i=lft,llt
83
IF
(et(i) <= one)
THEN
84
fac(i)=
max
(fac_l,et(i))
85
ELSE
86
C----- -G(i) is already calculated with EMAX
87
fac(i)=one
88
END IF
89
c IF (FAC_MIN>FAC(I)) FAC_MIN=FAC(I)
90
c IF (FAC_MAX<FAC(I)) FAC_MAX=FAC(I)
91
END DO
92
c write(iout,*),'FAC_L,FAC(1),ET(1)=',FAC_L,FAC(1),ET(1)
93
CASE
(71)
94
fac_l=em02
95
DO
i=lft,llt
96
IF
(et(i)<=one)
THEN
97
fac(i)=
max
(fac_l,et(i))
98
END IF
99
END DO
100
END SELECT
101
C-------IKT>2 hide option :limited by IKT ----------
102
ELSE
103
C---------
104
fac_u=one*ikt
105
SELECT CASE
(mtn)
106
CASE
(2,36)
107
108
CASE
(42,62,69,82,88,92,94,111)
109
DO
i=lft,llt
110
IF
(et(i)<=one)
THEN
111
fac(i)=
max
(fac_l,et(i))
112
ELSE
113
fac(i)=
min
(fac_u,et(i))
114
END IF
115
ENDDO
116
CASE
(38,70,90)
117
fac_l=fac_l/ikt
118
DO
i=lft,llt
119
IF
(et(i)<=one)
THEN
120
fac(i)=
max
(fac_l,et(i))
121
ELSE
122
fac(i)=
min
(fac_u,et(i))
123
END IF
124
ENDDO
125
END SELECT
126
END IF
!(IKT ==2 THEN
127
C
128
DO
i=lft,llt
129
g(i)=fac(i)*g(i)
130
ENDDO
131
C
132
RETURN
133
END
my_real
#define my_real
Definition
cppsort.cpp:32
min
#define min(a, b)
Definition
macros.h:20
max
#define max(a, b)
Definition
macros.h:21
szetfac
subroutine szetfac(lft, llt, ikt, mtn, et, g)
Definition
szetfac.F:31
engine
source
elements
solid
solidez
szetfac.F
Generated by
1.15.0