OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
table4d_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!|| table4d_mod ../common_source/modules/table4d_mod.F
25!||--- called by ------------------------------------------------------
26!|| asso_plas76 ../engine/source/materials/mat/mat076/asso_plas76.F
27!|| asso_qplas76c ../engine/source/materials/mat/mat076/asso_qplas76c.F
28!|| condamage ../engine/source/materials/mat/mat190/condamage.F
29!|| conversion ../engine/source/materials/mat/mat190/conversion.F
30!|| eos_param_mod ../common_source/modules/mat_elem/eos_param_mod.F90
31!|| fail_param_mod ../common_source/modules/mat_elem/fail_param_mod.F90
32!|| func_table_copy ../starter/source/materials/tools/func_table_copy.F90
33!|| hm_read_mat88 ../starter/source/materials/mat/mat088/hm_read_mat88.F90
34!|| law70_table ../starter/source/materials/mat/mat070/law70_table.F
35!|| mat_table_table_copy ../starter/source/materials/tools/mat_table_table_copy.F90
36!|| matparam_def_mod ../common_source/modules/mat_elem/matparam_def_mod.F90
37!|| no_asso_lplas76c ../engine/source/materials/mat/mat076/no_asso_lplas76c.F
38!|| no_asso_plas76 ../engine/source/materials/mat/mat076/no_asso_plas76.F
39!|| no_asso_qplas76c ../engine/source/materials/mat/mat076/no_asso_qplas76c.F
40!|| read_mat_table ../engine/source/materials/tools/read_mat_table.F
41!|| sigeps128c ../engine/source/materials/mat/mat128/sigeps128c.F90
42!|| sigeps128s ../engine/source/materials/mat/mat128/sigeps128s.F90
43!|| sigeps129s ../engine/source/materials/mat/mat129/sigeps129s.F90
44!|| table_mat2d_intersect ../starter/source/materials/mat/mat088/hm_read_mat88.F90
45!|| table_mat_vinterp ../engine/source/materials/tools/table_mat_vinterp.F
46!|| table_mat_vinterp_c1 ../engine/source/materials/tools/table_mat_vinterp_c1.F90
47!|| table_rresti_mat ../engine/source/materials/tools/table_rresti_mat.F
48!|| table_slope ../starter/source/materials/tools/table_slope.F
49!|| visc_param_mod ../common_source/modules/mat_elem/visc_param_mod.F90
50!|| write_mat_table ../engine/source/materials/tools/write_mat_table.F
51!||--- uses -----------------------------------------------------
52!|| table_mod ../engine/share/modules/table_mod.F
53!||====================================================================
55c
56 USE table_mod
57C-----------------------------------------------
58#include "my_real.inc"
59C-----------------------------------------------
60C D e r i v e d T y p e D e f i n i t i o n s
61C=======================================================================
63 INTEGER :: notable
64 INTEGER :: ndim
65 TYPE(ttable_xy), DIMENSION(:) ,ALLOCATABLE :: x
66 my_real, DIMENSION(:) ,ALLOCATABLE :: y1d
67 my_real, DIMENSION(:,:) ,ALLOCATABLE :: y2d
68 my_real, DIMENSION(:,:,:) ,ALLOCATABLE :: y3d
69 my_real, DIMENSION(:,:,:,:) ,ALLOCATABLE :: y4d
70 CONTAINS
71 procedure :: copyto => copy_table_to
72 END TYPE table_4d_
73
74 CONTAINS
75
76!||====================================================================
77!|| copy_table_to ../common_source/modules/table4d_mod.F
78!||====================================================================
79 SUBROUTINE copy_table_to(THIS,TARGET_TABLE)
80 IMPLICIT NONE
81 CLASS(table_4d_) ,INTENT(IN) :: THIS
82 TYPE(table_4d_) ,INTENT(OUT):: TARGET_TABLE
83 target_table%NOTABLE = this%NOTABLE
84 target_table%NDIM = this%NDIM
85 IF(.NOT.ALLOCATED(target_table%X))ALLOCATE(target_table%X(SIZE(this%X)))
86 target_table%X(:) = this%X(:)
87 IF(.NOT.ALLOCATED(target_table%Y1D))ALLOCATE(target_table%Y1D(SIZE(this%Y1D)))
88 IF(.NOT.ALLOCATED(target_table%Y2D))ALLOCATE(target_table%Y2D(SIZE(this%Y2D,1),
89 . SIZE(this%Y2D,2)))
90 IF(.NOT.ALLOCATED(target_table%Y3D))ALLOCATE(target_table%Y3D(SIZE(this%Y3D,1),
91 . SIZE(this%Y3D,2),
92 . SIZE(this%Y3D,3)))
93 IF(.NOT.ALLOCATED(target_table%Y4D))ALLOCATE(target_table%Y4D(SIZE(this%Y4D,1),
94 . SIZE(this%Y4D,2),
95 . SIZE(this%Y4D,3),
96 . SIZE(this%Y4D,4)))
97 target_table%Y1D(:) = this%Y1D(:)
98 target_table%Y2D(:,:) = this%Y2D(:,:)
99 target_table%Y3D(:,:,:) = this%Y3D(:,:,:)
100 target_table%Y4D(:,:,:,:) = this%Y4D(:,:,:,:)
101 END SUBROUTINE copy_table_to
102C-----------------------------------------------
103 END MODULE table4d_mod
#define my_real
Definition cppsort.cpp:32
subroutine copy_table_to(this, target_table)
Definition table4d_mod.F:80