OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
modsti.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!|| modsti ../engine/source/time_step/modsti.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||====================================================================
28 SUBROUTINE modsti(NODFT,NODLT,STIFN,VISCN,MS)
29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C C o m m o n B l o c k s
35C-----------------------------------------------
36C
37 INTEGER NODFT,NODLT
38 my_real
39 . stifn(*),viscn(*),ms(*)
40C----------------------------------------
41C L o c a l V a r i a b l e s
42C----------------------------------------
43 INTEGER I,N
44 my_real
45 . c2,c21,aux
46C----------------------------------------
47 DO i=nodft,nodlt
48 IF(ms(i)>zero)THEN
49 c2 = four*viscn(i)*viscn(i)
50 c21 = eight*ms(i)*stifn(i)
51 aux = sqrt(c2+c21)+2.*viscn(i)
52 stifn(i)= one_over_8*aux*aux/max(ms(i),em30)
53C STIFN(I)= STIFN(I)*AUX*AUX/MAX(C21,EM30)
54 stifn(i)= max(stifn(i),two*viscn(i)*viscn(i)/max(ms(i),em30))
55 viscn(i)= zero
56 ENDIF
57 ENDDO
58C
59 RETURN
60 END
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
subroutine modsti(nodft, nodlt, stifn, viscn, ms)
Definition modsti.F:29