Module voxelfuse.materials
Material data array
Each material should be formatted as a dictionary item with the following keys.
Keys
- name - display name of the material
- process - method used to create parts made of this material
- r, g, b - color used to represent material
- p - density, g/cm^3
- v - poisson's ratio
- E - elastic modulus, Pa
- G - shear modulus, Pa
- Z - plastic modulus, Pa
- eY - yield stress, Pa
- eF - fail stress, Pa
- SY - yield strain, m/m
- SF - fail strain, m/m
- CTE - coefficient of thermal expansion, 1/deg C
- TP - temp phase, rad
- uS - coefficient of static friction
- uD - coefficient of dynamic friction
- MM - material model, 0=linear, 1=linear+failure, 2=bilinear, 3=data
- MMD - material model data, id in ss_data table
- FM - failure model, 0=stress, 1=strain
- HG - hydrogel, 0=disable, 1=enable
- HGM - hydrogel model, id in hg_models table
Supported Process Values
- '3dp' – 3D Printing
- 'laser' – Laser Cutting
- 'ins' – Inserted component
Copyright 2020 - Cole Brauer, Dan Aukes
Expand source code
"""
Material data array
Each material should be formatted as a dictionary item with
the following keys.
### Keys
- name - display name of the material
- process - method used to create parts made of this material
- r, g, b - color used to represent material
- p - density, g/cm^3
- v - poisson's ratio
- E - elastic modulus, Pa
- G - shear modulus, Pa
- Z - plastic modulus, Pa
- eY - yield stress, Pa
- eF - fail stress, Pa
- SY - yield strain, m/m
- SF - fail strain, m/m
- CTE - coefficient of thermal expansion, 1/deg C
- TP - temp phase, rad
- uS - coefficient of static friction
- uD - coefficient of dynamic friction
- MM - material model, 0=linear, 1=linear+failure, 2=bilinear, 3=data
- MMD - material model data, id in ss_data table
- FM - failure model, 0=stress, 1=strain
- HG - hydrogel, 0=disable, 1=enable
- HGM - hydrogel model, id in hg_models table
### Supported Process Values
- '3dp' -- 3D Printing
- 'laser' -- Laser Cutting
- 'ins' -- Inserted component
----
Copyright 2020 - Cole Brauer, Dan Aukes
"""
material_properties =\
[# Empty space
{'id': 0, 'name':'Empty', 'process':'nul', 'r':0.00, 'g':0.00, 'b':0.00, 'p':0.000, 'v':0, 'E':0, 'G':0, 'Z':0, 'eY':0, 'eF':0, 'SY':0, 'SF':0, 'CTE':0, 'TP':0, 'uS':0, 'uD':0, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0},
# Common materials
{'id': 1, 'name':'R PLA', 'process':'3dp', 'r':1.00, 'g':0.00, 'b':0.00, 'p':1.240, 'v':0.36, 'E':3.5000e9, 'G':1.287e9, 'Z':0, 'eY':70e6, 'eF':73e6, 'SY':0.02, 'SF':0.04, 'CTE':41e-6, 'TP':0, 'uS':0.5, 'uD':0.4, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0}, # u is for pla-steel
{'id': 2, 'name':'G PLA', 'process':'3dp', 'r':0.00, 'g':1.00, 'b':0.00, 'p':1.240, 'v':0.36, 'E':3.5000e9, 'G':1.287e9, 'Z':0, 'eY':70e6, 'eF':73e6, 'SY':0.02, 'SF':0.04, 'CTE':41e-6, 'TP':0, 'uS':0.5, 'uD':0.4, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0},
{'id': 3, 'name':'B PLA', 'process':'3dp', 'r':0.00, 'g':0.00, 'b':1.00, 'p':1.240, 'v':0.36, 'E':3.5000e9, 'G':1.287e9, 'Z':0, 'eY':70e6, 'eF':73e6, 'SY':0.02, 'SF':0.04, 'CTE':41e-6, 'TP':0, 'uS':0.5, 'uD':0.4, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0},
{'id': 4, 'name':'Aluminum', 'process':'ins', 'r':0.60, 'g':0.60, 'b':0.60, 'p':2.710, 'v':0.33, 'E':68.900e9, 'G':26.20e9, 'Z':0, 'eY':241e6, 'eF':262e6, 'SY':0.1, 'SF':0.17, 'CTE':23.4e-6, 'TP':0, 'uS':0.61, 'uD':0.47, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0}, # 6061 T6, u is for alu-steel
{'id': 5, 'name':'Rubber', 'process':'3dp', 'r':0.20, 'g':0.20, 'b':0.20, 'p':0.930, 'v':0.50, 'E':1.8180e6, 'G':1.000e9, 'Z':0, 'eY':3.223e6, 'eF':3.164e6, 'SY':1.025, 'SF':1.028, 'CTE':0.1e-6, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':3, 'MMD':1, 'FM':1, 'HG': 0, 'HGM': 0}, # u is for rubber-asphalt
# Hydrogel type 1
{'id': 6, 'name':'C H-Gel 1', 'process':'ins', 'r':0.00, 'g':0.60, 'b':0.60, 'p':1.000, 'v':0.4, 'E':37e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 1},
{'id': 7, 'name':'M H-Gel 1', 'process':'ins', 'r':0.60, 'g':0.00, 'b':0.60, 'p':1.000, 'v':0.4, 'E':37e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 1},
{'id': 8, 'name':'Y H-Gel 1', 'process':'ins', 'r':0.60, 'g':0.60, 'b':0.00, 'p':1.000, 'v':0.4, 'E':37e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 1},
# Hydrogel type 2
{'id': 9, 'name':'C H-Gel 2', 'process':'ins', 'r':0.00, 'g':1.00, 'b':1.00, 'p':1.000, 'v':0.4, 'E':58e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 2},
{'id': 10, 'name':'M H-Gel 2', 'process':'ins', 'r':1.00, 'g':0.00, 'b':1.00, 'p':1.000, 'v':0.4, 'E':58e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 2},
{'id': 11, 'name':'Y H-Gel 2', 'process':'ins', 'r':1.00, 'g':1.00, 'b':0.00, 'p':1.000, 'v':0.4, 'E':58e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':-0.016, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 1, 'HGM': 2},
# Similar properties to rubber, but with lower yield and failure points
{'id': 12, 'name':'Adhesive', 'process':'3dp', 'r':0.30, 'g':0.30, 'b':0.30, 'p':0.930, 'v':0.50, 'E':1.8180e6, 'G':1.000e9, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':0.1e-6, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':3, 'MMD':2, 'FM':1, 'HG': 0, 'HGM': 0},
# For use as a sensor element - similar hardness to hydrogel, low mass, no thermal expansion
{'id': 13, 'name':'Low Mass Soft', 'process':'3dp', 'r':0.80, 'g':0.40, 'b':0.00, 'p':0.01, 'v':0.50, 'E':50e3, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':0, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0},
{'id': 14, 'name':'Low Mass Hard', 'process':'3dp', 'r':1.00, 'g':0.60, 'b':0.00, 'p':0.01, 'v':0.50, 'E':50e4, 'G':1.8e3, 'Z':0, 'eY':1.4e6, 'eF':1.301e6, 'SY':0.6606, 'SF':0.6776, 'CTE':0, 'TP':0, 'uS':0.9, 'uD':0.8, 'MM':0, 'MMD':0, 'FM':0, 'HG': 0, 'HGM': 0}]
# Stress-strain curves for use when 'MM' = 3
ss_data = [{'id': 1,
'name':'Rubber',
'strain':[0, 0.1004, 0.2009, 0.3026, 0.4000, 0.4988, 0.6015, 0.7001, 0.8010, 0.9035, 0.9991, 1.0250],
'stress':[0, 0.3884e6, 0.5753e6, 0.7757e6, 0.9612e6, 1.1710e6, 1.4500e6, 1.7560e6, 2.1300e6, 2.5600e6, 3.0820e6, 3.2230e6]},
{'id': 2,
'name':'Adhesive',
'strain':[0, 0.1006, 0.2004, 0.3000, 0.4003, 0.5005, 0.6004, 0.6606, 0.6738, 0.6776],
'stress':[0, 0.3609e6, 0.5338e6, 0.6872e6, 0.8617e6, 1.0520e6, 1.2700e6, 1.4000e6, 1.3800e6, 1.3010e6]}]
# Hydrogel response models
hg_models = [{'id': 1,
'name': '3over10',
'test_voxel_dim': 0.005,
'ideal_displacement': 2.0,
'ideal_max_temp': 45.0,
'ideal_min_temp': 15.0,
'test_displacement': 1.65,
'test_max_temp': 43.0,
'test_min_temp': 15.32,
'test_time_step': 0.07843137,
'kp_rising': 0.009,
'kp_falling': 0.0048,
'c0': 17.779,
'c1': -3.7322,
'c2': 0.30097,
'c3': -0.011557,
'c4': 0.00020873,
'c5': -0.0000014297},
{'id': 2,
'name': '5over10',
'test_voxel_dim': 0.005,
'ideal_displacement': 2.0,
'ideal_max_temp': 45.0,
'ideal_min_temp': 15.0,
'test_displacement': 1.65,
'test_max_temp': 43.0,
'test_min_temp': 15.32,
'test_time_step': 0.07843137,
'kp_rising': 0.009,
'kp_falling': 0.0048,
'c0': -1.4799,
'c1': 0.23004,
'c2': -0.010758,
'c3': 0.00012961,
'c4': 0,
'c5': 0}]