OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
roto_tens2d_aniso.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!|| roto_tens2d_aniso ../engine/source/materials/tools/roto_tens2d_aniso.F
25!||--- called by ------------------------------------------------------
26!|| h3d_shell_tensor ../engine/source/output/h3d/h3d_results/h3d_shell_tensor.F
27!||====================================================================
28 SUBROUTINE roto_tens2d_aniso(NEL,TENS,DIR_A,DIR_B)
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) :: NEL
37 my_real ,DIMENSION(NEL,2) ,INTENT(IN) :: dir_a,dir_b
38 my_real ,DIMENSION(NEL,3) ,INTENT(INOUT) :: tens
39C-----------------------------------------------
40C L o c a l V a r i a b l e s
41C-----------------------------------------------
42 INTEGER :: I
43 my_real :: r1,r2,s1,s2,t1,t2,t3
44c=======================================================================
45 DO i = 1,nel
46 t1 = tens(i,1)
47 t2 = tens(i,2)
48 t3 = tens(i,3)
49 r1 = dir_a(i,1)
50 s1 = dir_a(i,2)
51 r2 = dir_b(i,1)
52 s2 = dir_b(i,2)
53 tens(i,1) = r1*r1*t1 + s1*s1*t2 + two*r1*s1*t3 ! eps_x dir1
54 tens(i,2) = r2*r2*t1 + s2*s2*t2 + two*r2*s2*t3 ! eps_y dir2
55 tens(i,3) = atan((r1*r2 + s1*s2) / (r1*s2 - r2*s1)) ! angle xy
56 ENDDO
57c-----------
58 RETURN
59 END
#define my_real
Definition cppsort.cpp:32
subroutine roto_tens2d_aniso(nel, tens, dir_a, dir_b)