@@ -65,19 +65,32 @@ MODULE SolidMaterial_Class
65
65
! ! Pointer to stress strain material behavior of solids
66
66
CONTAINS
67
67
PRIVATE
68
+
69
+ ! CONSTRUCTOR:
70
+ ! @ConstructorMethods
68
71
PROCEDURE , PUBLIC , PASS(obj) :: CheckEssentialParam = > &
69
72
& solid_CheckEssentialParam
70
73
PROCEDURE , PUBLIC , PASS(obj) :: Initiate = > solid_Initiate
71
74
PROCEDURE , PUBLIC , PASS(obj) :: DEALLOCATE = > solid_Deallocate
72
75
FINAL :: solid_Final
76
+
77
+ ! IO:
78
+ ! @IOMethods
73
79
PROCEDURE , PUBLIC , PASS(obj) :: IMPORT = > solid_Import
74
80
PROCEDURE , PUBLIC , PASS(obj) :: Export = > solid_Export
75
81
PROCEDURE , PUBLIC , PASS(obj) :: Display = > solid_Display
82
+
83
+ ! GET:
84
+ ! @GetMethods
76
85
PROCEDURE , PUBLIC , PASS(obj) :: GetStressStrainModelPointer = > &
77
86
& solid_GetStressStrainModelPointer
78
87
PROCEDURE , PUBLIC , PASS(obj) :: GetPrefix = > solid_GetPrefix
79
88
END TYPE SolidMaterial_
80
89
90
+ !- ---------------------------------------------------------------------------
91
+ ! TypeSolidMaterial
92
+ !- ---------------------------------------------------------------------------
93
+
81
94
TYPE (SolidMaterial_), PARAMETER :: TypeSolidMaterial = SolidMaterial_()
82
95
83
96
!- ---------------------------------------------------------------------------
@@ -88,34 +101,6 @@ MODULE SolidMaterial_Class
88
101
CLASS(SolidMaterial_), POINTER :: ptr = > NULL ()
89
102
END TYPE SolidMaterialPointer_
90
103
91
- !- ---------------------------------------------------------------------------
92
- ! Deallocate@ConstructorMethods
93
- !- ---------------------------------------------------------------------------
94
-
95
- ! > author: Vikas Sharma, Ph. D.
96
- ! date: 2023-09-09
97
- ! summary: Deallocate the vector
98
-
99
- INTERFACE DEALLOCATE
100
- MODULE SUBROUTINE Deallocate_Vector (obj )
101
- TYPE (SolidMaterial_), ALLOCATABLE :: obj(:)
102
- END SUBROUTINE Deallocate_Vector
103
- END INTERFACE DEALLOCATE
104
-
105
- !- ---------------------------------------------------------------------------
106
- ! Deallocate@ConstructorMethods
107
- !- ---------------------------------------------------------------------------
108
-
109
- ! > author: Vikas Sharma, Ph. D.
110
- ! date: 2023-09-09
111
- ! summary: Deallocate the vector of pointer
112
-
113
- INTERFACE DEALLOCATE
114
- MODULE SUBROUTINE Deallocate_Ptr_Vector (obj )
115
- TYPE (SolidMaterialPointer_), ALLOCATABLE :: obj(:)
116
- END SUBROUTINE Deallocate_Ptr_Vector
117
- END INTERFACE DEALLOCATE
118
-
119
104
!- ---------------------------------------------------------------------------
120
105
! SetSolidMaterialParam@ConstructorMethods
121
106
!- ---------------------------------------------------------------------------
@@ -158,7 +143,6 @@ END SUBROUTINE SetSolidMaterialParam
158
143
! It Checks the existance of
159
144
!
160
145
! - `SolidMaterial/name`
161
- ! - `SolidMaterial/massDensity`
162
146
! - `SolidMaterial/stresStrainModel`
163
147
164
148
INTERFACE
@@ -181,7 +165,6 @@ END SUBROUTINE solid_CheckEssentialParam
181
165
! It reads the options from `param`, and sets the options of `SolidMaterial`
182
166
!
183
167
!- `SolidMaterial/name`
184
- !- `SolidMaterial/massDensity`
185
168
!- `SolidMaterial/stresStrainModel`
186
169
!
187
170
! This routine calls the [[MaterialFactory:SolidMechanicsModelFactory]] to
@@ -201,6 +184,33 @@ MODULE SUBROUTINE solid_Initiate(obj, param, prefix)
201
184
END SUBROUTINE solid_Initiate
202
185
END INTERFACE
203
186
187
+ !- ---------------------------------------------------------------------------
188
+ ! AddSolidMaterial@ConstructorMethods
189
+ !- ---------------------------------------------------------------------------
190
+
191
+ ! > author: Vikas Sharma, Ph. D.
192
+ ! date: 2023-09-11
193
+ ! summary: Add a solid material to the vector of SolidMaterialPointer_
194
+
195
+ INTERFACE AddSolidMaterial
196
+ MODULE SUBROUTINE solid_AddSolidMaterial ( &
197
+ & obj , &
198
+ & tMaterials , &
199
+ & materialNo , &
200
+ & materialName , &
201
+ & solidMaterialToMesh , &
202
+ & param , &
203
+ & region )
204
+ TYPE (SolidMaterialPointer_), INTENT (INOUT ) :: obj(:)
205
+ INTEGER (I4B), INTENT (IN ) :: tMaterials
206
+ INTEGER (I4B), INTENT (IN ) :: materialNo
207
+ CHARACTER (* ), OPTIONAL , INTENT (IN ) :: materialName
208
+ TYPE (ParameterList_), OPTIONAL , INTENT (IN ) :: param
209
+ TYPE (MeshSelection_), OPTIONAL , INTENT (IN ) :: region
210
+ TYPE (MeshSelection_), OPTIONAL , INTENT (INOUT ) :: solidMaterialToMesh(:)
211
+ END SUBROUTINE solid_AddSolidMaterial
212
+ END INTERFACE AddSolidMaterial
213
+
204
214
!- ---------------------------------------------------------------------------
205
215
! Deallocate@ConstructorMethods
206
216
!- ---------------------------------------------------------------------------
@@ -225,6 +235,34 @@ MODULE SUBROUTINE solid_Deallocate(obj)
225
235
END SUBROUTINE solid_Deallocate
226
236
END INTERFACE
227
237
238
+ !- ---------------------------------------------------------------------------
239
+ ! Deallocate@ConstructorMethods
240
+ !- ---------------------------------------------------------------------------
241
+
242
+ ! > author: Vikas Sharma, Ph. D.
243
+ ! date: 2023-09-09
244
+ ! summary: Deallocate the vector
245
+
246
+ INTERFACE DEALLOCATE
247
+ MODULE SUBROUTINE Deallocate_Vector (obj )
248
+ TYPE (SolidMaterial_), ALLOCATABLE :: obj(:)
249
+ END SUBROUTINE Deallocate_Vector
250
+ END INTERFACE DEALLOCATE
251
+
252
+ !- ---------------------------------------------------------------------------
253
+ ! Deallocate@ConstructorMethods
254
+ !- ---------------------------------------------------------------------------
255
+
256
+ ! > author: Vikas Sharma, Ph. D.
257
+ ! date: 2023-09-09
258
+ ! summary: Deallocate the vector of pointer
259
+
260
+ INTERFACE DEALLOCATE
261
+ MODULE SUBROUTINE Deallocate_Ptr_Vector (obj )
262
+ TYPE (SolidMaterialPointer_), ALLOCATABLE :: obj(:)
263
+ END SUBROUTINE Deallocate_Ptr_Vector
264
+ END INTERFACE DEALLOCATE
265
+
228
266
!- ---------------------------------------------------------------------------
229
267
! Final@ConstructorMethods
230
268
!- ---------------------------------------------------------------------------
@@ -307,33 +345,6 @@ MODULE FUNCTION solid_GetStressStrainModelPointer(obj) RESULT(ans)
307
345
END FUNCTION solid_GetStressStrainModelPointer
308
346
END INTERFACE
309
347
310
- !- ---------------------------------------------------------------------------
311
- ! AddSolidMaterial@SetMethod
312
- !- ---------------------------------------------------------------------------
313
-
314
- ! > author: Vikas Sharma, Ph. D.
315
- ! date: 2023-09-11
316
- ! summary: Add a solid material to the vector of SolidMaterialPointer_
317
-
318
- INTERFACE AddSolidMaterial
319
- MODULE SUBROUTINE solid_AddSolidMaterial ( &
320
- & obj , &
321
- & tMaterials , &
322
- & materialNo , &
323
- & materialName , &
324
- & solidMaterialToMesh , &
325
- & param , &
326
- & region )
327
- TYPE (SolidMaterialPointer_), INTENT (INOUT ) :: obj(:)
328
- INTEGER (I4B), INTENT (IN ) :: tMaterials
329
- INTEGER (I4B), INTENT (IN ) :: materialNo
330
- CHARACTER (* ), OPTIONAL , INTENT (IN ) :: materialName
331
- TYPE (ParameterList_), OPTIONAL , INTENT (IN ) :: param
332
- TYPE (MeshSelection_), OPTIONAL , INTENT (IN ) :: region
333
- TYPE (MeshSelection_), OPTIONAL , INTENT (INOUT ) :: solidMaterialToMesh(:)
334
- END SUBROUTINE solid_AddSolidMaterial
335
- END INTERFACE AddSolidMaterial
336
-
337
348
!- ---------------------------------------------------------------------------
338
349
! GetPrefix@GetMethods
339
350
!- ---------------------------------------------------------------------------
0 commit comments