PCL and Customization > Accessing the Patran Database > Material Properties
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Material Properties
Material data is stored as a collection of generic material words associated with a material record. This construct is very similar to the manner in which element property data is stored and retrieved. Thus, material data can be extracted from the Patran database in a general manner independent of material construction. Regardless as to whether the material was created through the material selector, or through one of the composite options or through the more general data input material forms the resulting material properties are extracted from the database in the same manner.
Exportation of Material Data
The function “db_get_material” is used to determine the type of material.
db_get_material
( <material_id>, <material_name>, <category_id>, <linearity_code>, <directionality_code>, <mat_description>, <material_type>, <data_exists> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record of interest.
Output:
 
 
CHARACTER STRING
 
 
<material_name>
The external name used to reference this material record.
INTEGER
<category_id>
The ID of the material category of this material record. See db_create_matl_category, 529.
INTEGER
<linearity_code>
A code specifying the linearity of this material. See db_create_matl_lin, 472.
INTEGER
<directionality_code>
 
 
A code specifying the directionality of this material. See db_create_matl_dir, 473.
CHARACTER STRING
 
 
<mat_description>
A character string describing this material record.
INTEGER
<material_type>
A code specifying the type of material:
0 = homogeneous material
1 = standard laminate lay-up
2 = rule of mixtures material
3 = Halpin-Tsai material
4 = short fiber composite
101 = externally defined material
INTEGER
<data_exists>
A flag specifying whether any material property words are associated with this material record (1) or not (0). If no words are associated with this record, then this is probably an externally defined material.
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.
Notes:
The C name differs. It is DbFGetMaterial.
int DbFGetMaterial ( material_id, material_name, category_id, linearity_code,
 	directionality_code, mat_description, material_type, data_exists )
 int 	material_id
char 	*material_name
int 	*category_id
int 	*linearity_code
int 	*directionality_code
char 	*mat_description
int 	*material_type
int 	*data_exists
The next two functions are used to determine the constitutive models associated with the material record.
 
db_get_matl_const_model_count
( <material_id>, <num_models> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
Output:
 
 
INTEGER
<num_models>
The number of constitutive models associated with this material record.
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.
Notes:
The C name differs. It is DbGetMatlConstModelDefnCount.
int DbGetMatlConstModelDefnCount ( material_id, num_models )
 int 	material_id
 int 	*num_models
  
db_get_matl_const_model
( <material_id>, <model_ids> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
Output:
 
 
INTEGER
<model_ids>
The <num_models> IDs of all the constitutive models associated with this material record.
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.
Notes:
The C name differs. It is DbGetMatlConstModelDefn.
int DbGetMatlConstModelDefn ( material_id, model_ids )
 int 	material_id
 int 	model_ids[ ]
Now that it is determined which constitutive models apply to this material record, use “db_get_active_flag” to determine whether each constitutive model is active or not and which material options were chosen in each material option category. If a constitutive model is not active, the material data associated with that constitutive model should not be translated.
 
db_get_active_flag
( <material_id>, <modelled>, <option_ids>, <active_flag> )
  
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
INTEGER
<model_id>
The ID of the material constitutive model of interest.
Output:
 
 
INTEGER ARRAY
 
 
<option_ids>
A five element array containing the actual material options chosen in each material option category. This array is zero filled and in the order the data was originally input. For example, if the data input consisted of two material option categories (yield function and hardening rule), one possible array would be [11, 15, 0, 0, 0].
INTEGER
<active_flag>
A user specified flag determining whether the material constitutive model specified by <model_id> is active for the material record specified by <material_id> (<active_flag> = 1) or not (<active_flag> = 0). Again, data associated with an inactive constitutive model should not be translated.
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.
Notes:
The C name is DbGetActiveFlag.
int DbGetActiveFlag ( material_id, model_id, option_ids, active_flag )
 int 	material_id
 int 	model_id
 int 	option_ids[ ]
 int 	*active_flag
After examining the active material constitutive models and the material options chosen for each of these models, the material words assigned to the record can be retrieved. First determine the number of words associated with the record. This can be done with the following function.
 
db_get_matl_prop_value_count
( <material_id>, <num_words> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
Output:
 
 
INTEGER
<num_words>
The number of material property words associated with this material record. If zero, this material record is probably externally defined.
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.
Notes:
The C name differs. It is DbGetMaterialPropValueCount.
int DbGetMaterialPropValueCount ( material_id, num_words )
 int 	material_id
 int 	*num_words
The function “db_get_matl_prop_value” is used to retrieve the actual material property word values.
 
db_get_matl_prop_value
( material_id, word_ids, field_ids, word_values )
 
Input:
 
 
INTEGER
material_id
The internal ID of the material record.
Output:
 
 
INTEGER
word_ids(5)
This value returns the material options chosen in each material option category. This value is filled in the order in which the data was originally input. For example, if the data input consisted of two material option categories, such as yield function and hardening rule, one possible set of values would be [11, 15, 0, 0, 0].
INTEGER
field_ids( )
This value returns the IDs of the data field references for all the material words. If this value is non-zero for a given material word, then the material word references a data field. The value of the word can be obtained by data field evaluation or exportation and the value contained in the output value, word_values, should be ignored. If field_ids is zero for a given material word, the word is constant (has no data field reference) and its value is in the output value, word_values.
REAL
word_values( )
This value returns the value of material property words that have no data field references.
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.
Notes:
The number of offsets that must be allocated for the output values field_ids and word_values can be obtained with a call to db_get_matl_prop_value_count, 676.
The C name differs. It is DbGetMaterialPropValue.
int DbGetMaterialPropValue ( material_id, word_ids, field_ids, word_values )
 int 	material_id
 int 	word_ids[ ]
 int 	field_ids[ ]
 float 	word_values[ ]
For more on the evaluation and exportation of data fields, refer to Data Fields, 643.
 
db_get_matl_prop_value2
(mat_id, mat_prop_id, eval_at_temperature, eval_at_strain, eval_at_strain_rate, eval_at_time, eval_at_frequency, mat_prop_found, mat_prop_val)
Description:
 
 
This function evaluates the material property value for the given material id.
Input:
 
 
INTEGER
mat_id
This value specifies the material id.
INTEGER
mat_prop_id
This value specifies the material property word id. See the remarks below for a list of values that can be used with this argument.
REAL
eval_at_temperature
This value specifies the temperature value used for field evaluation.
REAL
eval_at_strain
This value specifies the strain (OR: total strain, plastic strain, stress) value used for field evaluation.
REAL
eval_at_strain_rate
This value specifies the strain rate value used for field evaluation.
REAL
eval_at_time
This value specifies the time value used for field evaluation.
REAL
eval_at_frequency
This value specifies the frequency value used for field evaluation.
Output:
 
 
INTEGER
mat_prop_found
This value returns TRUE or 1 if the material property was found for the specified material id. FALSE or 0 is returned if the material property is not found.
REAL
mat_prop_val
This value returns the material property word value. Dependent fields are evaluated if necessary.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate an error.
Error Conditions:
 
-1
This is an internal error status condition. There is no corresponding status message in the message database.
Remarks:
The input value mat_prop_id can have the following values:
:
 
Value
Description
Value
Description
 
 
 
 
 
 
1
Reference Temperature
144
Coefficient D
 
2
Elastic Modulus
145
Coefficient E
 
3
Elastic Modulus 22
146
Coefficient F
 
4
Elastic Modulus 33
147
Coefficient G
 
5
Poisson Ratio
148
Interaction Term 23
 
6
Poisson Ratio 23
149
Interaction Term 31
 
7
Poisson Ratio 31
150
Not used
 
8
Shear Modulus
.
.
 
9
Shear Modulus 23
.
.
 
10
Shear Modulus 31
.
.
 
11
Not used
502
Not used
 
12
Not used
503
Stress/Strain Curve
 
13
Poisson Ratio 13
504
Not used
 
14
Bulk Modulus
.
.
 
15
Lame Constant
.
.
 
16
Density
.
.
 
17
Conductivity
1000
Not used
 
18
Conductivity 12
1001
Mass Propornl Damping
 
19
Conductivity 13
1002
Stiffness Propornl Damping
 
20
Conductivity 22
1003
Fraction Critical Damping
 
21
Conductivity 23
1004
Not used
 
22
Conductivity 33
.
.
 
23
Specific Heat
.
.
 
24
Thermal Expansion Coeff
.
.
 
25
Thermal Expansion Coeff 22
1010
Not used
 
26
Thermal Expansion Coeff 33
1011
2nd. Yield Stress
 
27
Thermal Expansion Coeff 12
1012
Plastic Strain
 
28
Thermal Expansion Coeff 23
1013
Rate Dependent Param D
 
29
Thermal Expansion Coeff 31
1014
Rate Dependent Param p
 
30
Structural Damping Coeff
1016
Dilation Angle
 
31
Emissivity
1017
Ratio of Flow Stresses
 
32
Not used
1018
Absolute Plastic Strain
 
.
.
1019
Exponent
 
.
.
1020
Yield Offset
 
.
.
1021
Not used
 
36
Not used
1022
Not used
 
37
Composite Options Flag
1023
Material Cohesion
 
38
Positive Definite Flag
1024
Eccentricity Parameter
 
39
Total Laminate Thickness
1025
Yield Surface Transition
 
40
Number of Plies
1026
Surface Radius Parameter
 
41
Laminate Offset
1027
Hydrostatic Yield Stress
 
42
Moisture Expansion Coeff 11
1028
Volumetric Plastic Strain
 
43
Moisture Expansion Coeff 22
1029
Not used
 
44
Moisture Expansion Coeff 33
.
.
 
45
Moisture Expansion Coeff 12
.
.
 
46
Moisture Expansion Coeff 23
.
.
 
47
Moisture Expansion Coeff 31
1100
Not used
 
48
Force Resultant (N1) per Temp
1101
Real Part of g1
 
49
Force Resultant (N2) per Temp
1102
Imaginary Part of g1
 
50
Force Resultant (N12) per Temp
1103
Value of a
 
51
Moment Resultant (M1) per Temp
1104
Real Part of k1
 
52
Moment Resultant (M2) per Temp
1105
Imaginary Part of k1
 
53
Moment Resultant (M12) per Temp
1106
Value of b
 
54
Stiffness 11
1107
Not used
 
55
Stiffness 12
.
.
 
56
Stiffness 13
.
.
 
57
Stiffness 22
.
.
 
58
Stiffness 23
1200
Not used
 
59
Stiffness 33
1201
Value of A
 
60
Stiffness 44
1202
Value of B
 
61
Stiffness 45
1203
Value of n
 
62
Stiffness 46
1204
Value of m
 
63
Stiffness 55
1205
Value of delta_H
 
64
Stiffness 56
1206
Value of R
 
65
Stiffness 66
1207
Not used
 
66
Stiffness 14
.
.
 
67
Stiffness 15
.
.
 
.
Stiffness 16
 
.
 
68
Not used
1300
Not used
 
69
Stiffness 24
1301
Coefficient C10
 
70
Stiffness 25
1302
Coefficient C20
 
71
Stiffness 26
1303
Coefficient C30
 
72
Stiffness 34
1304
Coefficient C40
 
73
Stiffness 35
1305
Coefficient C50
 
74
Stiffness 36
1306
Coefficient C60
 
75
Stiffness 11
1307
Not used
 
76
Stiffness 12
1308
Not used
 
77
Stiffness 13
1309
Not used
 
78
Stiffness 22
1310
Not used
 
79
Stiffness 23
1311
Coefficient C01
 
80
Stiffness 33
1312
Coefficient C02
 
81
Membrane Stiffness 11
1313
Coefficient C03
 
82
Membrane Stiffness 12
1314
Coefficient C04
 
83
Membrane Stiffness 13
1315
Coefficient C05
 
84
Membrane Stiffness 22
1316
Coefficient C06
 
85
Membrane Stiffness 23
1317
Not used
 
86
Membrane Stiffness 33
1318
Not used
 
87
Bending Stiffness 11
1319
Not used
 
88
Bending Stiffness 12
1320
Not used
 
89
Bending Stiffness 13
1321
Coefficient C11
 
90
Bending Stiffness 22
1322
Coefficient C21
 
91
Bending Stiffness 23
1323
Coefficient C12
 
92
Bending Stiffness 33
1324
Coefficient C31
 
93
Coupling Stiffness 11
1325
Coefficient C22
 
94
Coupling Stiffness 12
1326
Coefficient C13
 
95
Coupling Stiffness 13
1327
Coefficient C41
 
96
Coupling Stiffness 22
1328
Coefficient C32
 
97
Coupling Stiffness 23
1329
Coefficient C23
 
98
Coupling Stiffness 33
1330
Coefficient C14
 
99
Tension Stress Limit
1331
Coefficient C51
 
100
Compression Stress Limit
1332
Coefficient C42
 
101
Shear Stress Limit
1333
Coefficient C33
 
102
Tension Stress Limit 22
1334
Coefficient C24
 
103
Compression Stress Limit 22
1335
Coefficient C15
 
104
Shear Stress Limit 23
1336
Not used
 
105
Tension Stress Limit 33
.
.
 
106
Compression Stress Limit 33
.
.
 
107
Shear Stress Limit 31
.
.
 
108
Tension Strain Limit
1400
Not used
 
109
Compression Strain Limit
1401
Coefficient MU1
 
110
Shear Strain Limit
1402
Coefficient MU2
 
111
Tension Strain Limit 22
1403
Coefficient MU3
 
112
Compression Strain Limit 22
1404
Coefficient MU4
 
113
Shear Strain Limit 23
1405
Coefficient MU5
 
114
Tension Strain Limit 33
1406
Coefficient MU6
 
115
Compression Strain Limit 33
1407
Not used
 
116
Shear Strain Limit 31
1408
Not used
 
117
Ht Ratio
1409
Not used
 
118
Not used
1410
Not used
 
119
Not used
1411
Coefficient ALPHA_1
 
120
Hardening Slope
1412
Coefficient ALPHA_2
 
121
Yield Point
1413
Coefficient ALPHA_3
 
122
Equivalent Yield Stress (J1=0)
1414
Coefficient ALPHA_4
 
123
Alpha
1415
Coefficient ALPHA_5
 
124
Beta
1416
Coefficient ALPHA_6
 
125
Stress 11 Yield Ratio
1417
Not used
 
126
Stress 22 Yield Ratio
1418
Not used
 
127
Stress 33 Yield Ratio
1419
Not used
 
128
Stress 12 Yield Ratio
1420
Not used
 
129
Stress 23 Yield Ratio
1421
Coefficient D1
 
130
Stress 31 Yield Ratio
1422
Coefficient D2
 
131
Internal Friction Angle
1423
Coefficient D3
 
132
Bonding Shear Stress Limit
1424
Coefficient D4
 
133
Interaction Term
1425
+Coefficient D5
 
134
Failure Index
1426
Coefficient D6
 
135
Creep Reference Temperature
1427
Not used
 
136
Creep Threshold Factor
.
.
 
137
Temperature Dependence Exponent
.
.
 
138
Primary Creep Stiffness
.
.
 
139
Primary Creep Damping
2001
Not used
 
140
Secondary Creep Damping
2002
SigmaYY/Strain Curve
 
141
Coefficient A
2003
SigmaZZ/Strain Curve
 
142
Coefficient B
2004
SigmaXY/Strain Curve
 
143
Coefficient C
2005
SigmaYZ/Strain Curve
 
 
 
2006
SigmaZX/Strain Curve
Example:
INTEGER status, mat_id, mat_prop_id, mat_prop_found
REAL eval_at_temperature, eval_at_strain, eval_at_strain_rate, @
     eval_at_time, eval_at_frequency, mat_prop_val
 
mat_id = 1
mat_prop_id = 2   /* Elastic Modulus */
eval_at_temperature = 0.0
eval_at_strain = 0.0
eval_at_strain_rate = 0.0
eval_at_time = 0.0
eval_at_frequency = 0.0
status = db_get_matl_prop_value2(mat_id, mat_prop_id, @
            eval_at_temperature, eval_at_strain, @
            eval_at_strain_rate, eval_at_time, eval_at_frequency, @
            mat_prop_found, mat_prop_val)
IF (0 < status) THEN
   msg_to_form(status, 4, 0, 0, 0.0, ““)
ELSE
   IF (0 > status) THEN
      /* Error information already displayed */
   ELSE
      write_line(“mat_prop_found =”, mat_prop_found)
      write_line(“mat_prop_val =”, mat_prop_val)
   END IF
END IF
 
Importation of Material Data
To import material data into a database create a material record, associate material words to that material record and then define the active and inactive constitutive models and which material options are valid for each. To create a material record the function described below is used.
.
db_create_material
( <material_name>, <mat_description>, <category_id>, <linearity_code>, <directionality_code>, <material_type>, <material_id> )
 
Input:
 
 
CHARACTER STRING
 
 
<material_name>
The external name of the material record.
CHARACTER STRING
 
 
<mat_description>
A character string describing the material record.
INTEGER
<category_id>
The ID of the material category of this record. See db_create_matl_category, 529.
INTEGER
<linearity_code>
A code representing the linearity of this material. See db_create_matl_lin, 472.
INTEGER
<directionality_code>
A code representing the directionality of this material. See db_create_matl_dir, 473.
INTEGER
<material_type>
A code specifying the type of material:
0 = homogeneous material
1 = standard laminate lay-up
2 = rule of mixtures material
3 = Halpin-Tsai material
4 = short fiber composite
101 = externally defined material
Output:
 
 
INTEGER
<material_id>
The internal ID assigned to this new material record by Patran.
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.
Notes:
The C name differs. It is DbFCreateMaterial.
int DbFCreateMaterial ( material_name, mat_description, category_id, linearity_code,
 	directionality_code, material_type, material_id			)
char 	*material_name
char 	*mat_description
int 	category_id
int 	linearity_code
int 	directionality_code
int 	material_type
int 	*material_id
The function “db_create_matl_prop_value” will associate material words with the newly created material record.
 
db_create_matl_prop_value
( <material_id>, <word_ids>, <field_ids>, <word_values>,
<num_words> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record to which the material words are to be associated.
INTEGER ARRAY
 
 
<word_ids>
The <num_words> IDs of all the material words to be associated with this record.
INTEGER ARRAY
 
 
<field_ids>
 
REAL ARRAY
<word_values>
The <num_words> constant values for all the material words. If the word references a data field, this value in <word_values> is not applicable. Zero should be used in this case.
INTEGER
<num_words>
The number of words to be associated with this material record.
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.
Notes:
The C name differs. It is DbFCreateMaterialPropValue.
int DbCreateMaterialPropValue ( material_id, word_ids, field_ids, word_values, num_words )
 int 	material_id
 int 	word_ids[ ]
 int 	field_ids[ ]
 float 	word_values[ ]
 int 	num_words
Lastly, specify which constitutive models are related to this material and which material options are appropriate for each constitutive model.
To create the constitutive models, the following function is used.
 
db_create_matl_const_model
( <material_id>, <model_ids>, <num_models>)
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
INTEGER ARRAY
 
 
<model_ids>
An array of the IDs of all the material constitutive models to be assigned to this material. See Material Models, 532 for more about material model IDs.
INTEGER
<num_models>
The number of constitutive model IDs.
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.
Notes:
The C name differs. It is DbMatlConstModelDefn.
int DbCreateMatlConstModelDefn ( material_id, model_ids, num_models )
 int 	material_id
 int 	model_ids[ ]
 int 	num_models
 
db_cr_const_models_specified
( <material_id>, <model_id>, <option_ids>, <active_flag> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material record.
INTEGER
<model_id>
The ID of the material constitutive model of interest. SeeMaterial Models, 532 for more about material model IDs.
INTEGER ARRAY
 
 
<option_ids>
A five element array containing the up-to-five material options chosen for this constitutive model. This array is zero filled and in the order the data would be presented. For example, a possible array for a constitutive model with two material option categories (yield function and hardening rule) would be [11, 15, 0, 0, 0]. See Material Models (p. 532) for more about material option IDs.
INTEGER
<active_flag>
A flag specifying whether this constitutive model is active for this material (1) or not (0).
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.
Notes:
The C name differs. It is DbCreateConstitutiveModelsSpecified.
int DbCreateConstitutiveModelsSpecified ( material_id, model_id, option_ids, active_flag )
 int 	material_id
 int 	model_id
 int 	option_ids[ ]
 int 	active_flag
Exportation of Composite Material Creation Data
Not only can the basic material data be accessed, but the input data used to create a composite material can be retrieved. This provides two ways to translate composite materials: translate the resulting material data just as is done with any other material record or translate the composite creation data. One example of this exists in the Patran - MSC Nastran forward translator. If referenced by a standard plate element, the composite material will be translated as a standard MSC Nastran material such as a MAT2. But, if the composite material is referenced by a composite plate element, the composite creation data will be used to create a MSC Nastran PCOMP record and most of the basic material properties will be ignored.
In order to extract the creation data for a standard laminate material, the function db_get_comp_lam_ids_by_id is used.
 
db_get_comp_lam_ids_by_id
(material_id, num_plies, material_name, output_count, ply_ids, thicknesses, orientations, symmetry, offset_value, offset_flag)
  
Input:
 
 
INTEGER
material_id
The internal ID of the material record.
INTEGER
num_plies
The number of plies in this laminate material. This value is stored as a basic material property word (with an ID of 40) which can be retrieved from the function db_get_matl_prop_value ( ). The number of plies for the laminate material is the nearest whole integer to the real value of the basic material property word with an id of 40.
Output:
 
 
STRING
material_name
The external name used to reference this material record.
INTEGER
output_count
The number of plies associated to this material record.
INTEGER
ply_ids (num_plies)
This value returns the IDs of the material records making up the plies of the laminate.
REAL
thicknesses (num_plies)
This value returns the ply thickness values for the laminate material.
REAL
orientations (num_plies)
This value returns the orientation angles in degrees measured from the element’s principal material orientation for the laminate material.
INTEGER
symmetry
This value returns the describing characteristics about the lay-up:
1 = no order in stack
2 = symmetric stack
3 = stack symmetric about midply
4 = anti-symmetric stack
5 = stack anti-symmetric about midply
The total stack will always be stored. The decision to write out the entire stack or only the input portion of the stack depends on the functionality of the analysis code.
REAL
offset_value
This value returns the laminate offset. This is the distance from the reference plane of the element to the bottom of the stack. If the value is negative, one half of the total thickness of the stack lies at the middle of the element.
LOGICAL
offset_flag
This value specifies when set to FALSE or 0 that the laminate offset value was entered manually. This value will be set to TRUE or 1 when the laminate offset value was calculated by Patran.
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.
Notes:
The C name is DbGetCompLamIdsById.
int DbGetCompLamIdsById ( material_id, num_plies, material_name, output_count, ply_ids,
	 thicknesses, orientations, symmetry, offset_value, offset_flag )
 int 	material_id
 int 	num_plies
 char 	material_name[ ]
 int 	*output_count
 int 	ply_ids[ ]
 float 	thicknesses[ ]
 float 	orientations[ ]
 int 	*symmetry
 float 	*offset_value
 int 	*offset_flag
Importation of Composite Material Creation Data
In general, when importing a composite material into a Patran database, a new material record is created, assigning generic material properties to the material record, specifying the constitutive models of the record, and assigning the composite creation data to the new material record. If the generic material properties of the material record are not important, skip the second step mentioned above, but Patran will not create generic material properties for a material just given the composite creation data. It is up to the user to calculate and store these values, if they are needed. Similarly, if only the generic properties of the material are of interest and not in the composite creation data, skip the fourth step mentioned above. The functions needed for the first three steps are described in Exportation of Material Data, 672. The functions needed to accomplish the fourth step, assigning composite creation data to a material record are described below.
The function used to store the creation data for a standard laminate composite is “db_set_comp_lam_by_id”. Note that regardless of the nature of the stack (no order, symmetric, anti-symmetric), the entire lay up must be specified in the database.
 
db_set_comp_lam_by_id
( <material_id>, <num_plies>, <ply_ids>, <thicknesses>, <orientations>, <symmetry>, <offset_value>, <offset_flag> )
 
Input:
 
 
INTEGER
<material_id>
The internal ID of the material to which composite data is to be added.
INTEGER
<num_plies>
The total number of plies in the stack. This value should also be stored as generic property word 40. See db_get_comp_lam_ids_by_id, 688 and db_create_matl_prop_value, 685 for further understanding.
INTEGER ARRAY
 
 
<ply_ids>
A vector of <num_plies> material IDs specifying the material make-up of each ply.
REAL ARRAY
<thicknesses>
The <num_plies> ply thickness values for the laminate material.
REAL ARRAY
<orientations>
The <num_plies> orientation angles (in degrees measured from the element’s principle material orientation) for the laminate material.
INTEGER
<symmetry>
A flag describing characteristics about the lay-up:
1 = no order in stack
2 = symmetric stack
3 = stack symmetric about midply
4 = anti-symmetric stack
5 = stack anti-symmetric about midply
The total stack must be stored in the database even
if the symmetry flag is greater than one.
REAL
<offset_value>
The real value of the laminate offset. This is the distance from the reference plane of the element to the bottom of the stack. The default value is negative one half the total thickness of the stack which is to say the middle of the stack lies at the reference plane of the element. A valid value should always be input here even if it is the default value.
LOGICAL
<offset_flag>
A flag specifying whether the laminate offset value is the default (<offset_flag> = TRUE) which is to say the middle of the stack coincides with the reference plane of the element or a non-default value of the laminate offset is being used (<offset_flag> = FALSE).
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.
Notes:
The C prototype for this function is:
      int DbSetCompLamById
         (
         int	 mat_id,
         int	 num_plies,
         int	 *  ply_ids,
         float	 *  thicknesses,
         float	 *  orientations,
         int	 symmetry,
         double	 offset_value,
         int	 offset_def
         );
  
db_modify_material_name
( old_name, new_name )
  
Description:
 
 
This function renames a material.
Input:
 
 
STRING[32]
old_name
Material name to be modified.
STRING[32]
new_name
New material name.
Output:
 
 
INTEGER
<Return Value>
0=success, otherwise failure.