PCL Reference Manual > Property Assignment Functions > Materials
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Materials
This section explains the functions that pertain to material composites..  
material.create
(analysis_code, analysis_code_id, analysis_type, analysis_type_id, material_name, material_id, material_descrip, material_cat, material_cat_id, directionality, directionality_id, linearity, linearity_id, mat_type_name, mat_type_id, const_model_name, const_model_id, options, option_names, option_ids, active, active_status, action, material_exists, external, external_status, prop_ids_label, prop_names, prop_ids, prop_values_label, prop_values)
Description:
 
 
This function will create or modify a material in the database.
Input:
 
 
STRING
analysis_code[31]
This value specifies the analysis code label and should be set to “Analysis code ID”.
INTEGER
analysis_code_id
This value specifies the analysis code ID.
STRING
analysis_type[31]
This value specifies the analysis type label and should be set to “Analysis type ID”.
INTEGER
analysis_type_id
This value specifies the analysis type ID.
STRING
material_name[31]
This value specifies the name of the material to be created.
INTEGER
material_id
This value specifies the material ID. This value should be set to 0 if this is a newly defined material.
STRING
material_descrip[]
This value specifies the material description.
STRING
material_cat[31]
This value specifies the material category: “Isotropic”, “3d Orthotropic”, “3d Anisotropic”, “2d Orthotropic”, or “2d Anisotropic”.
INTEGER
material_cat_id
This value specifies the material category ID: 1=Isotropic; 2=3d Orthotropic; 3=3d Anisotropic; 4=2d Anisotropic; and 5=2d Orthotropic.
STRING
directionality[31]
This value specifies the directionality name and should be set to “Directionality”.
INTEGER
directionality_id
This value specifies the material directionality ID: 0=N/A; 1=Isotropic; 2=Orthotropic; 3=Anisotropic; 4=2d Orthotropic; and 5=2d Anisotropic.
STRING
linearity[31]
This value specifies the linearity name and should be set to “Linearity”.
INTEGER
linearity_id
This value specifies the linearity ID: 0=N/A; 1=Linear Elastic; 2=Nonlinear Elastic; 3=Elastoplastic; 4=Hyperelastic; 5=Viscoelastic; and 6=Creep.
STRING
mat_type_name[31]
This value specifies the material type name: “homogeneous”, “laminate”, “rule of mixtures”, “Halpin-Tsai”, “short fiber composite”, or an externally defined material.
INTEGER
mat_type_id
This value specifies the material type ID: 0=homogeneous; 1=laminate; 2=rule of mixtures; 3=Halpin-Tsai; 4=short fiber composite; and 101=externally defined material.
STRING
const_model_name[31]
 
 
This value specifies the constitutive model name: “Linear Elastic”, “Nonlinear Elastic”, “Elastoplastic”, “Failure”, “Creep”, “Viscoelastic”, “Swelling”, “Thermal”, or “Hyperelastic”.
INTEGER
const_model_id
This value specifies the constitutive model ID: 1=Linear Elastic; 2=NonLinear Elastic; 3=Elastoplastic; 4=Failure; 5=Creep; 7=Viscoelastic; 8=Swelling; 10=Thermal; and 11=Hyperelastic.
STRING
options[]
This value specifies the model options label and should be set to “Model Options & IDs”.
STRING
option_names[31]()
This value specifies the material option names. See the remarks below for more information.
INTEGER
option_ids()
This value specifies the material options IDs. See the remarks below for more information.
STRING
active[31]
This value specifies the active label and should be set to “Active Flag”.
INTEGER
active_status
This value specify the constitutive model status: 0 = if the model has not been activated, and 1 = if the constitutive model has been activated.
STRING
action[31]
This value specifies, when set to “Create”, that a new material be created. If this value is set to “Modify”, the material named by the input value material_name will be modified.
INTEGER
material_exists
This value specifies the material exists state and should be set as follows: 10 = if the input value action is set to “Create” and material doesn’t exist, 11 = if the input value action is set to “Create” and material exists, 30 = if the input value action is set to “Modify” and material doesn’t exist, and 31 = if the input value action is set to “Modify” and material exists.
STRING
external[31]
This value specifies the external flag label and should be set to “External Flag”.
LOGICAL
external_status
This value specifies, when set to TRUE, that this material is externally defined. If this value is set to FALSE, this material is internally defined.
STRING
prop_ids_label[31]
This value uses the string “Property IDs”.
STRING
prop_names[31]()
This value specifies the property names. See the remarks below for more information.
INTEGER
prop_ids()
This value specifies the property IDs. See the remarks below for more information.
STRING
prop_values_label[31]
This value specifies the property values label and should be set to “Property Values”.
STRING
prop_values[31]()
This value specifies the property values.
 
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
This is only a partial list of the error values that can be returned by this function.
13000004
Duplicate entry exists in table
13000120
The material specified in the query was not found
13000164
The constitutive model was not found in the database.
13000210
The system is out of virtual memory.
1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
Material options must be uniquely defined for a specific analysis code. But, for the sake of data transfer the material option IDs used should remain the same. The IDs which should be used for specific material options are given below. If the material option of interest does not exist in the following list, a new and unique ID should be used. Users and third parties should define IDs in the range 20000 to 29999 to avoid conflicts with MSC defined IDs.
 
 
Option ID
Option Name
Option ID
Option Name
 
