OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rgwal1.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!|| rgwal1 ../engine/source/ale/grid/rgwal1.F
25!||--- called by ------------------------------------------------------
26!|| alewdx ../engine/source/ale/grid/alewdx.F
27!||--- calls -----------------------------------------------------
28!|| interp ../engine/source/tools/curve/interp.F
29!|| rgwath ../engine/source/interfaces/int09/rgwath.F
30!||--- uses -----------------------------------------------------
31!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.f90
32!|| python_funct_mod ../common_source/modules/python_mod.f90
33!||====================================================================
34 SUBROUTINE rgwal1(X ,A ,V ,W ,
35 2 RWBUF ,LPRW ,NPRW , PYTHON,
36 3 MS ,FSAV ,
37 4 IXS ,IXQ ,ELBUF_TAB,IPARG ,
38 5 PM ,TF ,NPF ,WEIGHT ,
39 6 IAD_ELEM,FR_ELEM,FR_WALL )
40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE python_funct_mod
44 USE elbufdef_mod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "com01_c.inc"
53#include "com04_c.inc"
54#include "param_c.inc"
55#include "com08_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 TYPE(python_), INTENT(inout) :: PYTHON
60 INTEGER LPRW(*), NPRW(*), IXS(NIXS,NUMELS),
61 . IXQ(NIXQ,NUMELQ),IPARG(NPARG,NGROUP),
62 . NPF(*),
63 . WEIGHT(*),IAD_ELEM(*), FR_ELEM(*),
64 . fr_wall(nspmd+2,*)
65 my_real x(3,numnod), a(3,numnod), v(3,numnod), w(3,numnod), rwbuf(nrwlp,*), ms(*),
66 . fsav(nthvki,*),
67 . pm(npropm,nummat), tf(*)
68 TYPE(elbuf_struct_), DIMENSION(NGROUP) :: ELBUF_TAB
69C-----------------------------------------------
70C L o c a l V a r i a b l e s
71C-----------------------------------------------
72 INTEGER K, N, N2, N3, N4, ITYP, NE, NSN, IFUNC, NPOINT, NTAG(NUMNOD)
73 my_real temp,time,bid,e(numnod)
74 INTEGER :: ISMOOTH
75C-----------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78
79C-----------------------
80C RIGID WALL ALE-TH (OBSOLETE)
81C-----------------------
82 IF(nrwall > 0)THEN
83 k=1
84 DO n=1,nrwall
85 n2=n +nrwall
86 n3=n2+nrwall
87 n4=n3+nrwall
88 ityp=nprw(n4)
89 IF(ityp == -1)THEN
90 nsn =nprw(n)
91 ne =nint(rwbuf(8,n))
92 ifunc=nint(rwbuf(9,n))
93 time = tt * rwbuf(16,n)
94 ismooth = npf(2*nfunct+ifunc+1)
95 IF(ismooth >= 0) THEN
96 npoint=(npf(ifunc+1)-npf(ifunc))/2
97 CALL interp(tf(npf(ifunc)),time,npoint,temp,bid)
98 ELSE
99 ismooth = -ismooth
100 CALL python_call_funct1d(python, ismooth,time, temp)
101 ENDIF
102 temp = temp * rwbuf(10,n)
103 CALL rgwath(
104 1 x ,v ,w ,rwbuf(1,n),lprw(k) ,
105 2 nsn ,nprw(n3) ,ms ,fsav(1,n) ,ixs ,
106 3 ixq ,elbuf_tab ,iparg ,pm ,
107 4 ntag ,lprw(k+nsn) ,ne ,temp ,rwbuf(11,n),
108 5 e ,a ,nprw(n2),weight ,iad_elem ,
109 6 fr_elem ,fr_wall(1,n))
110 k=k+nint(rwbuf(8,n))
111 ENDIF
112 k=k+nprw(n)
113 enddo!next N
114 ENDIF
115 RETURN
116 END
#define my_real
Definition cppsort.cpp:32
subroutine interp(tf, tt, npoint, f, tg)
Definition interp.F:35
subroutine rgwal1(x, a, v, w, rwbuf, lprw, nprw, python, ms, fsav, ixs, ixq, elbuf_tab, iparg, pm, tf, npf, weight, iad_elem, fr_elem, fr_wall)
Definition rgwal1.F:40
subroutine rgwath(x, v, w, rwl, nsw, nsn, msr, ms, fsav, ixs, ixq, elbuf_tab, iparg, pm, ntag, nelw, ne, temp, tstif, e, a, itied, weight, iad_elem, fr_elem, fr_wall)
Definition rgwath.F:42