Material¶
Material
¶
- class guwlib.guw_objects.Material(material_name)¶
Base class to represent materials by their properties and by their material-dependent dispersion data.
- Parameters:
material_name (str) – Name of the material for which to load the data.
- Variables:
name (str) – Name of the material.
properties (dict) – Dictionary storing the material properties.
IsotropicMaterial
¶
- class guwlib.guw_objects.IsotropicMaterial(material_name)¶
Bases:
Material
Represents an isotropic material, e.g. 1100 aluminum alloy.
An
IsotropicMaterial
instance is initialized by passing a valid material name to its constructor. The respective material properties are then loaded from theguwlib/data/isotropic_materials.json
file.- Raises:
ValueError: If the material name doesn’t exist in the material library (*.JSON file).
- Parameters:
material_name (str) – Name of the isotropic material for which to load the data.
PiezoElectricMaterial
¶
- class guwlib.guw_objects.PiezoElectricMaterial(material_name)¶
Bases:
Material
Represents a piezoelectric material, e.g. PIC255.
A
PiezoelectricMaterial
instance is initialized by passing a valid material name to its constructor. The respective material properties are then loaded from theguwlib/data/piezoelectric_materials.json
file.- Raises:
ValueError: If the material name doesn’t exist in the material library (*.JSON file).
- Parameters:
material_name (str) – Name of the piezoelectric material for which to load the data.
Adding materials to the material library¶
A lot of materials are already available by default and can be loaded by providing their name.
All material data is stored in the data directory (guwlib/data/
) in respective .JSON
and .TXT files. By default, the content of this directory looks like this:
guwlib/
│ ...
│
├───data/
│ AluminumAlloy1100_A_Lamb.txt
│ AluminumAlloy1100_S_Lamb.txt
│ isotropic_materials.json
│ piezoelectric_materials.json
│
├───...
For each material class, the respective .JSON file stores material properties, like Youngs modulus and density. Please inspect these files to see which materials are available. To add your own materials, follow the format of the existing entries.
If a material is used for the Plate
, GUWlib will
also try to obtain analytical dispersion data for this material. This dispersion data has to
be stored in two .TXT files for each material, and the files have to be named after this
convention:
<material_name>_S_Lamb.txt
(symmetric modes data)
<material_name>_A_Lamb.txt
(antisymmetric modes data)
These files can be created with DLR Dispersion Calculator. Make sure that your .TXT files are formatted the same way as the existing example files for 1100 aluminum alloy.