Skip to content

models.materials

machwave.models.materials

Al6061T6 dataclass

Bases: NozzleMaterial

Al6061T6 (Aluminum) material class derived from the NozzleMaterial base class.

This class represents a specific type of material, Al6061T6 (Aluminum), which inherits properties from the NozzleMaterial base class. It provides default values for the density, yield strength, ultimate strength, c_1, and c_2 specific to Al6061T6.

Source: https://matweb.com/search/DataSheet.aspx?MatGUID=b8d536e0b9b54bd7b69e4124d8f1d20a&ckck=1

Source code in machwave/models/materials/metals.py
@dataclass
class Al6061T6(NozzleMaterial):
    """
    Al6061T6 (Aluminum) material class derived from the NozzleMaterial base
    class.

    This class represents a specific type of material, Al6061T6 (Aluminum),
    which inherits properties from the NozzleMaterial base class. It provides
    default values for the density, yield strength, ultimate strength, c_1, and
    c_2 specific to Al6061T6.

    Source:
    https://matweb.com/search/DataSheet.aspx?MatGUID=b8d536e0b9b54bd7b69e4124d8f1d20a&ckck=1
    """

    density: float = 2700
    yield_strength: float = 262e6
    ultimate_strength: float = 290e6
    c_1: float = 0.00506
    c_2: float = 0.0

Al6063T5 dataclass

Bases: NozzleMaterial

Al6063T5 (Aluminum) material class derived from the NozzleMaterial base class.

This class represents a specific type of material, Al6063T5 (Aluminum), which inherits properties from the NozzleMaterial base class. It provides default values for the density, yield strength, ultimate strength, c_1, and c_2 specific to Al6063T5.

Source: https://www.makeitfrom.com/material-properties/6063-T5-Aluminum

Source code in machwave/models/materials/metals.py
@dataclass
class Al6063T5(NozzleMaterial):
    """
    Al6063T5 (Aluminum) material class derived from the NozzleMaterial base
    class.

    This class represents a specific type of material, Al6063T5 (Aluminum),
    which inherits properties from the NozzleMaterial base class. It provides
    default values for the density, yield strength, ultimate strength, c_1, and
    c_2 specific to Al6063T5.

    Source:
    https://www.makeitfrom.com/material-properties/6063-T5-Aluminum
    """

    density: float = 2700
    yield_strength: float = 145e6
    ultimate_strength: float = 185e6
    c_1: float = 0.00506
    c_2: float = 0.0

EPDM dataclass

Bases: Material

EPDM (Ethylene Propylene Diene Monomer) material class.

Source: https://www.matweb.com/search/datasheet.aspx?matguid=f8e3355cc2c541fbb0174960466819c0&ckck=1

Source code in machwave/models/materials/polymers.py
@dataclass
class EPDM(Material):
    """
    EPDM (Ethylene Propylene Diene Monomer) material class.

    Source:
    https://www.matweb.com/search/datasheet.aspx?matguid=f8e3355cc2c541fbb0174960466819c0&ckck=1
    """

    density: float = 1500
    yield_strength: float = 0
    ultimate_strength: float = 17e6

EpoxiResin

Bases: Material

EpoxiResin material class.

Source code in machwave/models/materials/polymers.py
class EpoxiResin(Material):
    """
    EpoxiResin material class.
    """

    def __init__(self) -> None:
        """
        Initialize an EpoxiResin object.

        This constructor sets the default values for the density, yield
        strength, and ultimate strength of EpoxiResin.
        """
        super().__init__(density=1100, yield_strength=60e6, ultimate_strength=60e6)

__init__()

Initialize an EpoxiResin object.

This constructor sets the default values for the density, yield strength, and ultimate strength of EpoxiResin.

Source code in machwave/models/materials/polymers.py
def __init__(self) -> None:
    """
    Initialize an EpoxiResin object.

    This constructor sets the default values for the density, yield
    strength, and ultimate strength of EpoxiResin.
    """
    super().__init__(density=1100, yield_strength=60e6, ultimate_strength=60e6)

Material dataclass

Bases: ABC

Base class representing a generic material.

Attributes:

Name Type Description
density float

Density of the material.

yield_strength float

Yield strength of the material.

ultimate_strength float

Ultimate strength of the material.

Source code in machwave/models/materials/base.py
@dataclass
class Material(ABC):
    """
    Base class representing a generic material.

    Attributes:
        density: Density of the material.
        yield_strength: Yield strength of the material.
        ultimate_strength: Ultimate strength of the material.
    """

    density: float
    yield_strength: float
    ultimate_strength: float

NozzleMaterial dataclass

Bases: Material

Base class for a Nozzle material.

Contains all attributes from the Material class, adding c_1 and c_2 for calculating isentropic flow correction factors. These special parameters are referenced in the a015140 paper.

Attributes:

Name Type Description
c_1 float

Coefficient related to heat transfer properties of a BATES motor.

c_2 float

Time constant obtained from the analysis of the transient heating of a standard BATES motor.

Source code in machwave/models/materials/base.py
@dataclass
class NozzleMaterial(Material):
    """
    Base class for a Nozzle material.

    Contains all attributes from the Material class, adding c_1 and c_2 for
    calculating isentropic flow correction factors. These special parameters
    are referenced in the a015140 paper.

    Attributes:
        c_1: Coefficient related to heat transfer properties of a BATES
            motor.
        c_2: Time constant obtained from the analysis of the transient
            heating of a standard BATES motor.
    """

    c_1: float
    c_2: float

Steel dataclass

Bases: NozzleMaterial

Steel material class derived from the NozzleMaterial base class.

This class represents a specific type of material, Steel, which inherits properties from the NozzleMaterial base class. It provides default values for the density, yield strength, ultimate strength, c_1, and c_2 specific to Steel.

Source: https://www.thyssenkrupp-materials.co.uk/stainless-steel-304-14301.html

Source code in machwave/models/materials/metals.py
@dataclass
class Steel(NozzleMaterial):
    """
    Steel material class derived from the NozzleMaterial base class.

    This class represents a specific type of material, Steel, which inherits
    properties from the NozzleMaterial base class. It provides default values
    for the density, yield strength, ultimate strength, c_1, and c_2 specific to
    Steel.

    Source:
    https://www.thyssenkrupp-materials.co.uk/stainless-steel-304-14301.html
    """

    density: float = 8000
    yield_strength: float = 210e6
    ultimate_strength: float = 520e6
    c_1: float = 0.00506
    c_2: float = 0.0