OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
laser20.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine laser20 (nl, ns1, ns2, las, xlas, x, ixq, iparg)

Function/Subroutine Documentation

◆ laser20()

subroutine laser20 ( integer nl,
integer ns1,
integer ns2,
integer, dimension(2,silas/2) las,
xlas,
x,
integer, dimension(7,numelq) ixq,
integer, dimension(nparg,ngroup) iparg )

Definition at line 28 of file laser20.F.

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
#define my_real
Definition cppsort.cpp:32
character *2 function nl()
Definition message.F:2354