1
Not Applicable
31
Add
 
2
Hill Failure Theory
32
Deformation
 
3
Hoffman Failure Theory
33
Modified Stress Theory
 
4
Tsai-Wu Failure Theory
34
ORNL
 
5
Maximum Strain Theory
35 and 36
Not Used
 
6
Stress Failure Criteria
37
Cap Hardening
 
7
Strain Failure Criteria
38
Compression
 
8
Stress/Strain Curve
39
Tension
 
9
Hardening Slope
40
Shear
 
10
VonMises Yield Function
41
10 Cycle
 
11
Tresca Yield Function
42
100 Cycle
 
12
Mohr-Coulomb Yield
43
ORNL Hardening
 
13
Drucker-Prager Yield
44
Engineering Constants
 
14
Isotropic Hardening
45
[D] Matrix
 
15
Kinematic Hardening
46
Time
 
16
Combined Hardening
47
Frequency
 
17
Tabular Creep Input
48
Strain
 
18
Creep Law 111
49
Hyperbolic
 
19
Creep Law 112
50
Formula
 
20
Creep Law 121
51
Tabular
 
21
Creep Law 122
52
Prony
 
22
Creep Law 211
53
Test Data
 
23
Creep Law 212
54
First Order Polynomial
 
24
Creep Law 221
55
Second Order Polynomial
 
25
Creep Law 222
56
Third Order Polynomial
 
26
Creep Law 300
57
Fourth Order Polynomial
 
27
Parabolic Ducker-Prager
58
Fifth Order Polynomial
 
28
Perfectly Plastic
59
Sixth Order Polynomial
 
29
Maximum Stress Theory
60
Polynomial
 
30
None
61
Ogden
The list of material property IDs and their names are defined by the PCL function load_generics(). These values are as follows:
:
 
Property ID
Property Name
 
1
Reference Temperature
 
2
Elastic Modulus
 
3
Elastic Modulus 22
 
4
Elastic Modulus 33
 
5
Poisson Ratio
 
6
Poisson Ratio 23
 
7
Poisson Ratio 31
 
8
Shear Modulus
 
9
Shear Modulus 23
 
10
Shear Modulus 31
 
11 and 12
Not Used
 
13
Poisson Ratio 13
 
14
Bulk Modulus
 
15
Lame Constant
 
16
Density
 
17
Conductivity
 
18
Conductivity 12
 
19
Conductivity 13
 
