OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps122.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!|| sigeps122 ../engine/source/materials/mat/mat122/sigeps122.F
25!||--- called by ------------------------------------------------------
26!|| mulaw ../engine/source/materials/mat_share/mulaw.F90
27!||--- calls -----------------------------------------------------
28!|| mat122_newton ../engine/source/materials/mat/mat122/mat122_newton.F
29!|| mat122_nice ../engine/source/materials/mat/mat122/mat122_nice.F
30!||--- uses -----------------------------------------------------
31!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.f90
32!||====================================================================
33 SUBROUTINE sigeps122(
34 1 NEL ,NUPARAM ,NUVAR ,UPARAM ,UVAR ,RHO0 ,
35 2 EPSXX ,EPSYY ,EPSZZ ,PLA ,DPLA ,
36 3 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
37 4 SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
38 5 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
39 6 OFF ,SIGY ,ET ,DMG ,SEQ ,EPSD ,
40 7 SOUNDSP ,NFUNC ,IFUNC ,NPF ,TF ,NVARTMP ,
41 8 VARTMP )
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE elbufdef_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C C O M M O N
52C-----------------------------------------------
53#include "tabsiz_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER, INTENT(IN) :: NEL,NUPARAM,NUVAR,
58 . NFUNC,IFUNC(NFUNC),NPF(SNPC),NVARTMP
59 my_real, INTENT(IN) ::
60 . UPARAM(NUPARAM),TF(STF)
61 my_real,DIMENSION(NEL), INTENT(IN) ::
62 . RHO0,EPSXX,EPSYY,EPSZZ,
63 . DEPSXX,DEPSYY,DEPSZZ,DEPSXY,DEPSYZ,DEPSZX,
64 . SIGOYY,SIGOZZ,SIGOXY,SIGOYZ,SIGOZX
65 my_real ,DIMENSION(NEL), INTENT(OUT) ::
66 . signxx,signyy,signzz,signxy,signyz,signzx,
67 . soundsp,sigy,et
68 my_real ,DIMENSION(NEL), INTENT(INOUT) ::
69 . pla,dpla,epsd,off,seq
70 my_real ,DIMENSION(NEL,6), INTENT(INOUT) ::
71 . dmg
72 my_real ,DIMENSION(NEL,NUVAR), INTENT(INOUT) ::
73 . uvar
74 INTEGER, DIMENSION(NEL,NVARTMP), INTENT(INOUT) :: VARTMP
75C-----------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78 INTEGER IRES
79C=======================================================================
80c
81 ires = nint(uparam(17)) ! Plastic projection method
82 ! = 1 => Nice method
83 ! = 2 => Cutting plane
84c--------------------------
85 SELECT CASE (ires)
86c
87 CASE(1) ! Nice explicit return mapping
88c
89 CALL mat122_nice(
90 1 nel ,nuparam ,nuvar ,uparam ,uvar ,rho0 ,
91 2 epsxx ,epsyy ,epszz ,pla ,dpla ,
92 3 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
93 4 sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
94 5 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
95 6 off ,sigy ,et ,dmg ,seq ,epsd ,
96 7 soundsp ,nfunc ,ifunc ,npf ,tf ,nvartmp ,
97 8 vartmp )
98c
99 CASE(2) ! Cutting plane semi-implicit method
100c
101 CALL mat122_newton(
102 1 nel ,nuparam ,nuvar ,uparam ,uvar ,rho0 ,
103 2 epsxx ,epsyy ,epszz ,pla ,dpla ,
104 3 depsxx ,depsyy ,depszz ,depsxy ,depsyz ,depszx ,
105 4 sigoyy ,sigozz ,sigoxy ,sigoyz ,sigozx ,
106 5 signxx ,signyy ,signzz ,signxy ,signyz ,signzx ,
107 6 off ,sigy ,et ,dmg ,seq ,epsd ,
108 7 soundsp ,nfunc ,ifunc ,npf ,tf ,nvartmp ,
109 8 vartmp )
110c
111 END SELECT
112c-----------
113 END
subroutine mat122_newton(nel, nuparam, nuvar, uparam, uvar, rho0, epsxx, epsyy, epszz, pla, dpla, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, off, sigy, et, dmg, seq, epsd, soundsp, nfunc, ifunc, npf, tf, nvartmp, vartmp)
subroutine mat122_nice(nel, nuparam, nuvar, uparam, uvar, rho0, epsxx, epsyy, epszz, pla, dpla, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, off, sigy, et, dmg, seq, epsd, soundsp, nfunc, ifunc, npf, tf, nvartmp, vartmp)
Definition mat122_nice.F:39
subroutine sigeps122(nel, nuparam, nuvar, uparam, uvar, rho0, epsxx, epsyy, epszz, pla, dpla, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, off, sigy, et, dmg, seq, epsd, soundsp, nfunc, ifunc, npf, tf, nvartmp, vartmp)
Definition sigeps122.F:42