Predefined spaces

model.predefined_spaces.ConstraintsForLineExtremeNodes(lineSet, constraint)

Apply constraint on the extreme nodes of a model line.

model.predefined_spaces.ConstraintsForLineInteriorNodes(lineSet, constraint)

Apply constraint on the interior nodes of a model line.

class model.predefined_spaces.PredefinedSpace(nodes, dimSpace, numDOFs)

Bases: object

setBearing(iNod, bearingMaterialNames, orientation=None)

Modelize a bearing on X, XY or XYZ directions.

Args:
param iNod:(int) node identifier (tag).
param bearingMaterialNames (list):
 material names for the zero length element.
param orientation:
 (list) vectors used to orient the zero length element; (x,yp) x: axis of the element, yp: vector that lies on the xy plane of the element.
Returns:
rtype:(int, int) new node tag, new element tag.
setBearingBetweenNodes(iNodA, iNodB, bearingMaterialNames, orientation=None)

Modelize a bearing between the nodes

Args:
param iNodA:(int) first node identifier (tag).
param iNodB:(int) second node identifier (tag).
param bearingMaterialNames:
 (list) material names for the zero length element.
param orientation:
 (list) vectors used to orient the zero length element; (x,yp) x: axis of the element, yp: vector that lies on the xy plane of the element.
Returns:newly created zero length element that represents the bearing.
setBearingOnX(iNod, bearingMaterial)

Modelize a bearing on X direction.

Args:

iNod (int): node identifier (tag). bearingMaterial (string): material name for the zero length

element.
setBearingOnXYRigZ(iNod, bearingMaterialNames)

Modelize a non rigid on X and Y directions and rigid on Z bearing.

Args:

iNod (int): node identifier (tag). bearingMaterialNames (string): material names for the zero length

element.
setFulcrumBetweenNodes(nodeTagA, pivotNode)

Create a fulcrum between the nodes passed as parameters.

Creates a rigid link between the nodes. It’s called fulcrumb because it’s pinned on pivotNode.

Parameters:
  • nodeTagA – tag of the master node.
  • nodeTagB – tag of the pivot (slave node).
setPreprocessor(preprocessor)

Sets suitable values for the members from the dimension of the space and the number of DOFs for each node obtained from the argument.

Parameters:preprocessor – preprocessor of the finite element problem.
setPrescribedDisplacements(nodeTag, prescDisplacements)

Prescribe displacement for node DOFs.

Parameters:
  • nodeTag – tag of the node.
  • prescDisplacements – (list) values of the displacements.
setRigidBeamBetweenNodes(nodeTagA, nodeTagB)

Create a rigid rod between the nodes passed as parameters.

Parameters:
  • nodeTagA – tag of the master node.
  • nodeTagB – tag of the slave node.
setRigidRodBetweenNodes(nodeTagA, nodeTagB)

Create a rigid rod between the nodes passed as parameters.

Parameters:
  • nodeTagA – tag of the master node.
  • nodeTagB – tag of the slave node.
setUniaxialBearing2D(iNod, bearingMaterial, direction)

Modelize an uniaxial bearing on the defined direction.

Args:

iNod (int): node identifier (tag). bearingMaterial (str): material name for the zero length

element.
Returns:
rtype:(int, int) new node tag, new element tag.
class model.predefined_spaces.SolidMechanics2D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag)

Return a vector with the displacement components of the node motion.

getRotationalDOFs()

Return the indices of the rotational DOFs.

class model.predefined_spaces.SolidMechanics3D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

fixNode000(nodeTag)

Restrain all three node DOFs (i. e. make them zero).

Parameters:nodeTag – node identifier.
getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag)

Return a vector with the displacement components of the node motion.

Parameters:nodeTag – node identifier.
getRotationalDOFs()

Return the indices of the rotational DOFs.

class model.predefined_spaces.StructuralMechanics2D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

fixNode000(nodeTag)

Restrain all three node DOFs (i. e. make them zero).

