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
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
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