OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
meshsurfig3d_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!|| meshsurfig3d_mod ../starter/source/elements/ige3d/meshsurfig3d_mod.F
25!||--- called by ------------------------------------------------------
26!|| lecig3d ../starter/source/elements/ige3d/lecig3d.F
27!|| lectur ../starter/source/starter/lectur.F
28!|| nbadigemesh ../starter/source/elements/ige3d/nbadigemesh.F
29!|| prerafig3d ../starter/source/elements/ige3d/prerafig3d.F
30!|| rafig3d ../starter/source/elements/ige3d/rafig3d.F
31!|| rebuild_ig3d ../starter/source/elements/ige3d/rebuild_ig3d.F
32!||====================================================================
34C----------------------------------------------------------------------
35C DEFINITION OF DERIVED STRUCTURES ALLOWING REFINEMENT OF
36C ISOGEOMETRIC ELEMENTS IN THE STARTER
37C----------------------------------------------------------------------
38#include "my_real.inc"
39C----------------------------------------------------------------------
40C MESHSURFIG3D_ : STRUCTURE DEFINING CUTTING SURFACES (MESHSURF)
41C----------------------------------------------------------------------
43C--------------------------------------------------------------------------------------------------------
44C VAR | SIZE | TYP | DEFINITION
45C--------------------------------------------------------------------------------------------------------
46C ID_MESHSURF | 1 | I | NUMBER OF THE CUTTING SURFACE (MESHSURF)
47C ID_PID | 1 | I | NUMBER OF THE CORRESPONDING PROPERTY (DIFFERENTIATES PATCHES)
48C DIR | 1 | I | REFINEMENT DIRECTION
49C KNOT_INSERE | 1 | R | NEW KNOT INSERTED LOCALLY
50C L_TAB_ELCUT | 1 | I | NUMBER OF REFINED ELEMENTS
51C TAB_ELCUT | L_TAB_ELCUT | I | LIST OF IDs OF REFINED ELEMENTS
52C L_TAB_NEWEL | 1 | I | NUMBER OF CREATED ELEMENTS
53C TAB_NEWEL | L_TAB_NEWEL | I | LIST OF IDs OF NEW ELEMENTS
54C L_TAB_FCTCUT | 1 | I | NUMBER OF REFINED FUNCTIONS
55C TAB_FCTCUT | L_TAB_FCTCUT | I | LIST OF IDs OF REFINED FUNCTIONS
56C L_TAB_MESHSURFCUT | 1 | I | NUMBER OF INTERSECTING CUTTING SURFACES
57C TAB_MESHSURFCUT | L_TAB_MESHS..| I | LIST OF IDs OF INTERSECTING CUTTING SURFACES
58C L_TAB_COINKNOT | 1 | I | NUMBER OF COINS DEFINING THE CUTTING SURFACE
59C list of coordinates in the plane tangent to the direction
60C of the cut of the corners defining the shape of the surface
61C--------------------------------------------------------------------------------------------------------
62C
63 INTEGER id_meshsurf
64 INTEGER id_pid
65 INTEGER dir
66 my_real knot_insere
67 INTEGER l_tab_elcut
68 INTEGER, DIMENSION(:),ALLOCATABLE :: tab_elcut
69 INTEGER l_tab_newel
70 INTEGER, DIMENSION(:),ALLOCATABLE :: tab_newel
71 INTEGER l_tab_fctcut
72 INTEGER, DIMENSION(:),ALLOCATABLE :: tab_fctcut
73 INTEGER l_tab_meshsurfcut
74 INTEGER, DIMENSION(:),ALLOCATABLE :: tab_meshsurfcut
75 INTEGER l_tab_coinknot
76 my_real, DIMENSION(:,:),ALLOCATABLE :: tab_coinknot
77C
78 END TYPE meshsurfig3d_
79C
80C----------------------------------------------------------------------
81C TABCONPATCH_IG3D_ : STRUCTURE DEFINISSANT LES PATCHS ISOGOMETRIQUES
82C----------------------------------------------------------------------
84C--------------------------------------------------------------------------------------------------------
85C VAR | SIZE | TYP | DEFINITION
86C--------------------------------------------------------------------------------------------------------
87C ID_TABCONRF | 1 | I | PATCH ID
88C property id
89C L_TAB_IG3D | 1 | I | NUMBER OF ISOGEOMETRIC ELEMENTS OF PATCH (BEFORE REFINEMENT)
90C list of the ids of the isogeometric elements of the patch
91C storage of the initial number of refinements for each element
92C of the patch coming from the input (per direction)
93C--------------------------------------------------------------------------------------------------------
94C
95 INTEGER id_tabcon
96 INTEGER pid
97 INTEGER l_tab_ig3d
98 INTEGER, DIMENSION(:),ALLOCATABLE :: tab_ig3d
99 INTEGER, DIMENSION(:,:), ALLOCATABLE :: initial_cut
100C
101 END TYPE tabconpatch_ig3d_
102C
103C note: in tabconbpatch: one can know and predict in tab_ig3d the created elements
104C WE CAN HAVE AN ARRAY (:) TAB_IG3D_MODIF AND L_BTA_IG3D_MODIF
105C TO KNOW WHICH ELEMENTS NEED TREATMENT OF THEIR
106C connectivity table
107C THE GLOBAL ARRAY IDFILS SHOULD ALSO BE PASSED LOCALLY BY PATCH
108C would allow storage by patch, so possible parallelization
109C--------------------------------------------------------------------
110C
111 END MODULE meshsurfig3d_mod
112C
#define my_real
Definition cppsort.cpp:32