OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
joint_mod.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!|| joint_mod ../engine/share/modules/joint_mod.F
25!||--- called by ------------------------------------------------------
26!|| cjoint ../engine/source/constraints/general/cyl_joint/cjoint.F
27!|| deallocate_joint ../engine/source/constraints/general/cyl_joint/deallocate_joint.F
28!|| read_joint ../engine/source/output/restart/read_joint.F
29!|| spmd_split_comm_joint ../engine/source/mpi/init/spmd_split_comm_joint.F
30!|| telesc ../engine/source/constraints/general/cyl_joint/telesc.F
31!|| write_joint ../engine/source/output/restart/write_joint.F
32!||====================================================================
33 MODULE joint_mod
34#include "my_real.inc"
35!$COMMENT
36! JOINT_MOD description
37! module for /CYL_JOINT option
38!
39! JOINT_MOD organization :
40! the main /CYL_JOINT structure is CYL_JOINT
41! the type(comm_mpi_joint) proc structure is used for mpi communication
42! **_GLOBAL & **_6 variables are save variables (omp)
43!$ENDCOMMENT
45 INTEGER :: color ! color of the processor : 1 is the proc participates to the comm
46 INTEGER :: comm,rank ! sub communicator for a given /CYL_JOINT + rank iin the sub communicator
47 INTEGER, DIMENSION(:), ALLOCATABLE :: size_sr !
48 END TYPE comm_mpi_joint
49
50 TYPE joint_type
51 INTEGER :: PROC_MAIN ! proc main
52 INTEGER :: number_main_node ! number of main node
53 INTEGER :: number_proc,number_node,number_node_weight ! number of proc / node / weight
54 INTEGER, DIMENSION(:), ALLOCATABLE :: main_node ! list of main node
55 INTEGER, DIMENSION(:), ALLOCATABLE :: list_proc ! list of processor
56 INTEGER, DIMENSION(:), ALLOCATABLE :: node ! list of node
57 INTEGER, DIMENSION(:), ALLOCATABLE :: weight ! weight array
58 INTEGER, DIMENSION(:), ALLOCATABLE :: node_weight ! number of node with weight = 1
59 TYPE(comm_mpi_joint) :: comm_mpi
60 END TYPE joint_type
61
62 TYPE(joint_type), DIMENSION(:), ALLOCATABLE :: cyl_join
63 LOGICAL :: joint_sms
64
65 my_real, SAVE :: masse_global,iner_global
66 my_real, SAVE :: ax_global,ay_global,az_global
67 my_real, SAVE :: axx_global,ayy_global,azz_global
68 my_real, SAVE :: vx_global,vy_global,vz_global
69 my_real, SAVE :: vxx_global,vyy_global,vzz_global
70 my_real, SAVE :: xcdg_global,ycdg_global,zcdg_global
71
72
73 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: mass
74 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: x_ms,y_ms,z_ms
75 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: iner_vec
76 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: ax_ms,ay_ms,az_ms
77 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: axx_vec,ayy_vec,azz_vec
78 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: vx_ms,vy_ms,vz_ms
79 my_real, DIMENSION(:), ALLOCATABLE, SAVE :: vxx_vec,vyy_vec,vzz_vec
80
81 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: mass_6
82 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: x_ms_6,y_ms_6,z_ms_6
83 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: iner_6
84 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: ax_ms_6,ay_ms_6,az_ms_6
85 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: axx_6,ayy_6,azz_6
86 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: vx_ms_6,vy_ms_6,vz_ms_6
87 REAL(kind=8), dimension(:,:), ALLOCATABLE, SAVE :: vxx_6,vyy_6,vzz_6
88 END MODULE joint_mod
#define my_real
Definition cppsort.cpp:32
end diagonal values have been computed in the(sparse) matrix id.SOL
real(kind=8), dimension(:,:), allocatable, save azz_6
Definition joint_mod.F:85
real(kind=8), dimension(:,:), allocatable, save vyy_6
Definition joint_mod.F:87
real(kind=8), dimension(:,:), allocatable, save mass_6
Definition joint_mod.F:81
real(kind=8), dimension(:,:), allocatable, save vy_ms_6
Definition joint_mod.F:86
real(kind=8), dimension(:,:), allocatable, save az_ms_6
Definition joint_mod.F:84
logical joint_sms
Definition joint_mod.F:62
real(kind=8), dimension(:,:), allocatable, save ayy_6
Definition joint_mod.F:85
real(kind=8), dimension(:,:), allocatable, save vzz_6
Definition joint_mod.F:87
real(kind=8), dimension(:,:), allocatable, save ax_ms_6
Definition joint_mod.F:84
real(kind=8), dimension(:,:), allocatable, save y_ms_6
Definition joint_mod.F:82
real(kind=8), dimension(:,:), allocatable, save vz_ms_6
Definition joint_mod.F:86
real(kind=8), dimension(:,:), allocatable, save ay_ms_6
Definition joint_mod.F:84
type(joint_type), dimension(:), allocatable cyl_join
Definition joint_mod.F:61
real(kind=8), dimension(:,:), allocatable, save vx_ms_6
Definition joint_mod.F:86
real(kind=8), dimension(:,:), allocatable, save vxx_6
Definition joint_mod.F:87
real(kind=8), dimension(:,:), allocatable, save iner_6
Definition joint_mod.F:83
real(kind=8), dimension(:,:), allocatable, save x_ms_6
Definition joint_mod.F:82
real(kind=8), dimension(:,:), allocatable, save axx_6
Definition joint_mod.F:85
real(kind=8), dimension(:,:), allocatable, save z_ms_6
Definition joint_mod.F:82