20
Conductivity 22
 
21
Conductivity 23
 
22
Conductivity 33
 
23
Specific Heat
 
24
Thermal Expansion Coeff
 
25
Thermal Expansion Coeff 22
 
26
Thermal Expansion Coeff 33
 
27
Thermal Expansion Coeff 12
 
28 to 36
Not Used
 
37
Composite Options Flag
 
38
Positive Definite Flag
 
39
Total Laminate Thickness
 
40
Number of Plies
 
41
Laminate Offset
 
42
Moisture Expansion Coeff 11
 
43
Moisture Expansion Coeff 22
 
44
Moisture Expansion Coeff 33
 
45
Moisture Expansion Coeff 12
 
46
Moisture Expansion Coeff 23
 
47
Moisture Expansion Coeff 31
 
48
Force Resultant (N1) per Temp
 
49
Force Resultant (N2) per Temp
 
50
Force Resultant (N12) per Temp
 
51
Moment Resultant (M1) per Temp
 
52
Moment Resultant (M2) per Temp
 
53
Moment Resultant (M12) per Temp
 
54
Stiffness 11
 
55
Stiffness 12
 
56
Stiffness 13
 
57
Stiffness 22
 
58
Stiffness 23
 
59
Stiffness 33
 
60
Stiffness 44
 
61
Stiffness 45
 
62
Stiffness 46
 
63
Stiffness 55
 
64
Stiffness 56
 
65
Stiffness 66
 
66
Stiffness 14
 
67
Stiffness 15
 
68
Stiffness 16
 
69
Stiffness 24
 
70
Stiffness 25
 
71
Stiffness 26
 
72
Stiffness 34
 
73
Stiffness 35
 
74
Stiffness 36
 
75
Stiffness 11
 
76
Stiffness 12
 
77
Stiffness 13
 
78
Stiffness 22
 
79
Stiffness 23
 
80
Stiffness 33
 
81
Membrane Stiffness 11
 
82
Membrane Stiffness 12
 
83
Membrane Stiffness 13
 
84
Membrane Stiffness 22
 
85
Membrane Stiffness 23
 
86
Membrane Stiffness 33
 
87
Bending Stiffness 11
 
88
Bending Stiffness 12
 
89
Bending Stiffness 13
 
90
Bending Stiffness 22
 
91
Bending Stiffness 23
 
92
Bending Stiffness 33
 
93
Coupling Stiffness 11
 
94 and 95
Not Used
 
96
Coupling Stiffness 22
 
97
Coupling Stiffness 23
 
98
Coupling Stiffness 33
 
99
Tension Stress Limit
 
100
Compression Stress Limit
 
101
Shear Stress Limit
 
102
Tension Stress Limit 22
 
103
Compression Stress Limit 22
 
104
Shear Stress Limit 23
 
105
Tension Stress Limit 33
 
106
Compression Stress Limit 33
 
107
Shear Stress Limit 31
 
108
Tension Strain Limit
 
109
Compression Strain Limit
 
110
Shear Strain Limit
 
111
Tension Strain Limit 22
 
112
Compression Strain Limit 22
 
113
Shear Strain Limit 23
 
114
Tension Strain Limit 33
 
115
Compression Strain Limit 33
 
116
Shear Strain Limit 31
 
117
Height Ratio
 
118 and 119
Not Used
 
120
Hardening Slope
 
121
Yield Point
 
122
Equivalent Yield Stress (J1)
 
123
Alpha
 
124
Beta
 
125
Stress 11 Yield Ratio
 
126
Stress 22 Yield Ratio
 
127
Stress 33 Yield Ratio
 
128
Stress 12 Yield Ratio
 
129
Stress 23 Yield Ratio
 
130
Stress 31 Yield Ratio
 
131
Internal Friction Angle
 
132
Bonding Shear Stress Limit
 
133
Interaction Term
 
134
Failure Index
 
