OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
plyxfem_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!|| plyxfem_mod ../engine/share/modules/plyxfem_mod.F
25!||--- called by ------------------------------------------------------
26!|| anioffc_ply ../engine/source/output/anim/generate/anioffc_ply.F
27!|| asspar4 ../engine/source/assembly/asspar4.F
28!|| cbacoor ../engine/source/elements/shell/coqueba/cbacoor.F
29!|| cbavit_ply ../engine/source/properties/composite_options/stack/cbavit_ply.F
30!|| cupdt_ply ../engine/source/properties/composite_options/stack/cupdt_ply.F
31!|| delnumbc_ply ../engine/source/output/anim/generate/delnumbc_ply.F
32!|| dfuncc_ply ../engine/source/output/anim/generate/dfuncc_ply.F
33!|| genani ../engine/source/output/anim/generate/genani.F
34!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
35!|| get_ply_elem ../engine/source/output/anim/generate/anin_ply_init.F
36!|| get_ply_nod ../engine/source/output/anim/generate/anin_ply_init.F
37!|| get_ply_nodid ../engine/source/output/anim/generate/anin_ply_init.F
38!|| i24ass0 ../engine/source/interfaces/int24/i24for3.F
39!|| i24ass2 ../engine/source/interfaces/int24/i24for3.F
40!|| i24for3 ../engine/source/interfaces/int24/i24for3.F
41!|| i24gap_pxfem ../engine/source/interfaces/int24/i24gap_pxfem.F
42!|| i24iply_pxfem ../engine/source/interfaces/int24/i24iply_pxfem.F
43!|| i25for3 ../engine/source/interfaces/int25/i25for3.F
44!|| parsor_ply ../engine/source/output/anim/generate/parsor_ply.F
45!|| ply_accele ../engine/source/assembly/ply_accele.F
46!|| ply_bcs1v ../engine/source/constraints/general/bcs/ply_bcs.F
47!|| ply_vitesse ../engine/source/assembly/ply_vitesse.F
48!|| plyxfem_ravuply ../engine/source/output/restart/rdresb.F
49!|| plyxfem_rrestanim ../engine/source/output/restart/rdresb.F
50!|| plyxfem_wravuply ../engine/source/output/restart/wrrest.F
51!|| plyxfem_wrestanim ../engine/source/output/restart/wrrest.F
52!|| reallocate_i_skyline ../engine/source/system/reallocate_skyline.F
53!|| resol ../engine/source/engine/resol.F
54!|| resol_init ../engine/source/engine/resol_init.F
55!|| spmd_anim_ply_init ../engine/source/mpi/anim/spmd_anim_ply_init.F
56!|| spmd_anim_ply_velvec ../engine/source/mpi/anim/spmd_anim_ply_velvec.F
57!|| spmd_anim_ply_xyznod ../engine/source/mpi/anim/spmd_anim_ply_xyznod.F
58!|| spmd_anim_ply_xyznor ../engine/source/mpi/anim/spmd_anim_ply_xyznor.F
59!|| spmd_exch2_a_pon ../engine/source/mpi/forces/spmd_exch2_a_pon.F
60!|| spmd_exchi_a_pon ../engine/source/mpi/forces/spmd_exchi_a_pon.F
61!|| spmd_iget_partn_ply ../engine/source/mpi/anim/spmd_iget_partn_ply.F
62!|| tensorc_ply ../engine/source/output/anim/generate/tensorc_ply.f
63!|| thnod ../engine/source/output/th/thnod.F
64!|| thnod_count ../engine/source/output/th/thnod_count.F
65!|| velvec ../engine/source/output/anim/generate/velvec.F
66!|| xyznod_ply ../engine/source/output/anim/generate/xyznod_ply.F
67!|| xyznor_ply ../engine/source/output/anim/generate/xyznor_ply.F
68!||====================================================================
69 MODULE plyxfem_mod
70C-----------------------------------------------
71C m y _ r e a l
72C-----------------------------------------------
73#include "my_real.inc"
74C------------------------
75C tableau de travail
76C------------------------
77C-----------------------------------------------
78C D e r i v e d T y p e D e f i n i t i o n s
79C-----------------------------------------------
80CC my_real,
81CC . DIMENSION(:,:,:),ALLOCATABLE :: PLYA,PLYV,PLYU,PLYFSKY
82C-------------------------------
83C Donnees briques intersectantes
84C-------------------------------
86 my_real,
87 . DIMENSION(:,:), POINTER :: a,v,u,fsky,fskyi,f
88 integer, DIMENSION(:),POINTER :: itag
89 END TYPE ply_data
90C
91 TYPE(ply_data), DIMENSION(:), ALLOCATABLE :: ply,plysky
92 TYPE(ply_data), ALLOCATABLE :: plyskyi
93 my_real,
94 . DIMENSION(:,:), ALLOCATABLE :: vn_nod
95
96C---------------------------------------------
97C Structures needed for animation writing
98C---------------------------------------------
99
100C PLY Nodes structures for animations
101 TYPE plynods
102 INTEGER plynumnods ! number of nodes for each ply
103 INTEGER, DIMENSION (:), ALLOCATABLE :: nodes ! Nod ID for each ply
104 INTEGER, DIMENSION (:), ALLOCATABLE :: plynodid ! New Nod ID for Animation writing
105 END TYPE plynods
106
107 TYPE (plynods), DIMENSION(:), ALLOCATABLE :: plynod
108
109 INTEGER, DIMENSION(:,:), ALLOCATABLE :: plyiadnod
110
111C PLY SHELLS
112 TYPE plyshells
113 INTEGER plynumshell ! Number of shell elements for each ply
114 INTEGER, DIMENSION (:), ALLOCATABLE :: shid ! internal Shell ID for each ply
115 INTEGER, DIMENSION (:), ALLOCATABLE :: shellipt ! Ply Integration point for the ply in each shell
116 INTEGER, DIMENSION (:), ALLOCATABLE :: shellid ! Shell ID for global renumbering
117 END TYPE plyshells
118
119 TYPE (plyshells), DIMENSION(:), ALLOCATABLE :: plyshell
120
121C NPLYPART & IND_PLY are global values shared by all processors
122 INTEGER nplypart
123 INTEGER, DIMENSION(:), ALLOCATABLE :: indx_ply,plysizg,idpid_ply
124C-------------------------------
125C Donnees briques intersectantes
126C-------------------------------
127cc my_real,
128cc . DIMENSION(:,:), POINTER :: FSKY
129cc END TYPE PLYSKY_DATA
130cc TYPE(PLYSKY_DATA), DIMENSION(:), ALLOCATABLE :: PLYSKY
131cc INTEGER,
132cc . DIMENSION(:), ALLOCATABLE :: IADC_PXFEM, IADSKY_PFXEM
133 END MODULE plyxfem_mod
134
#define my_real
Definition cppsort.cpp:32
for(i8=*sizetab-1;i8 >=0;i8--)
type(plynods), dimension(:), allocatable plynod
Definition plyxfem_mod.F:44
type(ply_data), dimension(:), allocatable ply
Definition plyxfem_mod.F:91
integer, dimension(:), allocatable indx_ply
Definition plyxfem_mod.F:60
type(ply_data), dimension(:), allocatable plysky
Definition plyxfem_mod.F:91
integer nplypart
Definition plyxfem_mod.F:59
integer, dimension(:), allocatable idpid_ply
Definition plyxfem_mod.F:61
integer, dimension(:), allocatable plysizg
type(ply_data), allocatable plyskyi
Definition plyxfem_mod.F:92
integer, dimension(:,:), allocatable plyiadnod
Definition plyxfem_mod.F:46
type(plyshells), dimension(:), allocatable plyshell
Definition plyxfem_mod.F:56
subroutine tensorc_ply(iply, nel_ply, elbuf_tab, iparg, itens, invert, el2fa, nbf, tens, epsdot, iadp, nbf_l, nbpart, iadg, x, ixc, mat_param, igeo, ixtg, nbf_pxfemg, ipm, stack)
Definition tensorc_ply.F:44