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_velocity ../engine/source/assembly/ply_velocity.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_alloc_phase6 ../engine/source/engine/resol_alloc.F90
55!|| resol_init ../engine/source/engine/resol_init.F
56!|| spmd_anim_ply_init ../engine/source/mpi/anim/spmd_anim_ply_init.F
57!|| spmd_anim_ply_velvec ../engine/source/mpi/anim/spmd_anim_ply_velvec.F
58!|| spmd_anim_ply_xyznod ../engine/source/mpi/anim/spmd_anim_ply_xyznod.F
59!|| spmd_anim_ply_xyznor ../engine/source/mpi/anim/spmd_anim_ply_xyznor.F
60!|| spmd_exch2_a_pon ../engine/source/mpi/forces/spmd_exch2_a_pon.F
61!|| spmd_exchi_a_pon ../engine/source/mpi/forces/spmd_exchi_a_pon.F
62!|| spmd_iget_partn_ply ../engine/source/mpi/anim/spmd_iget_partn_ply.F
63!|| tensorc_ply ../engine/source/output/anim/generate/tensorc_ply.F
64!|| thnod ../engine/source/output/th/thnod.F
65!|| thnod_count ../engine/source/output/th/thnod_count.F
66!|| velvec ../engine/source/output/anim/generate/velvec.F
67!|| xyznod_ply ../engine/source/output/anim/generate/xyznod_ply.F
68!|| xyznor_ply ../engine/source/output/anim/generate/xyznor_ply.F
69!||====================================================================
70 MODULE plyxfem_mod
71C-----------------------------------------------
72C m y _ r e a l
73C-----------------------------------------------
74#include "my_real.inc"
75C------------------------
76C work array
77C------------------------
78C-----------------------------------------------
79C D e r i v e d T y p e D e f i n i t i o n s
80C-----------------------------------------------
81CC my_real,
82CC . DIMENSION(:,:,:),ALLOCATABLE :: PLYA,PLYV,PLYU,PLYFSKY
83C-------------------------------
84C Interesting brick data
85C-------------------------------
87 my_real,
88 . DIMENSION(:,:), POINTER :: a,v,u,fsky,fskyi,f
89 integer, DIMENSION(:),POINTER :: itag
90 END TYPE ply_data
91C
92 TYPE(ply_data), DIMENSION(:), ALLOCATABLE :: ply,plysky
93 TYPE(ply_data), ALLOCATABLE :: plyskyi
94 my_real,
95 . DIMENSION(:,:), ALLOCATABLE :: vn_nod
96
97C---------------------------------------------
98C Structures needed for animation writing
99C---------------------------------------------
100
101C PLY Nodes structures for animations
102 TYPE plynods
103 INTEGER plynumnods ! Number of nodes for each ply
104 INTEGER, DIMENSION (:), ALLOCATABLE :: nodes ! Nod ID for each ply
105 INTEGER, DIMENSION (:), ALLOCATABLE :: plynodid ! New Nod ID for Animation writing
106 END TYPE plynods
107
108 TYPE (plynods), DIMENSION(:), ALLOCATABLE :: plynod
109
110 INTEGER, DIMENSION(:,:), ALLOCATABLE :: plyiadnod
111
112C PLY SHELLS
113 TYPE plyshells
114 INTEGER plynumshell ! Number of shell elements for each ply
115 INTEGER, DIMENSION (:), ALLOCATABLE :: shid ! internal Shell ID for each ply
116 INTEGER, DIMENSION (:), ALLOCATABLE :: shellipt ! Ply Integration point for the ply in each shell
117 INTEGER, DIMENSION (:), ALLOCATABLE :: shellid ! Shell ID for global renumbering
118 END TYPE plyshells
119
120 TYPE (plyshells), DIMENSION(:), ALLOCATABLE :: plyshell
121
122C NPLYPART & IND_PLY are global values shared by all processors
123 INTEGER nplypart
124 INTEGER, DIMENSION(:), ALLOCATABLE :: indx_ply,plysizg,idpid_ply
125C-------------------------------
126C Interesting brick data
127C-------------------------------
128cc my_real,
129cc . DIMENSION(:,:), POINTER :: FSKY
130cc END TYPE PLYSKY_DATA
131cc TYPE(PLYSKY_DATA), DIMENSION(:), ALLOCATABLE :: PLYSKY
132cc INTEGER,
133cc . DIMENSION(:), ALLOCATABLE :: IADC_PXFEM, IADSKY_PFXEM
134 END MODULE plyxfem_mod
135
#define my_real
Definition cppsort.cpp:32
type(plynods), dimension(:), allocatable plynod
Definition plyxfem_mod.F:44
type(ply_data), dimension(:), allocatable ply
Definition plyxfem_mod.F:92
integer, dimension(:), allocatable indx_ply
Definition plyxfem_mod.F:60
type(ply_data), dimension(:), allocatable plysky
Definition plyxfem_mod.F:92
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:93
integer, dimension(:,:), allocatable plyiadnod
Definition plyxfem_mod.F:46
type(plyshells), dimension(:), allocatable plyshell
Definition plyxfem_mod.F:56