OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
asspar_sub_poff.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!|| asspar_sub_poff ../engine/source/assembly/asspar_sub_poff.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||====================================================================
28 SUBROUTINE asspar_sub_poff(A ,NODFT ,NODLT ,
29 . POSI ,SIZEA ,NTHREAD )
30C-----------------------------------------------
31C I m p l i c i t T y p e s
32C-----------------------------------------------
33#include "implicit_f.inc"
34C-----------------------------------------------
35C D u m m y A r g u m e n t s
36C----------------------------------------------
37 INTEGER NODFT,NODLT,POSI(*),NTHREAD
38 INTEGER SIZEA
39 my_real
40 . a(sizea,nthread)
41C-----------------------------------------------
42C L o c a l V a r i a b l e s
43C-----------------------------------------------
44 INTEGER K,NN,NPOS,NDDL,J
45C
46 ! Loop over threads
47 DO k = 2,nthread
48 DO nn = nodft, nodlt ! Loop over the nodes of the subset
49 npos = posi(nn) ! Position of its first d.o.f in A
50 nddl = posi(nn+1) - npos ! Number of additional degrees of freedom
51 DO j = 1,nddl ! Loop over additional d.o.fs
52 a(npos+j-1,1) = a(npos+j-1,1) + a(npos+j-1,k) ! Assembling acceleration on threads
53 a(npos+j-1,k) = zero ! Setting to zero the acceleration on the secnd thread
54 ENDDO
55 ENDDO
56 ENDDO
57C
58 RETURN
59 END
subroutine asspar_sub_poff(a, nodft, nodlt, posi, sizea, nthread)
#define my_real
Definition cppsort.cpp:32