OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
set_merge_simple.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!|| set_merge_simple ../starter/source/model/sets/set_merge_simple.F
25!||--- called by ------------------------------------------------------
26!|| elt_box ../starter/source/model/sets/fill_clause_elt_box.F
27!|| fill_clause_elt_box ../starter/source/model/sets/fill_clause_elt_box.F
28!|| fill_clause_node_box ../starter/source/model/sets/fill_clause_node_box.F
29!|| fill_clause_rbody_box ../starter/source/model/sets/fill_clause_rbody_box.F
30!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
31!|| node_box ../starter/source/model/sets/fill_clause_node_box.F
32!|| rbody_box ../starter/source/model/sets/fill_clause_rbody_box.F
33!|| sort_set ../starter/source/model/sets/sort_sets.F
34!||--- calls -----------------------------------------------------
35!||--- uses -----------------------------------------------------
36!|| set_mod ../starter/share/modules1/set_mod.F
37!||====================================================================
38 SUBROUTINE set_merge_simple( SET_ENTITY, NB_SET_ENTITY,
39 * CLAUSE_ENTITY, NB_CLAUSE_ENTITY,
40 * RESULT , NB_RESULT,
41 * CLAUSE_OPERATOR)
42C-----------------------------------------------
43C ROUTINE DESCRIPTION :
44C ===================
45C Apply Operators on simple set
46C-----------------------------------------------
47C DUMMY ARGUMENTS DESCRIPTION:
48C ===================
49C
50C NAME DESCRIPTION
51C
52C SET_ENTITY, NB_SET_ENTITY : Current SET
53C CLAUSE_ENTITY, NB_CLAUSE_ENTITY : Clause to merge
54C RESULT , NB_RESULT : Stores the result
55C CLAUSE_OPERATOR OPERATOR
56C============================================================================
57C-----------------------------------------------
58C D e f i n i t i o n s
59C-----------------------------------------------
60C-----------------------------------------------
61C M o d u l e s
62C-----------------------------------------------
64C-----------------------------------------------
65C I m p l i c i t T y p e s
66C-----------------------------------------------
67#include "implicit_f.inc"
68C-----------------------------------------------
69C D u m m y A r g u m e n t s
70C-----------------------------------------------
71 INTEGER, INTENT(IN) :: NB_SET_ENTITY, NB_CLAUSE_ENTITY, CLAUSE_OPERATOR
72
73 INTEGER, DIMENSION(NB_SET_ENTITY), INTENT(IN) :: SET_ENTITY
74 INTEGER, DIMENSION(NB_CLAUSE_ENTITY), INTENT(IN) :: CLAUSE_ENTITY
75
76 INTEGER :: NB_RESULT
77 INTEGER RESULT(*)
78
79 IF( clause_operator == set_add) THEN
80 CALL union_2_sorted_sets( set_entity, nb_set_entity ,
81 * clause_entity, nb_clause_entity ,
82 * result, nb_result )
83 ENDIF
84
85 IF( clause_operator == set_delete) THEN
86 CALL difference_2_sorted_sets ( set_entity, nb_set_entity ,
87 * clause_entity, nb_clause_entity ,
88 * result, nb_result )
89 ENDIF
90
91 IF( clause_operator == set_intersect) THEN
92 CALL intersect_2_sorted_sets ( set_entity, nb_set_entity ,
93 * clause_entity, nb_clause_entity ,
94 * result, nb_result )
95 ENDIF
96
97 END
integer, parameter set_add
add operator
Definition set_mod.F:47
integer, parameter set_intersect
intersection operator
Definition set_mod.F:49
integer, parameter set_delete
delete operator
Definition set_mod.F:48
subroutine set_merge_simple(set_entity, nb_set_entity, clause_entity, nb_clause_entity, result, nb_result, clause_operator)