OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
nsvis_stab.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine nsvis_stab (sig, c1, g2, vol, d1, d2, d3, d4, d5, d6, rhoref, g, npg, nel)

Function/Subroutine Documentation

◆ nsvis_stab()

subroutine nsvis_stab ( intent(inout) sig,
intent(in) c1,
intent(in) g2,
intent(in) vol,
intent(in) d1,
intent(in) d2,
intent(in) d3,
intent(in) d4,
intent(in) d5,
intent(in) d6,
intent(in) rhoref,
intent(inout) g,
integer, intent(in) npg,
integer, intent(in) nel )

Definition at line 28 of file nsvis_stab.F.

31C-----------------------------------------------
32C I m p l i c i t T y p e s
33C-----------------------------------------------
34#include "implicit_f.inc"
35C-----------------------------------------------
36C G l o b a l P a r a m e t e r s
37C-----------------------------------------------
38#include "mvsiz_p.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45C REAL
46 INTEGER, INTENT(IN) ::NEL,NPG
47 my_real, DIMENSION(MVSIZ),INTENT(IN) :: vol,
48 . d1, d2, d3,d4, d5, d6,rhoref
49 my_real, INTENT(IN) :: c1,g2
50 my_real, DIMENSION(NEL,6), INTENT(INOUT) :: sig
51 my_real, DIMENSION(MVSIZ),INTENT(INOUT) :: g
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER I, MT
56C REAL
58 . dd, al, cns1, cns2, cns3,ssp1,mu,
59 . dav, pvis, nrho,jac,fac,tol,ff,rhossp,facg
60#ifdef MYREAL8
61 my_real, PARAMETER :: real_three = 3.0d0
62 my_real, PARAMETER :: real_one = 1.0d0
63#else
64 my_real, PARAMETER :: real_three = 3.0
65 my_real, PARAMETER :: real_one = 1.0
66#endif
67C-----------------------------------------------
68 mu =zep02
69 ssp1 = two_third*g2+c1
70 DO i=1,nel
71 ff = -min(sig(i,1),sig(i,2),sig(i,3))
72 IF (ff <=g2 ) cycle
73 facg = max(one,sqrt(ff/g2))
74 al = (npg*vol(i))**(real_one/real_three)
75 rhossp = sqrt(ssp1*rhoref(i))
76 cns2=facg*mu*al*rhossp
77 cns3=half*cns2
78 dd =-d1(i)-d2(i)-d3(i)
79 dav=dd * third
80 sig(i,1)=sig(i,1) + cns2 *(d1(i)+dav)
81 sig(i,2)=sig(i,2) + cns2 *(d2(i)+dav)
82 sig(i,3)=sig(i,3) + cns2 *(d3(i)+dav)
83 sig(i,4)=sig(i,4) + cns3 * d4(i)
84 sig(i,5)=sig(i,5) + cns3 * d5(i)
85 sig(i,6)=sig(i,6) + cns3 * d6(i)
86 fac = one+two*facg*mu
87 g(i) =fac*g(i) ! time step concern
88 ENDDO
89C
90 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21