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