OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cbavisc.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!|| cbavisc ../engine/source/elements/shell/coqueba/cbavisc.F
25!||--- called by ------------------------------------------------------
26!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
27!|| cdk6forc3 ../engine/source/elements/sh3n/coquedk6/cdk6forc3.F
28!|| cdkforc3 ../engine/source/elements/sh3n/coquedk/cdkforc3.F
29!||====================================================================
30 SUBROUTINE cbavisc(JFT ,JLT ,VDEF ,AMU ,OFF ,
31 2 SHF ,NU ,RHO ,SSP ,AREA,
32 3 THK ,FOR ,MOM ,NPT ,MTN ,
33 4 IPARTC ,EVIS ,DT1 ,NEL )
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38#include "param_c.inc"
39#include "mvsiz_p.inc"
40C-----------------------------------------------
41C G l o b a l P a r a m e t e r s
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER JFT, JLT ,NPT,MTN,MX,IPARTC(*),NEL
46 my_real
47 . VDEF(MVSIZ,8),OFF(*),SHF(*),
48 . for(nel,5),mom(nel,3),amu(*),rho(*),ssp(*),
49 . area(*),thk(*),nu(*),evis(npsav,*),dt1
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I, J
54 my_real
55 . DTINV,VISC(MVSIZ),GG,GS,FAC,FX,FY,FXY,DV(MVSIZ)
56C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
57C
58 IF (npt == 1.AND.mtn /= 1) THEN
59 fac =zero
60 ELSE
61 fac =one
62 ENDIF
63 DO i=jft,jlt
64 visc(i) =onep414*off(i)*amu(i)*rho(i)*ssp(i)*sqrt(area(i))
65 gg =half/(one+nu(i))
66 fx =visc(i)*(vdef(i,1)+nu(i)*vdef(i,2))
67 fy =visc(i)*(vdef(i,2)+nu(i)*vdef(i,1))
68 fxy =visc(i)*vdef(i,3) *gg
69 for(i,1)=for(i,1)+fx
70 for(i,2)=for(i,2)+fy
71 for(i,3)=for(i,3)+fxy
72 dv(i) =area(i)*thk(i)*dt1
73 mx = ipartc(i)
74 evis(8,mx)=evis(8,mx)+(fx*vdef(i,1)+fy*vdef(i,2))*dv(i)
75 ENDDO
76 IF (npt /= 1) THEN
77 DO i=jft,jlt
78 visc(i) =zep3*thk(i)*visc(i)
79 gg =half/(one+nu(i))
80 fx =visc(i)*(vdef(i,6)+nu(i)*vdef(i,7))
81 fy =visc(i)*(vdef(i,7)+nu(i)*vdef(i,6))
82 fxy =visc(i)* vdef(i,8) *gg
83 mom(i,1)=mom(i,1)+fx
84 mom(i,2)=mom(i,2)+fy
85 mom(i,3)=mom(i,3)+fxy
86 dv(i) =dv(i)*thk(i)
87 mx = ipartc(i)
88 evis(8,mx)=evis(8,mx)
89 . +(fx*vdef(i,6)+fy*vdef(i,7)+fxy*vdef(i,8))*dv(i)
90 ENDDO
91 ENDIF
92C
93 RETURN
94 END
95!||====================================================================
96!|| cbavisnp1 ../engine/source/elements/shell/coqueba/cbavisc.F
97!||--- called by ------------------------------------------------------
98!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
99!||====================================================================
100 SUBROUTINE cbavisnp1(JFT, JLT,VXYZ,RXYZ,VCORE,
101 1 AMU, OFF,RHO ,SSP ,AREA,THK ,
102 2 G ,DT1 ,VF ,
103 3 IPARTC,EVIS,KFTS)
104C-----------------------------------------------
105C I m p l i c i t T y p e s
106C-----------------------------------------------
107#include "implicit_f.inc"
108#include "param_c.inc"
109#include "mvsiz_p.inc"
110C-----------------------------------------------
111C D u m m y A r g u m e n t s
112C-----------------------------------------------
113 INTEGER JFT, JLT ,IPARTC(*)
114 my_real
115 . OFF(*),VF(MVSIZ,3,4),G(*),
116 . VCORE(MVSIZ,3,4),VXYZ(MVSIZ,3,4),RXYZ(MVSIZ,2,4),
117 . AMU(*),RHO(*),SSP(*),AREA(*),THK(*),EVIS(NPSAV,*),DT1
118 INTEGER KFTS
119C-----------------------------------------------
120C L o c a l V a r i a b l e s
121C-----------------------------------------------
122 INTEGER I,MX, IC, II, J, JST(MVSIZ+1)
123 my_real
124 . c2,hsura,mx23,my23,mx34,my34,mx13r,my13r,
125 . sc6_v,sc5_v,cxz_v,cyz_v,ss3_v,hvl,rx13,ry13,rx24,ry24,
126 . rxsom,rysom,tesy(mvsiz),vhxz(mvsiz),vhyz(mvsiz)
127C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
128 DO i=jft,jlt
129 rx13 =rxyz(i,1,1)
130 rx24 =rxyz(i,1,2)
131 rxsom=rxyz(i,1,4)
132 ry13 =rxyz(i,2,1)
133 ry24 =rxyz(i,2,2)
134 rysom=rxyz(i,2,4)
135 my13r=vcore(i,3,4)*rxsom
136 mx13r=vcore(i,2,4)*rysom
137 vhxz(i)=vxyz(i,3,3)-(my13r-vcore(i,2,3)*(rx13+rx24)
138 1 -mx13r+vcore(i,1,3)*(ry13+ry24))*fourth
139 vhyz(i)=vxyz(i,3,3)-(my13r-vcore(i,1,4)*(rx13-rx24)
140 1 -mx13r+vcore(i,3,3)*(ry13-ry24))*fourth
141 ENDDO
142C
143 DO i=jft,jlt
144 mx23=vcore(i,1,3)
145 mx34=vcore(i,3,3)
146 my23=vcore(i,2,3)
147 my34=vcore(i,1,4)
148 c2 =one_over_12*g(i)*rho(i)*area(i)
149 hvl = two1000*amu(i)*sqrt(c2)*off(i)
150 cxz_v=(my34*my34+mx34*mx34)*hvl
151 cyz_v=(my23*my23+mx23*mx23)*hvl
152 hsura=thk(i)/area(i)
153 sc5_v=cxz_v*vhxz(i)*hsura
154 sc6_v=cyz_v*vhyz(i)*hsura
155 ss3_v = sc5_v+sc6_v
156C--------NOEUDS 1,3-------
157 vf(i,3,3)=vf(i,3,3)+ss3_v
158C--------NOEUDS 2,4-------
159 vf(i,3,4)=vf(i,3,4)-ss3_v
160 tesy(i)= (sc5_v*vhxz(i)+sc6_v*vhyz(i))*dt1
161 ENDDO
162C
163 mx = ipartc(jft)
164 DO i=jft,jlt
165 evis(8,mx)=evis(8,mx) + tesy(i)
166 ENDDO
167C
168 RETURN
169 END
subroutine cbavisnp1(jft, jlt, vxyz, rxyz, vcore, amu, off, rho, ssp, area, thk, g, dt1, vf, ipartc, evis, kfts)
Definition cbavisc.F:104
subroutine cbavisc(jft, jlt, vdef, amu, off, shf, nu, rho, ssp, area, thk, for, mom, npt, mtn, ipartc, evis, dt1, nel)
Definition cbavisc.F:34
subroutine area(d1, x, x2, y, y2, eint, stif0)
for(i8=*sizetab-1;i8 >=0;i8--)