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

Go to the source code of this file.

Functions/Subroutines

subroutine s10_icp (offg, jacg, facp, nu, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vol0, voln, vol0dp, voldp, nel, ismstr)

Function/Subroutine Documentation

◆ s10_icp()

subroutine s10_icp ( intent(in) offg,
intent(in) jacg,
intent(in) facp,
intent(in) nu,
intent(inout) dxx,
intent(inout) dxy,
intent(inout) dxz,
intent(inout) dyx,
intent(inout) dyy,
intent(inout) dyz,
intent(inout) dzx,
intent(inout) dzy,
intent(inout) dzz,
intent(in) vol0,
intent(inout) voln,
double precision, dimension(nel), intent(in) vol0dp,
double precision, dimension(nel), intent(inout) voldp,
integer nel,
integer, intent(in) ismstr )

Definition at line 30 of file s10_icp.F.

36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43#include "mvsiz_p.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER, INTENT(IN) :: ISMSTR
48 INTEGER NEL
49C REAL
50 my_real ,DIMENSION(NEL) ,INTENT(IN) :: offg,vol0
51 DOUBLE PRECISION , DIMENSION(NEL) ,INTENT(IN) :: VOL0DP
52 my_real ,DIMENSION(MVSIZ) ,INTENT(IN) :: jacg,facp,nu
53 my_real ,DIMENSION(MVSIZ) ,INTENT(INOUT) :: voln,
54 . dxx, dxy, dxz,
55 . dyx, dyy, dyz,
56 . dzx, dzy, dzz
57 DOUBLE PRECISION , DIMENSION(NEL) ,INTENT(INOUT) :: VOLDP
58C-----------------------------------------------
59C C o m m o n B l o c k s
60C-----------------------------------------------
61#include "scr05_c.inc"
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I, K
67 . jac(mvsiz),fac,base,jfac
68
69C----------------------------
70 IF(ismstr==1.OR.ismstr>=10)THEN
71 IF (ismstr==10) THEN
72 CALL jacob_j33(
73 1 jac, dxx, dxy, dxz,
74 2 dyx, dyy, dyz, dzx,
75 3 dzy, dzz, nel)
76 DO i=1,nel
77 IF(offg(i)==zero.OR.abs(offg(i))>one) cycle
78 fac=two_third*nu(i)
79 base = jacg(i)/max(em20,jac(i))
80 jfac =exp(fac*log(max(em20,base)))
81 dxx(i) = jfac*dxx(i)+jfac-one
82 dyy(i) = jfac*dyy(i)+jfac-one
83 dzz(i) = jfac*dzz(i)+jfac-one
84 dxy(i) = jfac*dxy(i)
85 dyx(i) = jfac*dyx(i)
86 dzx(i) = jfac*dzx(i)
87 dxz(i) = jfac*dxz(i)
88 dyz(i) = jfac*dyz(i)
89 dzy(i) = jfac*dzy(i)
90 voln(i) = jfac*voln(i)
91 ENDDO
92 END IF
93 ELSE
94c-------------------------------------------------------------------------
95 IF(iresp==1)THEN
96 DO i=1,nel
97 IF(offg(i)==zero.OR.abs(offg(i))>one) cycle
98 voldp(i) = (one-facp(i))*voldp(i)+facp(i)*jacg(i)*vol0dp(i)
99 voln(i) = voldp(i)
100 ENDDO
101 ELSE
102 DO i=1,nel
103 IF(offg(i)==zero.OR.abs(offg(i))>one) cycle
104 voln(i) = (one-facp(i))*voln(i)+facp(i)*jacg(i)*vol0(i)
105 ENDDO
106 ENDIF
107 END IF !(ISMSTR==1.OR.ISMSTR>=10)THEN
108C
109 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine jacob_j33(det, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, nel)
Definition jacob_j33.F:37
#define max(a, b)
Definition macros.h:21