OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
surf_area.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!|| surf_area ../engine/source/output/th/surf_area.F
25!||--- called by ------------------------------------------------------
26!|| hist2 ../engine/source/output/th/hist2.F
27!||====================================================================
28 SUBROUTINE surf_area(X, NN, SURF_NODES, AREA, NUMNOD)
29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C D u m m y A r g u m e n t s
35C-----------------------------------------------
36 INTEGER,INTENT(IN) :: NN,SURF_NODES(NN,4),NUMNOD
37 my_real,INTENT(IN) :: x(3,numnod)
38 my_real,INTENT(INOUT) :: area
39C-----------------------------------------------
40C L o c a l V a r i a b l e s
41C-----------------------------------------------
42 INTEGER I,NOD1,NOD2,NOD3,NOD4
43 my_real x13, y13, z13, x24, y24, z24,n1, n2, n3
44C-----------------------------------------------
45C S o u r c e L i n e s
46C-----------------------------------------------
47 area = zero
48 DO i=1,nn
49 nod1=surf_nodes(i,1)
50 nod2=surf_nodes(i,2)
51 nod3=surf_nodes(i,3)
52 nod4=surf_nodes(i,4)
53 x13= x(1,nod3)-x(1,nod1)
54 y13= x(2,nod3)-x(2,nod1)
55 z13= x(3,nod3)-x(3,nod1)
56 x24= x(1,nod4)-x(1,nod2)
57 y24= x(2,nod4)-x(2,nod2)
58 z24= x(3,nod4)-x(3,nod2)
59 n1 = y13*z24-y24*z13
60 n2 = z13*x24-z24*x13
61 n3 = x13*y24-x24*y13
62 area = area + sqrt(n1*n1+n2*n2+n3*n3)
63 ENDDO
64 area = area * half
65C-----------------------------------------------
66 RETURN
67 END
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine surf_area(x, nn, surf_nodes, area, numnod)
Definition surf_area.F:29