OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_joint.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine write_joint ()

Function/Subroutine Documentation

◆ write_joint()

subroutine write_joint

Definition at line 33 of file write_joint.F.

34!$COMMENT
35! WRITE_JOINT description
36! write the joint structure
37!
38! WRITE_JOINT organization :
39!$ENDCOMMENT
40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE joint_mod
44 USE restmod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C C o m m o n B l o c k s
51C-----------------------------------------------
52#include "com01_c.inc"
53#include "com04_c.inc"
54#include "tabsiz_c.inc"
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER :: N,IS_SMS_AVAILABLE
59 INTEGER, DIMENSION(NJOINT) :: NUMBER_NODE
60
61 IF(njoint>0) THEN
62 DO n=1,njoint
63 number_node(n) = cyl_join(n)%NUMBER_NODE
64 ENDDO
65 ! number of node per proc (all proc --> size=nspmd)
66 CALL write_i_c(number_node,njoint)
67
68 ! ------------------------------
69 DO n=1,njoint
70 IF(number_node(n)>0) THEN
71 ! proc main for the current joint
72 CALL write_i_c(cyl_join(n)%PROC_MAIN,1)
73 ! number of proc for the current joint
74 CALL write_i_c(cyl_join(n)%NUMBER_PROC,1)
75 ! list of proc for the current joint
76 CALL write_i_c(cyl_join(n)%LIST_PROC,cyl_join(n)%NUMBER_PROC)
77 ! list of node for the current joint
78 CALL write_i_c(cyl_join(n)%NODE,cyl_join(n)%NUMBER_NODE)
79 ! weight array for the current joint
80 CALL write_i_c(cyl_join(n)%WEIGHT,cyl_join(n)%NUMBER_NODE)
81 ENDIF
82 ! number of sent node for mpi comm
83 CALL write_i_c(cyl_join(n)%COMM_MPI%SIZE_SR,nspmd)
84 ! main node
85 CALL write_i_c(cyl_join(n)%MAIN_NODE,2)
86 ENDDO
87 ! ------------------------------
88
89 is_sms_available = 0
90 IF(joint_sms) is_sms_available = 1
91 CALL write_i_c(is_sms_available,1)
92
93 IF(joint_sms) CALL write_i_c(ljoint,sljoint)
94
95 ENDIF
96C
97 RETURN
logical joint_sms
Definition joint_mod.F:62
type(joint_type), dimension(:), allocatable cyl_join
Definition joint_mod.F:61
integer, dimension(:), allocatable ljoint
Definition restart_mod.F:60
void write_i_c(int *w, int *len)