OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
thermexpp.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!|| thermexppi ../engine/source/elements/beam/thermexpp.F
25!||--- called by ------------------------------------------------------
26!|| pforc3 ../engine/source/elements/beam/pforc3.F
27!||--- uses -----------------------------------------------------
28!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
29!||====================================================================
30 SUBROUTINE thermexppi(ELBUF_STR,
31 1 NEL ,NPT ,MAT , PID ,
32 2 PM ,GEO , AL ,ETH ,
33 2 OFF ,FOR ,EINT )
34C M o d u l e s
35C-----------------------------------------------
36 USE elbufdef_mod
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41#include "comlock.inc"
42C-----------------------------------------------
43C G l o b a l P a r a m e t e r s
44C-----------------------------------------------
45#include "mvsiz_p.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "param_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER NPT,NEL
54 INTEGER MAT(MVSIZ),PID(MVSIZ)
55C REAL
57 . pm(npropm,*), geo(npropg,*),for(nel,3), eint(nel,2),
58 . off(*), al(*),eth(nel)
59C
60 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER ICC(MVSIZ),IRTY(MVSIZ),INDX(MVSIZ)
65 INTEGER I, J, J1, J2, NPIF, MX, IPT, IPY,IPZ,IPA,NINDX,
66 . IR,IS,ILAYER,II(3)
67C REAL
69 . e, signxx,dfxx,apt
70C
71 TYPE(l_bufel_),POINTER :: LBUF
72 TYPE(BUF_LAY_) ,POINTER :: BUFLY
73C=======================================================================
74!
75
76C-------------------------------------
77C DEBUT DE BOUCLE SUR POINTS INTEGRATION
78C--------------------------------------
79C
80 ipa = 400
81 DO i=1,3
82 ii(i) = nel*(i-1)
83 ENDDO
84 DO ipt= 1,npt
85 ilayer=1
86 ir = 1
87 is = 1
88 lbuf => elbuf_str%BUFLY(ilayer)%LBUF(ir,is,ipt)
89 bufly => elbuf_str%BUFLY(ilayer)
90c--- Total strain
91C
92 IF (bufly%L_STRA > 0) THEN
93 DO i= 1,nel
94 lbuf%STRA(ii(1)+i) = lbuf%STRA(ii(1)+i) + eth(i)
95 ENDDO
96 ENDIF
97C
98C--- Contraintes elastiques
99C
100 DO i =1 ,nel
101 mx = mat(i)
102 e = pm(20,mx)
103 signxx = -e*eth(i)
104C FORCES ET MOMENTS
105 apt = geo(ipa+ipt,pid(i))
106 dfxx = apt*signxx
107 for(i,1) = for(i,1) + dfxx
108C
109 lbuf%SIG(ii(1)+i) = lbuf%SIG(ii(1)+i) + signxx
110 ENDDO
111C-------------------------------------
112C FIN DE BOUCLE SUR POINT INTEGRATION
113C-------------------------------------
114 ENDDO
115C-----------
116 RETURN
117 END
118!||====================================================================
119!|| thermexppg ../engine/source/elements/beam/thermexpp.F
120!||--- called by ------------------------------------------------------
121!|| pforc3 ../engine/source/elements/beam/pforc3.F
122!||====================================================================
123 SUBROUTINE thermexppg(
124 . NEL ,MAT ,PID , PM, GEO ,
125 . OFF ,ETH ,FOR ,EINT )
126C-----------------------------------------------
127C I m p l i c i t T y p e s
128C-----------------------------------------------
129#include "implicit_f.inc"
130C-----------------------------------------------
131C G l o b a l P a r a m e t e r s
132C-----------------------------------------------
133#include "mvsiz_p.inc"
134C-----------------------------------------------
135C C o m m o n B l o c k s
136C-----------------------------------------------
137#include "param_c.inc"
138C-----------------------------------------------
139C D u m m y A r g u m e n t s
140C-----------------------------------------------
141 INTEGER NEL,MAT(MVSIZ),PID(MVSIZ)
142C REAL
143 my_real
144 . PM(NPROPM,*), FOR(NEL,3), EINT(NEL,2), GEO(NPROPG,*),
145 . OFF(*),AL(MVSIZ),ETH(NEL)
146C-----------------------------------------------
147C L o c a l V a r i a b l e s
148C-----------------------------------------------
149 INTEGER I, J
150C REAL
151 my_real
152 . YM,A1
153C-----------------------------------------------
154 DO i=1,nel
155 ym =pm(20,mat(i))
156 a1 =geo(1,pid(i))
157 for(i,1) = (for(i,1) - eth(i)*a1*ym )*off(i)
158!! EINT(I,1) = EINT(I,1) - FOR(I,1)*ETH(I)*AL(I)*HALF*OFF(I)
159 ENDDO
160C-----------------------------------------------
161 RETURN
162 END
#define my_real
Definition cppsort.cpp:32
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine thermexppi(elbuf_str, nel, npt, mat, pid, pm, geo, al, eth, off, for, eint)
Definition thermexpp.F:34
subroutine thermexppg(nel, mat, pid, pm, geo, off, eth, for, eint)
Definition thermexpp.F:126