OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spwfvis.F File Reference
#include "implicit_f.inc"
#include "vect01_c.inc"
#include "com01_c.inc"
#include "com08_c.inc"
#include "sphcom.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine spwfvis (spbuf, ipartsp, partsav, iparg, elbuf_tab, kxsp, waspact)

Function/Subroutine Documentation

◆ spwfvis()

subroutine spwfvis ( spbuf,
integer, dimension(*) ipartsp,
partsav,
integer, dimension(nparg,*) iparg,
type (elbuf_struct_), dimension(ngroup), target elbuf_tab,
integer, dimension(nisp,*) kxsp,
integer, dimension(*) waspact )

Definition at line 33 of file spwfvis.F.

35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE initbuf_mod
39 USE elbufdef_mod
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47#include "vect01_c.inc"
48#include "com01_c.inc"
49#include "com08_c.inc"
50#include "sphcom.inc"
51#include "param_c.inc"
52C-----------------------------------------------
53C D u m m y A r g u m e n t s
54C-----------------------------------------------
55 INTEGER IPARTSP(*), IPARG(NPARG,*), KXSP(NISP,*), WASPACT(*)
56 my_real spbuf(nspbuf,*) , partsav(npsav,*)
57 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER N,IPRT, NG, NEL, NS
63 . volo,dt05
64 TYPE(G_BUFEL_) ,POINTER :: GBUF
65C===============================================
66 dt05=half*dt2
67 DO ns=1,nsphact
68 n=waspact(ns)
69 IF (kxsp(2,n)>0)THEN
70C pour sorties par cellule.
71 spbuf(10,n)=spbuf(10,n)+dt05*spbuf(11,n)
72C le travail des forces de viscosite artificielle est
73C reinjecte dans l'energie interne.
74C
75 ng=mod(kxsp(2,n),ngroup+1)
76 gbuf => elbuf_tab(ng)%GBUF
77 CALL initbuf(iparg ,ng ,
78 2 mtn ,nel ,nft ,iad ,ity ,
79 3 npt ,jale ,ismstr ,jeul ,jtur ,
80 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
81 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
82 6 irep ,iint ,igtyp ,israt ,isrot ,
83 7 icsen ,isorth ,isorthg ,ifailure,jsms )
84c
85 volo=gbuf%VOL(n-nft)
86 gbuf%EINT(n-nft) = gbuf%EINT(n-nft)
87 . - dt12*spbuf(11,n)/max(em20,volo)
88 iprt=ipartsp(n)
89 partsav(1,iprt)=partsav(1,iprt)-dt12*spbuf(11,n)
90 END IF
91 ENDDO
92C-----------------------------------------------
93 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261