Source code for abaqus.Optimization.TopologyTask

import typing

from abaqusConstants import *
from .DesignResponse import DesignResponse
from .GeometricRestriction import GeometricRestriction
from .ObjectiveFunction import ObjectiveFunction
from .OptimizationConstraint import OptimizationConstraint
from .OptimizationTask import OptimizationTask
from .StopCondition import StopCondition


[docs]class TopologyTask(OptimizationTask): """The TopologyTask object defines a topology task. The TopologyTask object is derived from the OptimizationTask object. Attributes ---------- designResponses: dict[str, DesignResponse] A repository of :py:class:`~abaqus.Optimization.DesignResponse.DesignResponse` objects. objectiveFunctions: dict[str, ObjectiveFunction] A repository of :py:class:`~abaqus.Optimization.ObjectiveFunction.ObjectiveFunction` objects. optimizationConstraints: dict[str, OptimizationConstraint] A repository of :py:class:`~abaqus.Optimization.OptimizationConstraint.OptimizationConstraint` objects. geometricRestrictions: dict[str, GeometricRestriction] A repository of :py:class:`~abaqus.Optimization.GeometricRestriction.GeometricRestriction` objects. stopConditions: dict[str, StopCondition] A repository of :py:class:`~abaqus.Optimization.StopCondition.StopCondition` objects. Notes ----- This object can be accessed by: .. code-block:: python import optimization mdb.models[name].optimizationTasks[name] """ # A repository of DesignResponse objects. designResponses: dict[str, DesignResponse] = dict[str, DesignResponse]() # A repository of ObjectiveFunction objects. objectiveFunctions: dict[str, ObjectiveFunction] = dict[str, ObjectiveFunction]() # A repository of OptimizationConstraint objects. optimizationConstraints: dict[str, OptimizationConstraint] = dict[str, OptimizationConstraint]() # A repository of GeometricRestriction objects. geometricRestrictions: dict[str, GeometricRestriction] = dict[str, GeometricRestriction]() # A repository of StopCondition objects. stopConditions: dict[str, StopCondition] = dict[str, StopCondition]() def __init__(self, name: str, abaqusSensitivities: Boolean = True, algorithm: SymbolicConstant = GENERAL_OPTIMIZATION, densityMoveLimit: float = 0, densityUpdateStrategy: SymbolicConstant = NORMAL, elementDensityDeltaStopCriteria: float = 0, filterRadius: float = None, firstCycleDeletedVolume: float = 5, firstCycleDeletedVolumeTechnique: SymbolicConstant = OFF, freezeBoundaryConditionRegions: Boolean = OFF, freezeLoadRegions: Boolean = ON, frequencySpectrumWeight: float = 6, initialDensity: SymbolicConstant = DEFAULT, materialInterpolationPenalty: float = 3, materialInterpolationTechnique: SymbolicConstant = DEFAULT, maxDensity: float = 1, minDensity: float = None, modeTrackingRegion: SymbolicConstant = MODEL, numDesignCycles: int = 15, numFulfilledStopCriteria: int = 2, numTrackedModes: int = 5, objectiveFunctionDeltaStopCriteria: float = None, region: SymbolicConstant = MODEL, softDeletionMethod: SymbolicConstant = STANDARD, softDeletionRadius: float = 0, softDeletionRegion: str = None, softDeletionThreshold: float = None, stepSize: SymbolicConstant = MEDIUM, stiffnessMassDamping: typing.Union[SymbolicConstant, float] = AVERAGE_EDGE_LENGTH, stopCriteriaDesignCycle: int = 4, structuralMassDamping: float = None, viscousMassDamping: float = None, viscousStiffnessDamping: float = None, groupOperator: Boolean = OFF): """This method creates a TopologyTask object. Notes ----- This function can be accessed by: .. code-block:: python mdb.models[name].TopologyTask Parameters ---------- name A String specifying the optimization task repository key. abaqusSensitivities A Boolean specifying whether to use Abaqus to compute the design responses and their sensitivities. The default value is True. algorithm A SymbolicConstant specifying the optimization task algorithm. Possible values are GENERAL_OPTIMIZATION and CONDITION_BASED_OPTIMIZATION. The default value is GENERAL_OPTIMIZATION. densityMoveLimit A Float specifying the maximum density change per design cycle. The default value is 0.25. densityUpdateStrategy A SymbolicConstant specifying the strategy for how the densities are updated in the method of moving asymptotes. Possible values are NORMAL, CONSERVATIVE, and AGGRESSIVE. The default value is NORMAL. elementDensityDeltaStopCriteria A Float specifying the stop criteria based upon the change in element densities. The default value is 0.5×10–2. filterRadius None or a Float specifying the mesh filter radius for mesh independence and minimum size. The default value is None. firstCycleDeletedVolume A Float specifying the volume that can be removed immediately in the first design cycle. The default value is 5.0. firstCycleDeletedVolumeTechnique A SymbolicConstant specifying the method of quantifying volume that can be removed immediately in the first design cycle. Possible values are OFF, PERCENTAGE, and ABSOLUTE. The default value is OFF. freezeBoundaryConditionRegions A Boolean specifying whether to exclude elements with boundary conditions from the optimization. The default value is OFF. freezeLoadRegions A Boolean specifying whether to exclude elements with loads and elements with loaded nodes from the optimization. The default value is ON. frequencySpectrumWeight A Float specifying the weighting factor for frequency spectrum peaks. The default value is 6.0. initialDensity A SymbolicConstant specifying the Optimization product default or a float specifying the initial density. The default value is DEFAULT. materialInterpolationPenalty A Float specifying the penalty factor for the material interpolation technique. The default value is 3.0. materialInterpolationTechnique A SymbolicConstant specifying the material interpolation technique: optimization product default, solid isotropic material with penalization, or rational approximation of material properties. Possible values are DEFAULT, SIMP, and RAMP. The default value is DEFAULT. maxDensity A Float specifying the maximum density in the density update. The default value is 1.0. minDensity A Float specifying the minimum density in the density update. The default value is 10–3. modeTrackingRegion The SymbolicConstant MODEL or a Region object specifying the region to use for mode tracking. The default value is MODEL. numDesignCycles An Int specifying the number of design cycles permitted when *stepSize* is DYNAMIC. The default value is 15. numFulfilledStopCriteria An Int specifying the number of stop criteria. The default value is 2. numTrackedModes An Int specifying the number of modes included in mode tracking. The default value is 5. objectiveFunctionDeltaStopCriteria A Float specifying the stop criteria based on the change in objective function. The default value is 10–3. region The SymbolicConstant MODEL or a Region object specifying the region to which the optimization task is applied. The default value is MODEL. softDeletionMethod A SymbolicConstant specifying the method used when *softDeletionRegion* is specified. The STANDARD method avoids creating disconnected regions. The AGGRESSIVE method only considers the *softDeletionThreshold*. The MAX_SHEAR_STRAIN, MAX_ELASTOPLASTIC_STRAIN and VOLUME_COMPRESSION methods do not need the *softDeletionRadius*. Possible values are STANDARD, AGGRESSIVE, MAX_SHEAR_STRAIN, MIN_PRINCIPAL_STRAIN, MAX_ELASTOPLASTIC_STRAIN and VOLUME_COMPRESSION. The default value is STANDARD. softDeletionRadius A Float specifying the radius to use when considering neighboring soft elements to delete. The default value is 0.0. softDeletionRegion None or a Region object specifying the region in which the soft elements should be deleted during optimization. The default value is None. softDeletionThreshold A Float specifying the relative material density value used to identify soft elements. Those with values below the threshold are considered for removal. For STANDARD and AGGRESSIVE methods positive values are accepted and the default value is 0.05. For MAX_SHEAR_STRAIN and MAX_ELASTOPLASTIC_STRAIN methods positive values are accepted whereas for MIN_PRINCIPAL_STRAIN and VOLUME_COMPRESSION methods negative values are accepted. stepSize A SymbolicConstant specifying the size of the increment for volume modification. Possible values are DYNAMIC, VERY_SMALL, SMALL, MODERATE, MEDIUM, and LARGE. The default value is MEDIUM. stiffnessMassDamping The SymbolicConstant AVERAGE_EDGE_LENGTH or a Float specifying the stiffness mass damping for the task region. The default value is AVERAGE_EDGE_LENGTH. stopCriteriaDesignCycle An Int specifying the first design cycle used to evaluate convergence criteria. The default value is 4. structuralMassDamping None or a Float specifying the structural mass damping for the task region. The default value is None. viscousMassDamping None or a Float specifying the viscous mass damping for the task region. The default value is None. viscousStiffnessDamping None or a Float specifying the viscous stiffness damping for the task region. The default value is None. groupOperator A Boolean specifying whether the group in the design response will be evaluated using the existing algorithm or a new algorithm based on Abaqus sensitivities. The default value of False means that the existing algorithm will be used. Returns ------- A TopologyTask object. """ super().__init__() pass
[docs] def setValues(self, abaqusSensitivities: Boolean = True, algorithm: SymbolicConstant = GENERAL_OPTIMIZATION, densityMoveLimit: float = 0, densityUpdateStrategy: SymbolicConstant = NORMAL, elementDensityDeltaStopCriteria: float = 0, filterRadius: float = None, firstCycleDeletedVolume: float = 5, firstCycleDeletedVolumeTechnique: SymbolicConstant = OFF, freezeBoundaryConditionRegions: Boolean = OFF, freezeLoadRegions: Boolean = ON, frequencySpectrumWeight: float = 6, initialDensity: SymbolicConstant = DEFAULT, materialInterpolationPenalty: float = 3, materialInterpolationTechnique: SymbolicConstant = DEFAULT, maxDensity: float = 1, minDensity: float = None, modeTrackingRegion: SymbolicConstant = MODEL, numDesignCycles: int = 15, numFulfilledStopCriteria: int = 2, numTrackedModes: int = 5, objectiveFunctionDeltaStopCriteria: float = None, region: SymbolicConstant = MODEL, softDeletionMethod: SymbolicConstant = STANDARD, softDeletionRadius: float = 0, softDeletionRegion: str = None, softDeletionThreshold: float = None, stepSize: SymbolicConstant = MEDIUM, stiffnessMassDamping: typing.Union[SymbolicConstant, float] = AVERAGE_EDGE_LENGTH, stopCriteriaDesignCycle: int = 4, structuralMassDamping: float = None, viscousMassDamping: float = None, viscousStiffnessDamping: float = None, groupOperator: Boolean = OFF): """This method modifies the TopologyTask object. Parameters ---------- abaqusSensitivities A Boolean specifying whether to use Abaqus to compute the design responses and their sensitivities. The default value is True. algorithm A SymbolicConstant specifying the optimization task algorithm. Possible values are GENERAL_OPTIMIZATION and CONDITION_BASED_OPTIMIZATION. The default value is GENERAL_OPTIMIZATION. densityMoveLimit A Float specifying the maximum density change per design cycle. The default value is 0.25. densityUpdateStrategy A SymbolicConstant specifying the strategy for how the densities are updated in the method of moving asymptotes. Possible values are NORMAL, CONSERVATIVE, and AGGRESSIVE. The default value is NORMAL. elementDensityDeltaStopCriteria A Float specifying the stop criteria based upon the change in element densities. The default value is 0.5×10–2. filterRadius None or a Float specifying the mesh filter radius for mesh independence and minimum size. The default value is None. firstCycleDeletedVolume A Float specifying the volume that can be removed immediately in the first design cycle. The default value is 5.0. firstCycleDeletedVolumeTechnique A SymbolicConstant specifying the method of quantifying volume that can be removed immediately in the first design cycle. Possible values are OFF, PERCENTAGE, and ABSOLUTE. The default value is OFF. freezeBoundaryConditionRegions A Boolean specifying whether to exclude elements with boundary conditions from the optimization. The default value is OFF. freezeLoadRegions A Boolean specifying whether to exclude elements with loads and elements with loaded nodes from the optimization. The default value is ON. frequencySpectrumWeight A Float specifying the weighting factor for frequency spectrum peaks. The default value is 6.0. initialDensity A SymbolicConstant specifying the Optimization product default or a float specifying the initial density. The default value is DEFAULT. materialInterpolationPenalty A Float specifying the penalty factor for the material interpolation technique. The default value is 3.0. materialInterpolationTechnique A SymbolicConstant specifying the material interpolation technique: optimization product default, solid isotropic material with penalization, or rational approximation of material properties. Possible values are DEFAULT, SIMP, and RAMP. The default value is DEFAULT. maxDensity A Float specifying the maximum density in the density update. The default value is 1.0. minDensity A Float specifying the minimum density in the density update. The default value is 10–3. modeTrackingRegion The SymbolicConstant MODEL or a Region object specifying the region to use for mode tracking. The default value is MODEL. numDesignCycles An Int specifying the number of design cycles permitted when *stepSize* is DYNAMIC. The default value is 15. numFulfilledStopCriteria An Int specifying the number of stop criteria. The default value is 2. numTrackedModes An Int specifying the number of modes included in mode tracking. The default value is 5. objectiveFunctionDeltaStopCriteria A Float specifying the stop criteria based on the change in objective function. The default value is 10–3. region The SymbolicConstant MODEL or a Region object specifying the region to which the optimization task is applied. The default value is MODEL. softDeletionMethod A SymbolicConstant specifying the method used when *softDeletionRegion* is specified. The STANDARD method avoids creating disconnected regions. The AGGRESSIVE method only considers the *softDeletionThreshold*. The MAX_SHEAR_STRAIN, MAX_ELASTOPLASTIC_STRAIN and VOLUME_COMPRESSION methods do not need the *softDeletionRadius*. Possible values are STANDARD, AGGRESSIVE, MAX_SHEAR_STRAIN, MIN_PRINCIPAL_STRAIN, MAX_ELASTOPLASTIC_STRAIN and VOLUME_COMPRESSION. The default value is STANDARD. softDeletionRadius A Float specifying the radius to use when considering neighboring soft elements to delete. The default value is 0.0. softDeletionRegion None or a Region object specifying the region in which the soft elements should be deleted during optimization. The default value is None. softDeletionThreshold A Float specifying the relative material density value used to identify soft elements. Those with values below the threshold are considered for removal. For STANDARD and AGGRESSIVE methods positive values are accepted and the default value is 0.05. For MAX_SHEAR_STRAIN and MAX_ELASTOPLASTIC_STRAIN methods positive values are accepted whereas for MIN_PRINCIPAL_STRAIN and VOLUME_COMPRESSION methods negative values are accepted. stepSize A SymbolicConstant specifying the size of the increment for volume modification. Possible values are DYNAMIC, VERY_SMALL, SMALL, MODERATE, MEDIUM, and LARGE. The default value is MEDIUM. stiffnessMassDamping The SymbolicConstant AVERAGE_EDGE_LENGTH or a Float specifying the stiffness mass damping for the task region. The default value is AVERAGE_EDGE_LENGTH. stopCriteriaDesignCycle An Int specifying the first design cycle used to evaluate convergence criteria. The default value is 4. structuralMassDamping None or a Float specifying the structural mass damping for the task region. The default value is None. viscousMassDamping None or a Float specifying the viscous mass damping for the task region. The default value is None. viscousStiffnessDamping None or a Float specifying the viscous stiffness damping for the task region. The default value is None. groupOperator A Boolean specifying whether the group in the design response will be evaluated using the existing algorithm or a new algorithm based on Abaqus sensitivities. The default value of False means that the existing algorithm will be used. """ pass