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

Go to the source code of this file.

Functions/Subroutines

subroutine s6ctherm (pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tel, heat, fphi, offg, off, nel, theaccfact)

Function/Subroutine Documentation

◆ s6ctherm()

subroutine s6ctherm ( dimension(npropm,nummat), intent(in) pm,
integer, intent(in) imat,
dimension(mvsiz), intent(in) vol,
integer, dimension(mvsiz), intent(in) nc1,
integer, dimension(mvsiz), intent(in) nc2,
integer, dimension(mvsiz), intent(in) nc3,
integer, dimension(mvsiz), intent(in) nc4,
integer, dimension(mvsiz), intent(in) nc5,
integer, dimension(mvsiz), intent(in) nc6,
dimension(mvsiz), intent(in) px1,
dimension(mvsiz), intent(in) px2,
dimension(mvsiz), intent(in) px3,
dimension(mvsiz), intent(in) px4,
dimension(mvsiz), intent(in) py1,
dimension(mvsiz), intent(in) py2,
dimension(mvsiz), intent(in) py3,
dimension(mvsiz), intent(in) py4,
dimension(mvsiz), intent(in) pz1,
dimension(mvsiz), intent(in) pz2,
dimension(mvsiz), intent(in) pz3,
dimension(mvsiz), intent(in) pz4,
intent(in) dt1,
dimension(numnod), intent(in) tempnc,
dimension(mvsiz), intent(in) tel,
dimension(mvsiz), intent(in) heat,
dimension(mvsiz,6), intent(inout) fphi,
dimension(mvsiz), intent(in) offg,
dimension(mvsiz), intent(in) off,
integer, intent(in) nel,
intent(in) theaccfact )

Definition at line 28 of file s6ctherm.F.

37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45#include "param_c.inc"
46#include "com04_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER, INTENT(IN) :: IMAT
52 INTEGER, INTENT(IN) :: NC1(MVSIZ),NC2(MVSIZ),
53 . NC3(MVSIZ),NC4(MVSIZ),NC5(MVSIZ),NC6(MVSIZ)
54 my_real, INTENT(IN) :: theaccfact
55 my_real, INTENT(IN) :: dt1
56 my_real, INTENT(IN) :: vol(mvsiz), px1(mvsiz), py1(mvsiz),pz1(mvsiz),
57 . px2(mvsiz), py2(mvsiz), pz2(mvsiz),
58 . px3(mvsiz), py3(mvsiz),pz3(mvsiz),
59 . px4(mvsiz), py4(mvsiz),pz4(mvsiz),
60 . tempnc(numnod), pm(npropm,nummat),
61 . heat(mvsiz), tel(mvsiz),off(mvsiz),offg(mvsiz)
62 my_real, INTENT(INOUT) :: fphi(mvsiz,6)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I
67C REAL
69 . ca, cb, kc, phix, phiy, phiz, a
70C-----------------------------------------------
71 ca = pm(75,imat)
72 cb = pm(76,imat)
73!
74 DO i=1,nel
75 IF (off(i)/=zero .AND. offg(i)>zero) THEN
76c
77 ! Flux initialization
78 phix = zero
79 phiy = zero
80 phiz = zero
81c
82 ! Computing flux
83 phix = tempnc(nc1(i))*(px1(i)-px4(i)) + tempnc(nc2(i))*(px2(i)-px4(i)) +
84 . tempnc(nc3(i))*(px3(i)-px4(i)) + tempnc(nc4(i))*(px1(i)+px4(i)) +
85 . tempnc(nc5(i))*(px2(i)+px4(i)) + tempnc(nc6(i))*(px3(i)+px4(i))
86
87 phiy = tempnc(nc1(i))*(py1(i)-py4(i)) + tempnc(nc2(i))*(py2(i)-py4(i)) +
88 . tempnc(nc3(i))*(py3(i)-py4(i)) + tempnc(nc4(i))*(py1(i)+py4(i)) +
89 . tempnc(nc5(i))*(py2(i)+py4(i)) + tempnc(nc6(i))*(py3(i)+py4(i))
90
91 phiz = tempnc(nc1(i))*(pz1(i)-pz4(i)) + tempnc(nc2(i))*(pz2(i)-pz4(i)) +
92 . tempnc(nc3(i))*(pz3(i)-pz4(i)) + tempnc(nc4(i))*(pz1(i)+pz4(i)) +
93 . tempnc(nc5(i))*(pz2(i)+pz4(i)) + tempnc(nc6(i))*(pz3(i)+pz4(i))
94c
95 kc = (ca + cb*tel(i))*dt1*vol(i)*theaccfact
96 phix = kc*phix
97 phiy = kc*phiy
98 phiz = kc*phiz
99c
100 ! Computing nodal thermic forces
101 a = heat(i)*one_over_6
102 fphi(i,1) = fphi(i,1) +
103 . a - (phix*(px1(i)-px4(i)) + phiy*(py1(i)-py4(i)) + phiz*(pz1(i)-pz4(i)))
104 fphi(i,2) = fphi(i,2) +
105 . a - (phix*(px2(i)-px4(i)) + phiy*(py2(i)-py4(i)) + phiz*(pz2(i)-pz4(i)))
106 fphi(i,3) = fphi(i,3) +
107 . a - (phix*(px3(i)-px4(i)) + phiy*(py3(i)-py4(i)) + phiz*(pz3(i)-pz4(i)))
108 fphi(i,4) = fphi(i,4) +
109 . a - (phix*(px1(i)+px4(i)) + phiy*(py1(i)+py4(i)) + phiz*(pz1(i)+pz4(i)))
110 fphi(i,5) = fphi(i,5) +
111 . a - (phix*(px2(i)+px4(i)) + phiy*(py2(i)+py4(i)) + phiz*(pz2(i)+pz4(i)))
112 fphi(i,6) = fphi(i,6) +
113 . a - (phix*(px3(i)+px4(i)) + phiy*(py3(i)+py4(i)) + phiz*(pz3(i)+pz4(i)))
114 ENDIF
115 ENDDO
116C
#define my_real
Definition cppsort.cpp:32