135
Creep Reference Temperature
 
136
Creep Threshold Factor
 
137
Temperature Dependence Exponent
 
138
Primary Creep Stiffness
 
139
Primary Creep Damping
 
140
Secondary Creep Damping
 
141
Coefficient A
 
142
Coefficient B
 
143
Coefficient C
 
144
Coefficient D
 
145
Coefficient E
 
146
Coefficient F
 
147
Coefficient G
 
148
Interaction Term 23
 
149
Interaction Term 31
 
150 to 502
Not Used
 
503
Stress/Strain Curve
 
504 to 1000
Not Used
 
1001
Mass Proportional Damping
 
1002
Stiffness Proportional Damping
 
1003
Fraction Critical Damping
 
1004 to 1010
Not Used
 
1011
2nd. Yield Stress
 
1012
Plastic Strain
 
1013
Rate Dependent Param D
 
1014
Rate Dependent Param p
 
1015
Not Used
 
1016
Dilation Angle
 
1017
Ratio of Flow Stresses
 
1018
Absolute Plastic Strain
 
1019
Exponent
 
1020
Yield Offset
 
1021 and 1022
Not Used
 
1023
Material Cohesion
 
1024
Eccentricity Parameter
 
1025
Yield Surface Transition
 
1026
Surface Radius Parameter
 
1027
Hydrostatic Yield Stress
 
1028
Volumetric Plastic Strain
 
1029 to 1100
Not Used
 
1101
Real Part of g1
 
1102
Imaginary Part of g1
 
1103
Value of a
 
1104
Real Part of k1
 
1105
Imaginary Part of k1
 
1106
Value of b
 
1107 to 1200
Not Used
 
1201
Value of A
 
1202
Value of B
 
1203
Value of n
 
1204
Value of m
 
1205
Value of delta_H
 
1206
Value of R
 
1207 to 1300
Not Used
 
1301
Coefficient C10
 
1302
Coefficient C20
 
1303
Coefficient C30
 
1304
Coefficient C40
 
1305
Coefficient C50
 
1306
Coefficient C60
 
1307 to 1310
Not Used
 
1311
Coefficient C01
 
1312
Coefficient C02
 
1313
Coefficient C03
 
1314
Coefficient C04
 
1315
Coefficient C05
 
1316
Coefficient C06
 
1317 to 1320
Not Used
 
1321
Coefficient C11
 
1322
Coefficient C21
 
1323
Coefficient C12
 
1324
Coefficient C31
 
1325
Coefficient C22
 
1326
Coefficient C13
 
1327
Coefficient C41
 
1328
Coefficient C32
 
1329
Coefficient C23
 
1330
Coefficient C14
 
1331
Coefficient C51
 
1332
Coefficient C42
 
1333
Coefficient C33
 
1334
Coefficient C24
 
1335
Coefficient C15
 
1336 to 1400
Not Used
 
1401
Coefficient MU1
 
1402
Coefficient MU2
 
1403
Coefficient MU3
 
1404
Coefficient MU4
 
1405
Coefficient MU5
 
1406
Coefficient MU6
 
1407 to 1410
Not Used
 
1411
Coefficient ALPHA_1
 
1412
Coefficient ALPHA_2
 
1413
Coefficient ALPHA_3
 
1414
Coefficient ALPHA_4
 
1415
Coefficient ALPHA_5
 
1416
Coefficient ALPHA_6
 
1417 to 1420
Not Used
 
1421
Coefficient D1
 
1422
Coefficient D2
 
1423
Coefficient D3
 
1424
Coefficient D4
 
1425
Coefficient D5
 
1426
Coefficient D6
 
1427 to 2001
Not Used
 
2002
SigmaYY/Strain Curve
 
2003
SigmaZZ/Strain Curve
 
2004
SigmaXY/Strain Curve
 
2005
SigmaYZ/Strain Curve
The material properties are stored in the database.
Example:
Please see material.create.
   