Parameters:nodeTag – node identifier.
fixNode00F(nodeTag)

Restrain only displacement DOFs (i. e. Ux= 0 and Uy= 0).

Parameters:nodeTag – node identifier.
fixNode0F0(nodeTag)

Restrain all three node DOFs (i. e. make them zero).

Parameters:nodeTag – node identifier.
fixNode0FF(nodeTag)

Restrain only X displacement DOF (i. e. Ux= 0).

Parameters:nodeTag – node identifier.
fixNodeF0F(nodeTag)

Restrain only Y displacement DOF (i. e. Uy= 0).

Parameters:nodeTag – node identifier.
fixNodeFF0(nodeTag)

Restrain only rotation DOF (i. e. Theta= 0).

Parameters:nodeTag – node identifier.
fixNodesLine(line)

Restrain all DOFs of the line nodes.

getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag)

Return a vector with the displacement components of the node motion.

getRotationalDOFs()

Return the indices of the rotational DOFs.

newCorotCrdTransf(trfName)

Creates a new 2D corotational transformation.

Parameters:trfName – name for the new transformation.
newLinearCrdTransf(trfName)

Creates a new 2D linear transformation.

Parameters:trfName – name for the new transformation.
newPDeltaCrdTransf(trfName)

Creates a new 2D PDelta transformation.

Parameters:trfName – name for the new transformation.
class model.predefined_spaces.StructuralMechanics3D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

LstNodes6DOFConstr(lstNodes, constrCond)

Constraint the nodes in the list passed as parameter according to given 6-values set of constraints conditions

Parameters:
  • preprocessor – preprocessor
  • lstNodes – list of nodes to which apply the constraints
  • constrCond
    list of constraint conditions, expressed as
    [uX, uY, uZ,rotX, rotY, rotZ], where:
    • uX, uY, uZ: translations in the X, Y and Z directions;
    • rotX, rotY, rotZ: rotations about the X, Y and Z axis
    • ’free’: means no constraint values
fixNode(DOFpattern, nodeTag)

Restrain DOF of a node according to the DOFpattern, which is a given string of type ‘0FF_00F’ that matches the DOFs (uX,uY,uZ,rotX,rotY,rotZ) where ‘F’ means FREE and ‘0’ means constrained with value=0 Note: DOFpaterns ‘0FF_00F’,‘0FF00F’,‘0_FF_0_0F’, … are equivalent

Parameters:nodeTag – node identifier.
fixNode000_000(nodeTag)

Restrain all six node DOFs (i. e. make them zero).

Parameters:nodeTag – node identifier.
fixNode000_00F(nodeTag)

Restrain all DOFs except for the rotation about Z axis.

Parameters:nodeTag – node identifier.
fixNode000_0F0(nodeTag)

Restrain all DOFs except for the rotation about Y axis.

Parameters:nodeTag – node identifier.
fixNode000_0FF(nodeTag)

Restrain the displacements (Ux,Uy and Uz) and the rotation about X axis.

Parameters:nodeTag – node identifier.
fixNode000_F00(nodeTag)

Restrain all DOFs except for the rotation about X axis.

Parameters:nodeTag – node identifier.
fixNode000_F0F(nodeTag)

Restrain the displacements (Ux,Uy and Uz) and the rotation about Y axis.

Parameters:nodeTag – node identifier.
fixNode000_FF0(nodeTag)

Restrain the displacements (Ux,Uy and Uz) and the rotation about Z axis.

Parameters:nodeTag – node identifier.
fixNode000_FFF(nodeTag)

Restrain only displacement DOFs (i. e. Ux= 0, Uy= 0 and Uz= 0).

Parameters:nodeTag – node identifier.
fixNode0F0_FFF(nodeTag)

Restrain only displacement DOFs (i. e. Ux= 0 and Uz= 0).

Parameters:nodeTag – node identifier.
fixNode0FF_FFF(nodeTag)

