import typing
from abaqusConstants import *
from .AssembledFastener import AssembledFastener
from .ContourIntegral import ContourIntegral
from .DebondVCCT import DebondVCCT
from .DiscreteFastener import DiscreteFastener
from .EngineeringFeatureBase import EngineeringFeatureBase
from .HeatCapacitance import HeatCapacitance
from .NonstructuralMass import NonstructuralMass
from .PointFastener import PointFastener
from .PointMassInertia import PointMassInertia
from .SpringDashpotToGround import SpringDashpotToGround
from .TwoPointSpringDashpot import TwoPointSpringDashpot
from .XFEMCrack import XFEMCrack
from ..Region.Region import Region
from ..Region.RegionArray import RegionArray
class EngineeringFeature(EngineeringFeatureBase):
[docs] def AssembledFastener(self, name: str, region: Region, templateModel: str, controlSet: Region,
templateSurfaces: tuple, assignedSurfaces: tuple, propertyPrefix: str,
orientMethod: SymbolicConstant = NORMALS, localCsys: int = None,
scriptName: str = '') -> AssembledFastener:
"""This method creates an AssembledFastener object. Although the constructor is available
both for parts and for the assembly, AssembledFastener objects are currently supported
only under the assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.AssembledFastener
mdb.models[name].rootAssembly.engineeringFeatures.AssembledFastener
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region of attachment points to which assembled fasteners
are applied.
templateModel
A String specifying the name of the template model.
controlSet
A Region object specifying the template model control point set. The set must contain a
single node or vertex.
templateSurfaces
A sequence of Strings specifying the names of the template model surfaces that are
referenced by tie or coupling constraints.
assignedSurfaces
A sequence of Strings specifying the names of the main model surfaces that will be
substituted for the template model constraint surfaces.
propertyPrefix
A String specifying the name of the property prefix string. This string will be
prepended to every property name as it is copied to the main model from the template
model.
orientMethod
A SymbolicConstant specifying the method used to orient the virtual instances of the
template model at each attachment point. Possible values are NORMALS and CSYS. The
default value is NORMALS.
localCsys
None or a DatumCsys object specifying the local coordinate system. If *localCsys*=None,
the global coordinate system is used. When this member is queried, it returns an Int.
The default value is None.This argument applies only when *orientMethod*=CSYS.
scriptName
A String specifying the name of the property generation script. The default value is an
empty string.
Returns
-------
An AssembledFastener object.
"""
self.fasteners[name] = assembledFastener = AssembledFastener(name, region, templateModel, controlSet,
templateSurfaces, assignedSurfaces, propertyPrefix,
orientMethod, localCsys, scriptName)
return assembledFastener
[docs] def ContourIntegral(self, name: str, crackFront: RegionArray, crackTip: RegionArray,
extensionDirectionMethod: SymbolicConstant, symmetric: Boolean = OFF,
listOfRegions: Boolean = OFF, crackFrontName: str = '', crackTipName: str = '',
crackNormal: tuple = (), qVectors: tuple = (), midNodePosition: float = 0,
collapsedElementAtTip: SymbolicConstant = NONE) -> ContourIntegral:
"""This method creates a ContourIntegral object. Although the constructor is available both
for parts and for the assembly, ContourIntegral objects are currently supported only
under the assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.ContourIntegral
mdb.models[name].rootAssembly.engineeringFeatures.ContourIntegral
Parameters
----------
name
A String specifying the repository key.
crackFront
A RegionArray object specifying the crack-front region to which the contour integral is
applied. If the crack-front consists of a single region, a Region object may be
specified instead of a sequence with a single item in it.
crackTip
A RegionArray object specifying the crack-tip region to which the contour integral is
applied. If the crack-tip consists of a single region, a Region object may be specified
instead of a sequence with a single item in it.
extensionDirectionMethod
A SymbolicConstant specifying how the virtual crack extension direction vectors are
defined. Possible values are CRACK_NORMAL and Q_VECTORS.
symmetric
A Boolean specifying whether the crack is defined on a half model (about a symmetry
plane) or whether it is defined on the whole model. The default value is OFF.
listOfRegions
A Boolean specifying whether the regions specified by *crackFront* and *crackTip* are
specified using a single region or tuples of region objects. The default value is OFF.
crackFrontName
A String specifying the name of the crack-front region generated from the tuple of
regions specifying the crack-front region. This argument is valid only when
*listOfRegions* is ON. The default value is *name*+Front.
crackTipName
A String specifying the name of the crack-tip region generated from the tuple of regions
specifying the crack-tip region. This parameter is valid only when *listOfRegions*=ON.
The default value is *name*+Tip.
crackNormal
A sequence of sequences of Floats specifying the two points of the vector that describes
the crack normal direction. Each point is defined by a tuple of two or three coordinates
indicating its position. This argument is required only when
*extensionDirectionMethod*=CRACK_NORMAL. The default value is an empty sequence.
qVectors
A sequence of sequences of sequences of Floats specifying the vectors that indicate the
set of crack extension directions. Each vector is described by a tuple of two points,
and each point is described by a tuple of two or three coordinates indicating its
position. This argument is required only when *extensionDirectionMethod*=Q_VECTORS. The
default value is an empty sequence.
midNodePosition
A Float specifying the position of the midside node along the edges of the second-order
elements that radiate from the crack tip. Possible values are 0.0 << *midNodeParameter*
<< 1.0. The default value is 0.5.
collapsedElementAtTip
A SymbolicConstant specifying the crack-tip singularity. Possible values are NONE,
SINGLE_NODE, and DUPLICATE_NODES. The default value is NONE.
Returns
-------
A ContourIntegral object.
"""
self.cracks[name] = contourIntegral = ContourIntegral(name, crackFront, crackTip, extensionDirectionMethod,
symmetric, listOfRegions, crackFrontName, crackTipName,
crackNormal, qVectors, midNodePosition,
collapsedElementAtTip)
return contourIntegral
[docs] def DebondVCCT(self, name: str, initiationStep: str, surfToSurfInteraction: str,
debondingForceAmplitude: SymbolicConstant = STEP, printToDATFrequency: int = 1) -> DebondVCCT:
"""This method creates a DebondVCCT object. Although the constructor is available both for
parts and for the assembly, DebondVCCT objects are currently supported only under the
assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.DebondVCCT
mdb.models[name].rootAssembly.engineeringFeatures.DebondVCCT
Parameters
----------
name
A String specifying the repository key.
initiationStep
A String specifying the name of the step in which the DebondVCCT object is created.
surfToSurfInteraction
A String specifying the name of the SurfaceToSurfaceContactStd object that defines the
surface to surface interaction for the crack surfaces.
debondingForceAmplitude
A SymbolicConstant specifying whether the debond force between the two surfaces at the
crack tip is to be released immediately or gradually during the following increment
after debonding. Possible values are STEP and RAMP. The default value is STEP.
printToDATFrequency
An Int specifying the frequency at which output will be printed to DAT file. The default
value is 1.
Returns
-------
A DebondVCCT object.
"""
self.cracks[name] = debondVCCT = DebondVCCT(name, initiationStep, surfToSurfInteraction,
debondingForceAmplitude, printToDATFrequency)
return debondVCCT
[docs] def DiscreteFastener(self, name: str, region: Region, influenceRadius: typing.Union[SymbolicConstant, float],
ur1: Boolean = ON, ur2: Boolean = ON, ur3: Boolean = ON,
coupling: SymbolicConstant = CONTINUUM, weightingMethod: SymbolicConstant = UNIFORM,
localCsys: int = None) -> DiscreteFastener:
"""This method creates a DiscreteFastener object. Although the constructor is available
both for parts and for the assembly, DiscreteFastener objects are currently supported
only under the assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.DiscreteFastener
mdb.models[name].rootAssembly.engineeringFeatures.DiscreteFastener
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which the fastener is applied.
influenceRadius
The SymbolicConstant WHOLE_SURFACE or a Float specifying the coupling influence radius.
ur1
A Boolean specifying whether to constrain rotational displacement component about the
1-direction. The default value is ON.
ur2
A Boolean specifying whether to constrain rotational displacement component about the
2-direction. The default value is ON.
ur3
A Boolean specifying whether to constrain rotational displacement component about the
3-direction. The default value is ON.
coupling
A SymbolicConstant specifying the coupling method used to couple the displacement and
rotation of each attachment point to the average motion of the surface nodes within the
radius of influence from the fastening point. Possible values are CONTINUUM and
STRUCTURAL. The default value is CONTINUUM.
weightingMethod
A SymbolicConstant specifying the weighting scheme to be used to weight the contribution
of the displacements of the surface nodes within the radius of influence to the motion
of the fastening point. UNIFORM, LINEAR, QUADRATIC, and CUBIC indicate uniform, linear
decreasing, quadratic polynomial decreasing, and cubic polynomial monotonic decreasing
weight distributions. Possible values are UNIFORM, LINEAR, QUADRATIC, and CUBIC. The
default value is UNIFORM.
localCsys
None or a DatumCsys object specifying the local coordinate system of fastener couplings.
If *localCsys*=None, couplings are defined in the global coordinate system. When this
member is queried, it returns an Int. The default value is None.
Returns
-------
A DiscreteFastener object.
"""
self.fasteners[name] = discreteFastener = DiscreteFastener(name, region, influenceRadius, ur1, ur2, ur3,
coupling, weightingMethod, localCsys)
return discreteFastener
[docs] def HeatCapacitance(self, name: str, region: Region, table: tuple, temperatureDependency: Boolean = OFF,
dependencies: int = 0) -> HeatCapacitance:
"""This method creates a HeatCapacitance object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.HeatCapacitance
mdb.models[name].rootAssembly.engineeringFeatures.HeatCapacitance
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which the heat capacitance is applied.
table
A sequence of sequences of Floats specifying heat capacitance properties. The items in
the table data are described below.
temperatureDependency
A Boolean specifying whether the data depend on temperature. The default value is OFF.
dependencies
An Int specifying the number of field variable dependencies. The default value is 0.
Returns
-------
A HeatCapacitance object.
"""
self.inertias[name] = heatCapacitance = HeatCapacitance(name, region, table, temperatureDependency,
dependencies)
return heatCapacitance
[docs] def NonstructuralMass(self, name: str, region: Region, units: SymbolicConstant, magnitude: float,
distribution: SymbolicConstant = MASS_PROPORTIONAL) -> NonstructuralMass:
"""This method creates a NonstructuralMass object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.NonstructuralMass
mdb.models[name].rootAssembly.engineeringFeatures.NonstructuralMass
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which the mass is applied.
units
A SymbolicConstant specifying the units used to specify the nonstructural mass. Possible
values are TOTAL_MASS, MASS_PER_VOLUME, MASS_PER_AREA, and MASS_PER_LENGTH.
magnitude
A Float specifying the mass magnitude.
distribution
A SymbolicConstant specifying the distribution of the nonstructural mass. Possible
values are MASS_PROPORTIONAL and VOLUME_PROPORTIONAL. The default value is
MASS_PROPORTIONAL.The *distribution* argument applies only when *units*=TOTAL_MASS.
Returns
-------
A NonstructuralMass object.
"""
self.inertias[name] = nonstructuralMass = NonstructuralMass(name, region, units, magnitude, distribution)
return nonstructuralMass
[docs] def PointFastener(self, name: str, region: Region, physicalRadius: float, directionVector: tuple = None,
targetSurfaces: RegionArray = MODEL, ur1: Boolean = ON, ur2: Boolean = ON,
ur3: Boolean = ON, attachmentMethod: SymbolicConstant = FACETOFACE,
influenceRadius: typing.Union[SymbolicConstant, float] = DEFAULT,
searchRadius: typing.Union[SymbolicConstant, float] = DEFAULT,
maximumLayers: SymbolicConstant = ALL, coupling: SymbolicConstant = CONTINUUM,
weightingMethod: SymbolicConstant = UNIFORM, additionalMass: float = 0,
adjustOrientation: Boolean = ON, localCsys: int = None,
connectionType: SymbolicConstant = CONNECTOR, sectionName: str = '',
connectorOrientationLocalCsys1: int = None, axis1: SymbolicConstant = AXIS_1,
angle1: float = 0, orient2SameAs1: Boolean = ON,
connectorOrientationLocalCsys2: int = None, axis2: SymbolicConstant = AXIS_1,
angle2: float = 0, unsorted: Boolean = OFF) -> PointFastener:
"""This method creates a PointFastener object. Although the constructor is available both
for parts and for the assembly, PointFastener objects are currently supported only under
the assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.PointFastener
mdb.models[name].rootAssembly.engineeringFeatures.PointFastener
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which fasteners are applied.
physicalRadius
A Float specifying the physical fastener radius.
directionVector
A VertexArray object of length 2 specifying the direction of projection. Instead of
through a ConstrainedSketchVertex, each point may be specified through a tuple of coordinates. The
default value is None.
targetSurfaces
A RegionArray object specifying surfaces to be fastened. The default value is MODEL.
ur1
A Boolean specifying whether to constrain rotational displacement component about the
1-direction. The default value is ON.
ur2
A Boolean specifying whether to constrain rotational displacement component about the
2-direction. The default value is ON.
ur3
A Boolean specifying whether to constrain rotational displacement component about the
3-direction. The default value is ON.
attachmentMethod
A SymbolicConstant specifying the method used to locate points for attaching fasteners.
Possible values are FACETOFACE, EDGETOFACE, FACETOEDGE, and EDGETOEDGE. The default
value is FACETOFACE.
influenceRadius
The SymbolicConstant DEFAULT or a Float specifying the maximum distance from the
projection point on a connected surface within which the nodes on that surface must lie
to contribute to the motion of the projection point. If the value is DEFAULT, a radius
is computed from the fastener diameter and the surface facet lengths. The default value
is DEFAULT.
searchRadius
The SymbolicConstant DEFAULT or a Float specifying the distance from the positioning
points within which the connected points must lie. The default value is DEFAULT.
maximumLayers
The SymbolicConstant ALL or an Int specifying the maximum number of layers for each
fastener. If the value is ALL, the maximum possible number of layers within the
searchRadius will be used for each fastener. The default value is ALL.
coupling
A SymbolicConstant specifying the coupling method used to couple the displacement and
rotation of each attachment point to the average motion of the surface nodes within the
radius of influence from the fastener projection point. Possible values are CONTINUUM
and STRUCTURAL. The default value is CONTINUUM.
weightingMethod
A SymbolicConstant specifying the weighting scheme to be used to weight the contribution
of the displacements of the surface nodes within the radius of influence to the motion
of the fastener projection point. UNIFORM, LINEAR, QUADRATIC, and CUBIC indicate
uniform, linear decreasing, quadratic polynomial decreasing, and cubic polynomial
monotonic decreasing weight distributions. Possible values are UNIFORM, LINEAR,
QUADRATIC, and CUBIC. The default value is UNIFORM.
additionalMass
A Float specifying the mass that will be distributed to fastener attachment points. The
default value is 0.0.
adjustOrientation
A Boolean specifying whether to adjust localCsys such that the local z-axis for each
fastener is normal to the surface that is closest to the reference node for that
fastener. The default value is ON.
localCsys
None or a DatumCsys object specifying the local coordinate system. If *localCsys*=None,
the global coordinate system is used. When this member is queried, it returns an Int.
The default value is None.
connectionType
A SymbolicConstant specifying the fastener connection type. Possible values are
CONNECTOR and BEAM_MPC. The default value is CONNECTOR.
sectionName
A String specifying the connector section assigned to generated connectors. The default
value is an empty string.
connectorOrientationLocalCsys1
None or a DatumCsys object specifying the local coordinate system of the first connector
point in generated connectors. If *connectorOrientationLocalCsys1*=None, the degrees of
freedom are defined in the global coordinate system. When this member is queried, it
returns an Int. The default value is None.
axis1
A SymbolicConstant specifying the axis of a datum coordinate system about which an
additional rotation is applied for the first point in generated connectors. Possible
values are AXIS_1, AXIS_2, and AXIS_3. The default value is AXIS_1.
angle1
A Float specifying the angle of the additional rotation for the first point in generated
connectors. The default value is 0.0.
orient2SameAs1
A Boolean specifying whether or not the second connector point in generated connectors
is to use the same local coordinate system, axis, and angle as the first point. The
default value is ON.
connectorOrientationLocalCsys2
None or a DatumCsys object specifying the local coordinate system of the second
connector point in generated connectors. If *connectorOrientationLocalCsys2*=None, the
degrees of freedom are defined in the global coordinate system. When this member is
queried, it returns an Int. The default value is None.
axis2
A SymbolicConstant specifying the axis of a datum coordinate system about which an
additional rotation is applied for the second point in generated connectors. Possible
values are AXIS_1, AXIS_2, and AXIS_3. The default value is AXIS_1.
angle2
A Float specifying the angle of the additional rotation for the second point in
generated connectors. The default value is 0.0.
unsorted
A Boolean specifying whether the analysis product should leave targetSurfaces in the
given unsorted order, or sort them by proximity to determine the connectivity of
fastening points. The default value is OFF.
Returns
-------
A PointFastener object.
"""
self.fasteners[name] = pointFastener = PointFastener(name, region, physicalRadius, directionVector,
targetSurfaces, ur1, ur2, ur3, attachmentMethod,
influenceRadius, searchRadius, maximumLayers, coupling,
weightingMethod, additionalMass, adjustOrientation,
localCsys, connectionType, sectionName,
connectorOrientationLocalCsys1, axis1, angle1,
orient2SameAs1, connectorOrientationLocalCsys2, axis2,
angle2, unsorted)
return pointFastener
[docs] def PointMassInertia(self, name: str, region: Region, mass: float = 0, mass1: float = 0, mass2: float = 0,
mass3: float = 0, i11: float = 0, i22: float = 0, i33: float = 0, i12: float = 0,
i13: float = 0, i23: float = 0, localCsys: str = None, alpha: float = 0,
composite: float = 0) -> PointMassInertia:
"""This method creates a PointMassInertia object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.PointMassInertia
mdb.models[name].rootAssembly.engineeringFeatures.PointMassInertia
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which the mass or rotary inertia is applied.
mass
A Float specifying the mass magnitude for isotropic mass. This parameter cannot be
specified when anisotropic mass terms are specified. The default value is 0.0.
mass1
A Float specifying the mass in the 1-direction for anisotropic mass. This parameter
cannot be specified when isotropic mass is also specified. The default value is 0.0.
mass2
A Float specifying the mass in the 2-direction for anisotropic mass. This parameter
cannot be specified when isotropic mass is also specified. The default value is 0.0.
mass3
A Float specifying the mass in the 3-direction for anisotropic mass. This parameter
cannot be specified when isotropic mass is also specified. The default value is 0.0.
i11
A Float specifying the rotary inertia about the local 1-axis, I11I11. The default value
is 0.0.
i22
A Float specifying the rotary inertia about the local 2-axis, I22I22. The default value
is 0.0.
i33
A Float specifying the rotary inertia about the local 3-axis, I33I33. The default value
is 0.0.
i12
A Float specifying the product of inertia, I12I12. The default value is 0.0.
i13
A Float specifying the product of inertia, I13I13. The default value is 0.0.
i23
A Float specifying the product of inertia, I23I23. The default value is 0.0.
localCsys
None or a DatumCsys object specifying the local coordinate system for the anisotropic
mass terms (when specified), and the rotary inertia (when specified). If
*localCsys*=None, the anisotropic mass and rotary inertia data are defined in the global
coordinate system. The default value is None.
alpha
A Float specifying the alpha damping magnitude. The default value is 0.0.This argument
applies only to Abaqus/Standard analyses.
composite
A Float specifying the composite damping magnitude. The default value is 0.0.This
argument applies only to Abaqus/Standard analyses.
Returns
-------
A PointMassInertia object.
"""
self.inertias[name] = pointMassInertia = PointMassInertia(name, region, mass, mass1, mass2, mass3, i11, i22,
i33, i12, i13, i23, localCsys, alpha, composite)
return pointMassInertia
[docs] def SpringDashpotToGround(self, name: str, region: Region, dof: int, orientation: str = None,
springBehavior: Boolean = OFF, dashpotBehavior: Boolean = OFF,
springStiffness: float = 0, dashpotCoefficient: float = 0) -> SpringDashpotToGround:
"""This method creates a SpringDashpotToGround object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.SpringDashpotToGround
mdb.models[name].rootAssembly.engineeringFeatures\
- .SpringDashpotToGround
Parameters
----------
name
A String specifying the repository key.
region
A Region object specifying the region to which the springs and/or dashpots are applied.
dof
An Int specifying the degree of freedom associated with the spring and dashpot
behaviors.
orientation
None or a DatumCsys object specifying the local directions for the spring and/or
dashpot. If *orientation*=None, the spring and/or dashpot data are defined in the global
coordinate system. The default value is None.
springBehavior
A Boolean specifying whether to apply spring behavior to the selected points. The
default value is OFF.At least one of the arguments *springBehavior*=ON or
*dashpotBehavior*=ON must be specified.
dashpotBehavior
A Boolean specifying whether to apply dashpot behavior to the selected points. The
default value is OFF.At least one of the arguments *springBehavior*=ON or
*dashpotBehavior*=ON must be specified.
springStiffness
A Float specifying the force per relative displacement for the spring. The default value
is 0.0.
dashpotCoefficient
A Float specifying the force per relative velocity for the dashpot. The default value is
0.0.
Returns
-------
A SpringDashpotToGround object.
"""
self.springDashpots[name] = springDashpotToGround = SpringDashpotToGround(name, region, dof, orientation,
springBehavior, dashpotBehavior,
springStiffness, dashpotCoefficient)
return springDashpotToGround
[docs] def TwoPointSpringDashpot(self, name: str, regionPairs: tuple, axis: SymbolicConstant, dof1: int = 0, dof2: int = 0,
orientation: str = None, springBehavior: Boolean = OFF, dashpotBehavior: Boolean = OFF,
springStiffness: float = 0, dashpotCoefficient: float = 0) -> TwoPointSpringDashpot:
"""This method creates a TwoPointSpringDashpot object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.TwoPointSpringDashpot
mdb.models[name].rootAssembly.engineeringFeatures\
- .TwoPointSpringDashpot
Parameters
----------
name
A String specifying the repository key.
regionPairs
A sequence of pairs of Region objects specifying the points between which the springs
and/or dashpots are applied.
axis
A SymbolicConstant specifying whether the axis of the springs and/or dashpots follows
the rotation of the nodes or is in a specified direction. Possible values are NODAL_LINE
and FIXED_DOF.
dof1
An Int specifying the degree of freedom with which the springs and/or dashpots are
associated at their first points. The *dof1* argument applies only when
*axis*=FIXED_DOFS. The default value is 0.
dof2
An Int specifying the degree of freedom with which the springs and/or dashpots are
associated at their second points. The *dof2* argument applies only when
*axis*=FIXED_DOFS. The default value is 0.
orientation
None or a DatumCsys object specifying the local directions for the spring and/or
dashpot. If *orientation*=None, the spring and/or dashpot data are defined in the global
coordinate system. The default value is None.The *orientation* argument applies only
when *axis*=FIXED_DOFS.
springBehavior
A Boolean specifying whether to apply spring behavior to the selected point pairs. The
default value is OFF.At least one of the arguments *springBehavior*=ON or
*dashpotBehavior*=ON must be specified.
dashpotBehavior
A Boolean specifying whether to apply dashpot behavior to the selected point pairs. The
default value is OFF.At least one of the arguments *springBehavior*=ON or
*dashpotBehavior*=ON must be specified.
springStiffness
A Float specifying the force per relative displacement for the springs. The default
value is 0.0.
dashpotCoefficient
A Float specifying the force per relative velocity for the dashpots. The default value
is 0.0.
Returns
-------
A TwoPointSpringDashpot object.
"""
self.springDashpots[name] = twoPointSpringDashpot = TwoPointSpringDashpot(name, regionPairs, axis, dof1, dof2,
orientation, springBehavior,
dashpotBehavior, springStiffness,
dashpotCoefficient)
return twoPointSpringDashpot
[docs] def XFEMCrack(self, name: str, crackDomain: Region, allowCrackGrowth: Boolean = ON,
crackLocation: Region = Region(), singularityCalcRadius: float = None,
interactionProperty: str = '', elemId: tuple = (), nodeId: tuple = (),
hasCrackFront: tuple = (), crackPlaneDist: tuple = (), crackFrontDist: tuple = (),
autoDetectValue: str = '') -> XFEMCrack:
"""This method creates a XFEMCrack object. Although the constructor is available both for
parts and for the assembly, XFEMCrack objects are currently supported only under the
assembly.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].engineeringFeatures.XFEMCrack
mdb.models[name].rootAssembly.engineeringFeatures.XFEMCrack
Parameters
----------
name
A String specifying the repository key.
crackDomain
A Region object specifying the region that contains the crack or is likely to contain
the crack.
allowCrackGrowth
A Boolean specifying whether the crack is allowed to propagate (grow). The default value
is ON.
crackLocation
A Region object specifying the initial crack location. This parameter is required when
*allowCrackGrowth*=OFF.
singularityCalcRadius
None or a Float specifying the radius from the crack tips within which the elements are
used for crack singularity calculations. This argument applies only when
*allowCrackGrowth*=OFF. The default value is None.
interactionProperty
A String specifying the name of the ContactProperty object that defines the contact
properties for the crack surfaces. The default value is an empty string.
elemId
A sequence of Ints specifying the labels of the elements that are intersected by the
initial crack location. This argument is used only by the input file reader.
nodeId
A sequence of Ints specifying the position of a node in the corresponding element
connectivity. This argument is used only by the input file reader.
hasCrackFront
A sequence of Ints specifying the values indicating the inclusion/exclusion of the
*crackFrontDist* values. A zero value indicates that *crackFrontDist* is not specified
for the ith pair *elemId* and *nodeId*. This argument is used only by the input file
reader.
crackPlaneDist
A sequence of Floats specifying the values of the first signed distance function. This
argument is used by the input file reader.
crackFrontDist
A sequence of Floats specifying the values of the second signed distance function. This
argument is used only by the input file reader.
autoDetectValue
An integer specifying the number of element layers around the crack location, to which
the crack domain is shrunk.
Returns
-------
A XFEMCrack object.
"""
self.cracks[name] = xFEMCrack = XFEMCrack(name, crackDomain, allowCrackGrowth, crackLocation,
singularityCalcRadius, interactionProperty, elemId, nodeId,
hasCrackFront, crackPlaneDist, crackFrontDist, autoDetectValue)
return xFEMCrack