mat_create_lam
(material_name, material_descrip, stack_sequence, ply_names, thicks, orients, num_names, offset_string, action)
Description:
 
 
This function will create or modify a laminated composite material in the database given the stacking sequence.
Input:
 
 
STRING
material_name[31]
This value specifies the name of the laminate to be created.
STRING
material_descrip[]
This value specifies the material description.
INTEGER
stack_sequence
This value specifies the stacking sequence convention: 1=Total; 2=Symmetric; 3=Symmetric/Mid-Ply; 4=Anti-Symmetric; and 5=Anti-Symmetric/Mid-Ply.
STRING
ply_names[31](num_names)
 
 
This value specifies an array of ply material names for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
REAL
thicks(num_names)
This value specifies the ply thicknesses for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
REAL
orients(num_names)
This value specifies the ply orientations for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
INTEGER
num_names
This value specifies the number of offsets defined for the input values ply_names, thicks, and orients.
STRING
offset_string[]
This value specifies the list processor offset string.
STRING
action[]
This value specifies, when set to “Create”, that a new laminate be created. If this value is set to “Modify”, the laminate named by the input value material_name will be modified.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
 
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
The laminate definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:
Please see mat_create_lam.
   
mat_create_lam2
(material_name, material_descrip, stack_sequence, ply_names, thicks, orients, num_names, offset_string, action)
Description:
 
 
This function will create or modify a laminated composite material in the database given the stacking sequence.
Input:
 
 
STRING
material_name[32]
This value specifies the name of the laminate to be created.
STRING
material_descrip[]
This value specifies the material description.
INTEGER
stack_sequence
This value specifies the stacking sequence convention: 1=Total; 2=Symmetric; 3=Symmetric/Mid-Ply; 4=Anti-Symmetric; and 5=Anti-Symmetric/Mid-Ply.
STRING
ply_names[32](num_names)
 
 
This value specifies an array of ply material names for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
STRING
thicks(num_names)
This value specifies the ply thicknesses for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
STRING
orients(num_names)
This value specifies the ply orientations for a laminate with the number of plies specified by the input value num_names. If the input value stack_sequence is set to 2 or 4, only the first (num_names)/2 ply material names need to be specified. If the input value stack_sequence is set to 3 or 5, then only the (num_names+1)/2 ply material names need to be specified.
INTEGER
num_names
This value specifies the number of offsets defined for the input values ply_names, thicks, and orients.
STRING
offset_string[]
This value specifies the list processor offset string.
STRING
action[]
This value specifies, when set to “Create,” that a new laminate be created. If this value is set to “Modify,” the laminate named by the input value material_name will be modified.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
 
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
The laminate definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:
None.
   
mat_create_mix
(material_name, material_descrip, phase_materials, volume_fractions, orientation_angles, action)
Description:
 
 
This function will create or modify a rule of mixtures material in the database given the definition data, including constituent material names, volume fractions, and orientation angles.
Input:
 
 
STRING
material_name[31]
This value specifies the name of the rule of mixtures material to be created.
STRING
material_descrip[]
This value specifies the material description.
STRING
phase_materials[]
This value specifies a list processor string defining all of the materials comprising the different phases of the rule of mixtures material.
STRING
volume_fractions[]
This value specifies a list processor string defining the volume fractions for the different phases of materials. The number of volume fractions defined must equal the number of phase materials defined or the number of phase materials defined - 1. If the last volume fraction is not defined, it will be calculated internally on the assumptions that the sum of all of the volume fractions must be one.
STRING
orientation_angles[]
This value specifies a list processor string defining the orientation angles of each material phase. The number of orientation angles defined must be equal to 3 * the number of material phases defined. Each set of three space fixed rotation angles define a coordinate frame transformation from the composite material coordinate frame to the phase material coordinate frame.
STRING
action[]
This value specifies, when set to “Create”, that a new rule of mixtures material be created. If this value is set to “Modify”, the rule of mixtures material named by the input value material_name will be modified.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
 
