Esempio n. 1
0
    def add_cutout(self, thetadeg, pt, d, drill_offset_deg=0.,
                   clearance_factor=0.75):
        r"""Add a cutout

        Parameters
        ----------
        thetadeg : float
            Circumferential position of the dimple.
        pt : float
            Normalized meridional position.
        d : float
            Diameter of the drilling machine.
        drill_offset_deg : float
            Angular offset when the drilling is not normal to the shell
            surface. A positive offset means a positive rotation about the
            `\theta` axis, along the meridional plane.
        clearance_factor : float
            Fraction of the diameter to apply as clearance around the cutout.
            This clearance is partitoned and meshed separately from the rest of
            the cone / cylinder.

        Returns
        -------
        cutout : :class:`.Cutout` object.

        """
        cutout = Cutout(thetadeg, pt, d, drill_offset_deg, clearance_factor)
        cutout.impconf = self
        self.cutouts.append(cutout)
        return cutout
Esempio n. 2
0
    def add_cutout(self,
                   thetadeg,
                   pt,
                   d,
                   drill_offset_deg=0.,
                   clearance_factor=0.75):
        r"""Add a cutout

        Parameters
        ----------
        thetadeg : float
            Circumferential position of the dimple.
        pt : float
            Normalized meridional position.
        d : float
            Diameter of the drilling machine.
        drill_offset_deg : float
            Angular offset when the drilling is not normal to the shell
            surface. A positive offset means a positive rotation about the
            `\theta` axis, along the meridional plane.
        clearance_factor : float
            Fraction of the diameter to apply as clearance around the cutout.
            This clearance is partitoned and meshed separately from the rest of
            the cone / cylinder.

        Returns
        -------
        cutout : :class:`.Cutout` object.

        """
        cutout = Cutout(thetadeg, pt, d, drill_offset_deg, clearance_factor)
        cutout.impconf = self
        self.cutouts.append(cutout)
        return cutout
Esempio n. 3
0
    def add_cutout(self, thetadeg, pt, d, drill_offset_deg=0.,
                   clearance_factor=0.75, numel_radial_edge=4,
                   prop_around_hole=None):
        r"""Add a cutout

        Parameters
        ----------
        thetadeg : float
            Circumferential position of the dimple.
        pt : float
            Normalized meridional position.
        d : float
            Diameter of the drilling machine.
        drill_offset_deg : float, optional
            Angular offset when the drilling is not normal to the shell
            surface. A positive offset means a positive rotation about the
            `\theta` axis, along the meridional plane.
        clearance_factor : float, optional
            Fraction of the diameter to apply as clearance around the cutout.
            This clearance is partitoned and meshed separately from the rest of
            the cone / cylinder.
        numel_radial_edge : int, optional
            Number of elements along the radial edges about the cutout center.
            This parameter affects the aspect ratio of the elements inside the
            cutout area.
        prop_around_hole : dict, optional
            Dictionary with keys:

            - radius : float
            - 'stack': list of floats
            - 'plyts': list of floats
            - 'mat_names': list of strings

            Example::

                prop_around_holes = {
                    'radius': 10.,
                    'stack': [0, 90, 0],
                    'plyts': [0.125, 0.125, 0.125],
                    'mat_names': ['Alum', 'Alum', 'Alum'],
                }

            .. note:: `mat_names` must be a list of materials already created in
                      the current model in Abaqus

        Returns
        -------
        cutout : :class:`.Cutout` object.

        """
        cutout = Cutout(thetadeg, pt, d, drill_offset_deg, clearance_factor,
                numel_radial_edge, prop_around_hole)
        cutout.impconf = self
        self.cutouts.append(cutout)
        return cutout
Esempio n. 4
0
    def add_cutout(self,
                   thetadeg,
                   pt,
                   d,
                   drill_offset_deg=0.,
                   clearance_factor=0.75,
                   numel_radial_edge=4,
                   prop_around_cutout=None):
        r"""Add a cutout

        Parameters
        ----------
        thetadeg : float
            Circumferential position of the dimple.
        pt : float
            Normalized meridional position.
        d : float
            Diameter of the drilling machine.
        drill_offset_deg : float, optional
            Angular offset when the drilling is not normal to the shell
            surface. A positive offset means a positive rotation about the
            `\theta` axis, along the meridional plane.
        clearance_factor : float, optional
            Fraction of the diameter to apply as clearance around the cutout.
            This clearance is partitoned and meshed separately from the rest of
            the cone / cylinder.
        numel_radial_edge : int, optional
            Number of elements along the radial edges about the cutout center.
            This parameter affects the aspect ratio of the elements inside the
            cutout area.
        prop_around_cutout : dict, optional
            Dictionary with keys:

            - 'mode' : str ('radius' or 'partition')
            - 'radius' : float
            - 'stack': list of floats
            - 'plyts': list of floats
            - 'mat_names': list of strings
            .

            Examples:

            - Defining a property with ``'mode'='radius'``::

                prop_around_cutout = {
                    'mode': 'radius',
                    'radius': 10.,
                    'stack': [0, 90, 0],
                    'plyts': [0.125, 0.125, 0.125],
                    'mat_names': ['Alum', 'Alum', 'Alum'],
                }

            - Defining a property with ``'mode'='partition'``::

                prop_around_cutout = {
                    'mode': 'partition',
                    'stack': [0, 90, 0],
                    'plyts': [0.125, 0.125, 0.125],
                    'mat_names': ['Alum', 'Alum', 'Alum'],
                }

            .. note:: ``mat_names`` must be a list of materials already created in
                      the current model in Abaqus

        Returns
        -------
        cutout : :class:`.Cutout` object.

        """
        cutout = Cutout(thetadeg, pt, d, drill_offset_deg, clearance_factor,
                        numel_radial_edge, prop_around_cutout)
        cutout.impconf = self
        self.cutouts.append(cutout)
        return cutout