Restrain only X displacement DOF (i. e. Ux= 0).

Parameters:nodeTag – node identifier.
fixNodeF00_00F(nodeTag)

Restrain all DOFs except for X displacement and the rotation about Z axis.

Parameters:nodeTag – node identifier.
fixNodeF00_0F0(nodeTag)

Restrain all DOFs except for X displacement and the rotation about Y axis.

Parameters:nodeTag – node identifier.
fixNodeF00_0FF(nodeTag)

Restrain all DOFs except for X displacement and the rotations about Y and Z axis.

Parameters:nodeTag – node identifier.
fixNodeF00_F00(nodeTag)

Restrain all DOFs except for X displacement and the rotation about X axis.

Parameters:nodeTag – node identifier.
fixNodeF00_FFF(nodeTag)

Restrain all DOFs except for X displacement and the rotations about Y and Z axis.

Parameters:nodeTag – node identifier.
fixNodeFFF_000(nodeTag)

Restrain only rotations (i. e. ThetaX= 0, ThetaY= 0 and ThetaZ= 0).

Parameters:nodeTag – node identifier.
fixNodeFFF_0F0(nodeTag)

Restrain only X and Z rotations (i. e. ThetaX= 0, and ThetaZ= 0).

Parameters:nodeTag – node identifier.
getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag)

Return a vector with the displacement components of the node motion.

Parameters:nodeTag – node identifier.
getRotationalDOFs()

Return the indices of the rotational DOFs.

newCorotCrdTransf(trfName, xzVector)

Creates a new 3D corotational transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
newLinearCrdTransf(trfName, xzVector)

Creates a new 3D linear transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
newPDeltaCrdTransf(trfName, xzVector)

Creates a new 3D PDelta transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
setHugeBarBetweenNodes(nodeTagA, nodeTagB, nmbTransf)

Creates a very stiff bar between the two nodes being passed as parameters. (it was a workaround to the problem with the reactions values in nodes when using multipoint constraints. This problem has been be solved with the implementation of MFreedom_ConstraintBase::addResistingForceToNodalReaction).

Parameters:
  • nodeTagA – tag of bar’s from node.
  • nodeTagB – tag of bar’s to node.
  • nmbTransf – name of the coordinate transformation to use for the new bar.
model.predefined_spaces.gdls_elasticidad2D(nodes)

Defines the dimension of the space: nodes by two coordinates (x,y) and two DOF for each node (Ux,Uy)

Parameters:nodes – nodes handler
model.predefined_spaces.gdls_elasticidad3D(nodes)
Defines the dimension of the space: nodes by three coordinates (x,y,z)
and three DOF for each node (Ux,Uy,Uz)
Parameters:nodes – preprocessor nodes handler
model.predefined_spaces.gdls_resist_materiales2D(nodes)

Defines the dimension of the space: nodes by two coordinates (x,y) and three DOF for each node (Ux,Uy,theta)

Parameters:nodes – preprocessor nodes handler
model.predefined_spaces.gdls_resist_materiales3D(nodes)

Define the dimension of the space: nodes by three coordinates (x,y,z) and six DOF for each node (Ux,Uy,Uz,thetaX,thetaY,thetaZ)

Parameters:nodes – preprocessor nodes handler
model.predefined_spaces.getModelSpace(preprocessor)

Return a PredefinedSpace from the dimension of the space and the number of DOFs for each node obtained from the preprocessor.

Parameters:preprocessor – preprocessor of the finite element problem.
model.predefined_spaces.getStructuralMechanics2DSpace(preprocessor)

Return a PredefinedSpace from the dimension of the space and the number of DOFs for each node obtained from the preprocessor.

Parameters:preprocessor – preprocessor of the finite element problem.
model.predefined_spaces.getStructuralMechanics3DSpace(preprocessor)

Return a PredefinedSpace from the dimension of the space and the number of DOFs for each node obtained from the preprocessor.

Parameters:preprocessor – preprocessor of the finite element problem.