Remarks:
The Rule-of-Mixtures material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
This is the recommended built-in function for creating a Rule-of-Mixtures material.
Example:
Please see mat_create_mix.
   
mat_hal_create
(material_name, material_descrip, option_number, fiber_volume_fract, matrix_volume_fract, theory, aspect_ratios, override, fudge_factors, fiber_name, matrix_name, action)
Description:
 
 
This function will create or modify a Halpin-Tsai material in the database given the definition data, which include the option number, fiber and matrix volume fractions, fiber aspect ratios, and empirical factors.
Input:
 
 
STRING
material_name[31]
This value specifies the name of the halpin-tsai material to be created.
STRING
material_descrip[]
This value specifies the material description.
INTEGER
option_number
This value specifies the halpin-tsai option number indicating phase geometry: 1=continuous fiber; 2=discontinuous fiber; 3=continuous ribbon; 4=discontinuous ribbon; and 5=particulate.
REAL
fiber_volume_fract
This value specifies the fiber or particulate volume fraction.
REAL
matrix_volume_fract
This value specifies the matrix volume fraction. The input value fiber_volume_fract + the input value matrix_volume_fract must not exceed one.
INTEGER
theory
This value specifies the theory type: 1=new theory (GTT); and 2=old theory (NUTT). This value is used only when the input value option_number is set to 1.
STRING
aspect_ratios[31]()
This value specifies the fiber aspect ratios: if the input value option_number=2 then use length/diameter; if the input value option_number=3 then use width/thickness; and if the input value option_number=4 then use length/thickness and width/thickness.
LOGICAL
override
If this value is set to TRUE, then use the empirical factors in the input value fudge_factors. If this value is set to “FALSE” do not use the input value fudge_factors.
STRING
fudge_factors[31]()
This value specifies the empirical factors tailored to the material geometry. These depend on the input value option_number and correspond to the empirical factors given on the form for each Halpin-Tsai option.
STRING
fiber_name[]
This value specifies the name of the fiber or particulate material.
STRING
matrix_name[]
This value specifies the name of the matrix material.
STRING
action[]
This value specifies, when set to “Create”, that a new material be created. If this value is set to “Modify”, the material named by the input value material_name will be modified.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
 
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
The Halpin-Tsai material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:
Please see mat_hal_create.
   .
mat_sfc_create
(material_name, material_descrip, option_number, mean_angle_theta, mean_angle_phi, stand_dev_theta, stand_dev_phi, correlation_coef, num_iterations, uni_mat_name, action)
Description:
 
 
This function will create or modify a short fiber composite material in the database given the definition data, which consist of a unidirectional two-phase material with statistical parameters.
Input:
 
 
STRING
material_name[31]
This value specifies the name of the short fiber composite to be created.
STRING
material_descrip[]
This value specifies the material description.
INTEGER
option_number
This value specifies the dimensionality of fiber variation: if the input value option_number=1 then use 1-dimensional variation; and if the input value option_number=2 then use 2-dimensional variation.
REAL
mean_angle_theta
This value specifies the first mean orientation angle θ in degrees.
REAL
mean_angle_phi
This value specifies the second mean orientation angle φ in degrees. This value is not used if the input value option_number is set to 1.
REAL
stand_dev_theta
This value specifies the standard deviation with respect to θ in degrees. It must be positive, and, if the input value option_number=2, then it cannot exceed 30.0.
REAL
stand_dev_phi
This value specifies the standard deviation with respect to φ in degrees. It must be positive and it cannot exceed 30.0. This value is not used if the input value option_number is set to 1.
REAL
correlation_coef
This value specifies the correlation coefficient. This value is not used if the input value option_number is set to 1.
INTEGER
num_iterations
This value specifies the number of monte carlo iterations.
STRING
uni_mat_name[]
This value specifies the unidirectional two-phase material name.
STRING
action[]
This value specifies, when set to “Create”, that a new material be created. If this value is set to “Modify”, the material named by the input value material_name will be modified.
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
The Short Fiber composite material definition data and properties are stored in the database.
This function can display a fatal popup message form with the following message:
This function can display a query popup message form with the following message:
This function can display an acknowledge popup message form with the following message:
Example:
Please see mat_sfc_create.
  
