OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
update_failwave.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!|| update_failwave ../engine/source/materials/fail/failwave/update_failwave.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- calls -----------------------------------------------------
28!|| spmd_exch_failwave ../engine/source/mpi/output/spmd_exch_failwave.F
29!||--- uses -----------------------------------------------------
30!|| debug_mod ../engine/share/modules/debug_mod.F
31!|| failwave_mod ../common_source/modules/failwave_mod.F
32!||====================================================================
33 SUBROUTINE update_failwave(FAILWAVE)
34C-----------------------------------------------
35C M o d u l e s
36C-----------------------------------------------
37 USE failwave_mod
38 USE debug_mod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "com01_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 TYPE (FAILWAVE_STR_) ,TARGET :: FAILWAVE
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER I,J,K,NNOD,NDDL,LEVEL
55C=======================================================================
56 nnod = failwave%NNOD
57 nddl = failwave%NDDL
58 failwave%MAXLEV(1:nnod) = failwave%MAXLEV_STACK(1:nnod)
59 failwave%MAXLEV_STACK(1:nnod) = 0
60c
61 DO i=1,nnod
62 level = min(failwave%MAXLEV(i), failwave%SIZE)
63 DO j=1,level
64 DO k=1,nddl
65 failwave%FWAVE_NOD(k,i,j) = failwave%FWAVE_NOD_STACK(k,i,j)
66 ENDDO
67 ENDDO
68 ENDDO
69 IF (nspmd > 1 )THEN
70 CALL spmd_exch_failwave(failwave)
71 ENDIF
72c----------
73 END
#define min(a, b)
Definition macros.h:20
subroutine spmd_exch_failwave(failwave)
subroutine update_failwave(failwave)