OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecm85_void.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!|| lecm85_void ../starter/source/materials/mat/mat085/lecm85_void.F
25!||====================================================================
26 SUBROUTINE lecm85_void(IIN ,IOUT ,UPARAM ,MAXUPARAM,NUPARAM,
27 . NUVAR,IFUNC,MAXFUNC,NFUNC ,PARMAT )
28C-----------------------------------------------
29C I m p l i c i t T y p e s
30C-----------------------------------------------
31#include "implicit_f.inc"
32C----------+---------+---+---+--------------------------------------------
33C VAR | SIZE |TYP| RW| DEFINITION
34C----------+---------+---+---+--------------------------------------------
35C IIN | 1 | I | R | INPUT FILE UNIT (D00 file)
36C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
37C UPARAM | NUPARAM | F | W | USER MATERIAL PARAMETER ARRAY
38C MAXUPARAM| 1 | I | R | MAXIMUM SIZE OF UPARAM
39C NUPARAM | 1 | I | W | SIZE OF UPARAM =< MAXUPARAM
40C NUVAR | 1 | I | W | NUMBER OF USER ELEMENT VARIABLES
41C----------+---------+---+---+--------------------------------------------
42C IFUNC | NFUNC | I | W | FUNCTION NUMBER ARRAY
43C MAXFUNC | 1 | I | R | MAXIMUM SIZE OF IFUNC
44C NFUNC | 1 | I | W | SIZE OF IFUNC =< MAXFUNC
45C----------+---------+---+---+--------------------------------------------
46C (STIFINT)| | Replaced by PARMAT(1)
47C PARMAT | 3 | F | W | 1)STIFNESS MODULUS FOR INTERFACE
48C |(in v31) | | | (AND INITIAL TIME STEP COMPUTATION)
49C | | | | 2)YOUNG MODULUS (only needed for shells)
50C | | | | 3)POISSON'S RATIO (only needed for shells)
51C | | | | 4... Possible future use
52C----------+---------+---+---+--------------------------------------------
53C
54C This subroutine read the user material parameters.
55C The material cards that are common for all materials
56C (card 1 to 7 in version 2.2) have previously been read.
57C The NUPARAM material datas have to bee stored in UPARAM array.
58C If some standard radioss functions (time function or
59C x,y function) are needed, this NFUNC function numbers have to
60C bee stored in IFUNC array.
61C-----------------------------------------------
62C D u m m y A r g u m e n t s
63C-----------------------------------------------
64 INTEGER IIN,IOUT,MAXUPARAM,NUPARAM,NUVAR,MAXFUNC,NFUNC,
65 . ifunc(maxfunc)
66 my_real uparam(maxuparam),parmat(*)
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 my_real e,nu,a11,a12,a44
71C=======================================================================
72C
73C EXAMPLE : ELASTIC LAW
74C
75C=======================================================================
76C
77 READ(iin,'(2F16.0)')e,nu
78 a11 = e * (one - nu) / (one + nu) / (one - two*nu)
79 a12 = e * nu / (one + nu) / (one - two*nu)
80 a44 = e / two / (one+nu)
81C
82 IF(nu<zero.OR.nu>=half)THEN
83 WRITE(iout,*)' ** ERROR : WRONG NU VALUE'
84 ENDIF
85 nuparam = 7
86 IF(nuparam>maxuparam)THEN
87 WRITE(iout,*)' ** ERROR : NUPARAM GT MAXUPARAM'
88 WRITE(iout,*)' NUPARAM =',nuparam,
89 . ' MAXUPARAM =',maxuparam
90 ELSE
91C used in sigeps29 (solid 2d,3d)
92 uparam(1) = a11
93 uparam(2) = a12
94 uparam(3) = a44
95 uparam(4) = e/(one-nu*nu)
96 uparam(5) = nu*e/(one - nu*nu)
97 uparam(6) = half*e/(one + nu)
98
99 uparam(7) = e
100 ENDIF
101C
102 nuvar = 0
103 nfunc = 0
104C used for interface (solid+shell)
105 parmat(1) = a11
106C used for shell
107 parmat(2) = e
108 parmat(3) = nu
109C
110 WRITE(iout,1000)
111 WRITE(iout,1100)e,nu
112C
113 1000 FORMAT(
114 & 5x,' ELASTIC USER LAW ',/,
115 & 5x,' ---------------- ',//)
116 1100 FORMAT(
117 & 5x,'E . . . . . . . . . . . . . . . . . . .=',e12.4/
118 & 5x,'NU. . . . . . . . . . . . . . . . . . .=',e12.4//)
119C
120 RETURN
121 END
#define my_real
Definition cppsort.cpp:32
subroutine lecm85_void(iin, iout, uparam, maxuparam, nuparam, nuvar, ifunc, maxfunc, nfunc, parmat)
Definition lecm85_void.F:28