material.modify_global
( mat_names, only_if_exists, cat_id, con_mod_id, prop_words_to_change, value_string, action, msg_level )
Description:
 
 
This function will set/modify the value for one or more values for one or more materials.
Input:
 
 
STRING[]()
mat_names
String array containing existing material names whose values are to be modified. If mat_names is input as a single element array with an empty string (ie. "[""]"), ALL materials will be processed.
LOGICAL
only_if_exists
Logical flag that controls whether a material value will be created if the value does not currently exist in the material. If TRUE, the value will only be set if the value exists.
INTEGER
cat_id
Material category id:
Isotropic = 1
Orthotropic = 2
Anisotropic = 3
2D Anisotropic = 4
2D Orthotropic = 5
Composite = 6
It is best to use the form to find the id for your specific case, as these are code dependent.
INTEGER
con_mod_id
Material constitutive model ID.
Elastic = 1
Nonlinear Elastic = 2
Plastic = 3
It is best to use the form to find the id for your specific case, as these are code dependent.
STRING[]
prop_words_to_change
integer array with material property word ids to change. If this is a laminate offset, the id is 0.
STRING[]
action
String containing the operation to be performed. Currently supported operations are:
"=" = Set Equal To
"D" = Delete
"+" = Add
"-" = Subtract
"*" = Multiply
"/" = Divide
The add, subtract, multiply and divide actions may only be performed if a property value already exists.
STRING[]
msg_level
String flag to control message display. Currently supported values are:
"" or "None" = No messages
"Error" = Error only
"Warn" = Error + Warning
"Info" = All
Output:
 
 
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Remarks:
The following preference setting may be used to modify the behavior of the GUI.
pref_env_set_string( "prop_modify_global_msg_level", "Warn" )
The default value is "Warn".
Common settings.pcl
The following preferences can be added to the user's settings.pcl file to control the Property forms. The same preferences will also control the Materials/Modify/Global form.
pref_env_set_string( "prop_form_pset_sort_option", ".id" )
pref_env_set_integer( "prop_form_num_pset_lbox_rows", 10 )
pref_env_set_logical( "prop_form_pset_sort_use_case", FALSE )
pref_env_set_logical( "prop_form_pset_filter_use_case", TRUE )
These 2 are obsolete as the sort and filter widgets are now always shown.
pref_env_set_logical( "prop_form_pset_sort_option_show", TRUE )
pref_env_set_logical( "prop_form_pset_filter_show", TRUE )
  
materials_compress
( nFrom, fromNames, nTo, toNames, nSigDigits, deleteComp, nCompress, compressNames )
Description:
 
 
Compress the list of material names. compress means to find duplicates and merge them while replacing references.
Input:
 
 
INTEGER
nFrom
Number of names in fromNames.
STRING[ ]()
fromNames
List of from material names.
INTEGER
nTo
Number of names in toNames.
STRING[ ]()
toNames
List of to material names.
INTEGER
nSigDigits
Number of significant digits to use when comparing real numbers.
LOGICAL
deleteComp
Flag whether to delete duplicates.
TRUE=delete, FALSE=do not delete
Output:
 
 
INTEGER
nCompress
Number of materials compressed.
STRING[ ]()
compressToNames
List of material names compressed to. This list corresponds to fromNames. If compressToNames(1) is non-blank, it contains the name that fromNames(1) compressed to. Caller must allocate same size array as fromNames.
INTEGER
<Return Value>
0=success, other=error