OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
laser20.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!|| laser20 ../starter/source/loads/laser/laser20.F
25!||--- called by ------------------------------------------------------
26!|| laser10 ../starter/source/loads/laser/laser10.F
27!||====================================================================
28 SUBROUTINE laser20(NL ,NS1 ,NS2 ,LAS ,XLAS ,X,IXQ,IPARG )
29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C C o m m o n B l o c k s
35C-----------------------------------------------
36#include "com01_c.inc"
37#include "com04_c.inc"
38#include "param_c.inc"
39#include "tabsiz_c.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 INTEGER NL, NS1, NS2
45 . xlas(sxlas),x(3,numnod)
46 INTEGER IPARG(NPARG,NGROUP),LAS(2,SILAS/2),IXQ(7,NUMELQ)
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER IL, NG, ITY, NFT, NEL, I, NE1, NE2, NFOUND, N1, J, N2 , II, NEXT
51 LOGICAL lFOUND
52C--------------------------------------------------
53C RECHERCHE DU GROUPE ET DU NUMERO DANS LE GROUPE
54C--------------------------------------------------
55 DO il=1,nl+1
56 next = las(1,il)
57 lfound = .false.
58 DO ng=1,ngroup
59 ity=iparg(5,ng)
60 IF(ity/=2) cycle !NG
61 nft=iparg(3,ng)
62 nel=iparg(2,ng)
63 DO i=1,nel
64 ii = i + nft
65 IF(ixq(7,ii) /= next) cycle !i
66 las(1,il) = ng
67 las(2,il) = i
68 lfound = .true.
69 EXIT
70 END DO !I=1,NEL
71 IF(lfound)EXIT
72 END DO !NG=1,NGROUP
73 END DO !IL=1,NL+1
74C
75C
76C---------------------------------
77C RECHERCHE DES NOEUDS DE SURFACE
78C---------------------------------
79 ne1 = las(2,nl) + iparg(3,las(1,nl))
80 ne2 = las(2,nl+1) + iparg(3,las(1,nl+1))
81 nfound = 0
82 DO i=1,4
83 n1 = ixq(i+1,ne1)
84 DO j=1,4
85 n2 = ixq(j+1,ne2)
86 IF(n1==n2)THEN
87 IF(nfound==0)THEN
88 ns1 = n1
89 nfound = 1
90 EXIT !J
91 ELSEIF(nfound==1)THEN
92 ns2 = n1
93 GOTO 160
94 ENDIF
95 ENDIF
96 END DO !J=1,4
97 END DO !I=1,4
98C
99 160 CONTINUE
100
101 RETURN
102 END
#define my_real
Definition cppsort.cpp:32
subroutine laser20(nl, ns1, ns2, las, xlas, x, ixq, iparg)
Definition laser20.F:29