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, solProcType: solution.predefined_solutions.SolutionProcedure = <class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: object

Convenience class that sets the space dimension and
the number of degrees of freedom for a XC finite element problem.
Variables:
  • dimSpace – dimension of the space (1, 2 or 3).
  • numDOFs – number of degrees of freedom for each node (1, 2, 3 or 6).
  • solProcType – type of the solution procedure.
  • fixedNodesTags – tags of the constrained nodes.
  • dBase – current database.
activateElements(elemSet: xc.Set)

Activate the (previoulsy deactivated) elements on the set argument.

Parameters:elemSet – set of elements to be deactivated.
addLoadCaseToDomain(loadCaseName: str)

Add the load case argument (load pattern or combination) to the domain.

Parameters:loadCaseName – name of the load pattern or combination.
addNewLoadCaseToDomain(loadCaseName: str, loadCaseExpression: str)

Defines a new combination and add it to the domain.

Parameters:
  • loadCaseName – name of the load pattern or combination.
  • loadCaseExpression – expression that defines de load case as a combination of previously defined actions e.g. ‘1.0*GselfWeight+1.0*GearthPress’
analyze(numSteps=1, calculateNodalReactions=False, includeInertia=False, reactionCheckTolerance=1e-07)
Triggers the analysis of the model with a simple static linear
solution.
Parameters:
  • numSteps – number of analysis steps (only useful for loads that vary with time).
  • calculateNodalReactions – if true calculate reactions at nodes.
  • includeInertia – if true calculate reactions including inertia effects.
  • reactionCheckTolerance – tolerance when checking reaction values.
calculateNodalReactions(includeInertia=False, reactionCheckTolerance=1e-07)

Compute reactions at nodes. :param includeInertia: if true calculate reactions including inertia

effects.
Parameters:reactionCheckTolerance – tolerance when checking reaction values.
computeValuesAtNodes(setToCompute: xc.Set, propToDefine='stress')
Extrapolate the stresses to the nodes of the set argument and
stores them in the property “propToDefine”.
Parameters:
  • setToCompute – set of elements to be processed.
  • propToDefine – name of the property to define at the nodes.
conciliaNDivs()

Conciliate the number of divisions of the lines.

createSelfWeightLoad(xcSet: xc.Set, gravityVector)

Creates the self-weight load on the elements.

Parameters:
  • xcSet – set with the elements to load.
  • gravityVector – gravity acceleration vector.
deactivateElements(elemSet: xc.Set, srf=1e-06)

Deactivate the elements on the set argument.

Parameters:
  • elemSet – set of elements to be deactivated.
  • srf – stress reduction factor for element deactivation.
defSet(setName: str)

Defines a set with the name argument.

Parameters:setName – name of the set to define.
dumpCombinations(combContainer)

Dump combination definitions into XC.

Parameters:combContainer – combination container (see combinations module).
fixNode(DOFpattern, nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
getActiveLoadPatternNames()

Return a list of the active load patterns.

getActiveLoadPatterns()

Return a list of the active load patterns.

getCurrentLoadPattern()

Return the current load pattern.

getCurrentLoadPatternName()

Return the current load pattern.

getDisplacementFileHeader()

Return the string header for the file with the displacements.

getElementHandler()

Return the element handler for this model.

getElements(tags: Sequence[int])
Return the elements that correspond to the argument
tags.
Parameters:tags – element tags.
getFloatingNodes(xcSet=None)
Return a list of the nodes that are not connected to any
element nor any constraint.
Parameters:xcSet – search only on the nodes in this set.
getIntForceComponentFromName(componentName: str)

Return the internal force component from the name argument.

Parameters:componentName – name of the component.
getLineHandler()

Return the line handler for this model.

getLineWithEndPoints(pA: xc.Pnt, pB: xc.Pnt)

Return the line from its endpoints.

Parameters:
  • pA – from point.
  • pB – to point.
getLoadHandler()

Return the preprocessor material handler.

getLoadPattern(lpName: str)

Return the load pattern with the argument name.

Parameters:lpName – load pattern name.
getMaterialHandler()

Return the preprocessor material handler.

getMaterialNames()

Return the names of the materials.

getNearestPoint(pos3d)

Return the nearest point to the position argument.

getNewDatabase(fName, dbType='BerkeleyDB')

Defines a new database.

Parameters:
  • fName – file name.
  • dbType – database type (defaults as BerkeleyDB).
getNodeHandler()

Return the preprocessor node handler.

getNodes(tags: Sequence[int])
Return the nodes that correspond to the argument
tags.
Parameters:tags – node tags.
getPointHandler()

Return the point handler for this model.

getProblem()

Return the XC finite element problem object.

getReactions(xcSet=None)
Return a Reactions object containing the reactions
obtained during the analysis.
Parameters:xcSet – compute only the reactions of the nodes in the set.
getSeedElementHandler()

Return the seed element handler for this model.

getSet(setName: str)

Return the set with the name argument.

Parameters:setName – name of the set to retrieve.
getSetsNames()

Returns the names of the currently defined sets.

getSpaceDimension()

Return the dimensions of the problem space.

getSurfaceHandler()

Return the surface handler for this model.

getTotalSet()

Return the set that contains all the defined entities.

getValuesAtNodes(element, code: str, silent=False)

Return the values corresponding to code at each of the element nodes.

Parameters:
  • element – element which the stresses at its nodes will be calculated.
  • code – magnitude to return (stress, strain,…).
  • silent – if true don’t complain about non-existent properties.
getVerbosityLevel()

Return the current verbosity level.. A higher verbosity level means more info printed out.

illConditioningAnalysis(numModes=1)

Perform an ill-conditioning analysis on the finite element model.

Parameters:numModes – number of ill-conditioned modes to obtain.
locateEquationNumber(eqNumber, xcSet=None)
Locate the node that contains the DOF that correspond to
the equation number argument.
Parameters:
  • eqNumber – number of the equation to locate.
  • xcSet – search only on the nodes in this set.
meshIFCStructuralSurfaces(elementType: str, elemSize: float, materialDict, xcSet=None)

Generate the finite element mesh for the surfaces of the set. The surfaces are imported from an IFC file.

Parameters:
  • elementType – element type (ShellMIC4,…).
  • elemSize – element size.
  • materialDict – material dictionary.
  • xcSet – set containing the surfaces to mesh.
newEqualDOF(nodeTagA: int, nodeTagB: int, dofs: xc.ID)

Create an equal DOF constraint between the nodes.

Parameters:
  • nodeTagA – tag of the master node.
  • nodeTagB – tag of the slave node.
  • dofs – degrees of freedom to be glued (e.g.: dofs=xc.ID([0,3,6]) means to equal ux,uz,rotz)
newKPoint(x, y, z=0.0)

Creates a key point.

Parameters:
  • x – x coordinate for the new point.
  • y – y coordinate for the new point.
  • z – z coordinate for the new point (defaults to 0.0).
newLine(p1: xc.Pnt, p2: xc.Pnt)

Creates a line between the argument points.

Parameters:
  • p1 – from point.
  • p2 – to point.
newLoadPattern(name: str, lpType='default')
Creates a times series -modulation of the load
in time-.
Parameters:
  • name – name of the new time load pattern.
  • lpType – type of the load pattern -default, uniform_excitation, multi_support_pattern, pbowl_loading-.
newNodeXY(x, y)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
newNodeXYZ(x, y, z)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
  • z – z coordinate for the new node.
newQuadSurface(p1: xc.Pnt, p2: xc.Pnt, p3: xc.Pnt, p4: xc.Pnt)

Creates a quad surface between the argument points.

Parameters:
  • p1 – first point.
  • p2 – second point.
newSPConstraint(nodeTag: int, dof: int, prescribedDisp=0.0)

Prescribe displacement for node DOFs.

Parameters:
  • nodeTag – tag of the node.
  • dof – index of the degree of freedom.
  • prescribedDisp – values of the displacement.
newSurface(pointList: Sequence[xc.Pnt])

Creates a surface whose vertices are the argument points.

Parameters:pointList – list of vertices.
newTimeSeries(name='ts', tsType='constant_ts')
Creates a times series -modulation of the load
in time-.
Parameters:
  • name – name of the new time series.
  • tsType – type of the time series -constant_ts, linear_ts, path-ts, pulse_ts, rectangular_ts, triangular_ts or trig_ts-. Defaults to constant_ts.
removeAllLoadPatternsFromDomain()

Remove all load patterns from domain.

removeLoadCaseFromDomain(loadCaseName: str)

Add the load case argument (load pattern or combination) to the domain.

Parameters:loadCaseName – name of the load pattern or combination.
removeSet(setName: str)

Remove the set whose name corresponds to the argument.

Parameters:setName – name of the set to remove.
renewSet(setName: str)

Redefines the set with the name argument.

Parameters:setName – name of the set to renew.
restore(flag: int)

Restore the current state from the current database.

Parameters:flag – integer indentifier for the state to restore in the database.
revertToStart()

Revert the domain to its initial state..

save(flag: int)

Saves the current state on the current database.

Parameters:flag – integer indentifier for the current state in the database.
setBearing(iNod: int, bearingMaterialNames: Sequence[str], orientation=None)

Modelize a bearing on X, XY or XYZ directions.

Parameters:
  • iNod – (int) node identifier (tag).
  • (list) (bearingMaterialNames) – (list) material names for the zero length element [mat1,mat2,mat3,mat4,mat5,mat6], where: mat1,mat2,mat3 correspond to translations along local x,y,z axes, respectively, mat3,mat4,mat5 correspond to rotation about local x,y,z axes, respectively.
  • orientation
    (list) of two vectors [x,yp] used to orient
    the zero length element, where: - x: are the vector components in global coordinates defining
    local x-axis (optional)
    • yp: vector components in global coordinates defining a vector
      that lies in the local x-y plane of the element(optional).

    If the optional orientation vector are not specified, the local element axes coincide with the global axes. Otherwise, the local z-axis is defined by the cross product between the vectors x and yp specified in the command line.

Return rtype:

(int, int) new node tag, new element tag.

setBearingBetweenNodes(iNodA: int, iNodB: int, bearingMaterialNames: Sequence[str], orientation=None)

Modelize a bearing between the nodes

Parameters:
  • iNodA – (int) first node identifier (tag).
  • iNodB – (int) second node identifier (tag).
  • bearingMaterialNames – (list) material names for the zero length element [mat1,mat2,mat3,mat4,mat5,mat6], where: mat1,mat2,mat3 correspond to translations along local x,y,z axes, respectively, mat3,mat4,mat5 correspond to rotation about local x,y,z axes, respectively.
  • orientation
    (list) of two vectors [x,yp] used to orient
    the zero length element, where: x: are the vector components in global coordinates defining
    local x-axis (optional)
    yp: vector components in global coordinates defining a vector
    that lies in the local x-y plane of the element (optional).

    If the optional orientation vector are not specified, the local element axes coincide with the global axes. Otherwise, the local z-axis is defined by the cross product between the vectors x and yp specified in the command line. :return: newly created zero length element that represents the

    bearing.
setBearingOnX(iNod: int, bearingMaterialName: str)

Modelize a bearing on X direction.

Parameters:
  • (int) (iNod) – node identifier (tag).
  • (string) (bearingMaterialName) – material name for the zero length element.
setBearingOnXYRigZ(iNod: int, bearingMaterialNames: Sequence[str])

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

Parameters:
  • (int) (iNod) – node identifier (tag).
  • (string) (bearingMaterialNames) – material names for the zero length element.
setCurrentLoadPattern(lpName: str)

Set the current load pattern.

Parameters:lpName – load pattern name.
setFulcrumBetweenNodes(nodeTagA: int, pivotNodeTag: int)

Create a fulcrum between the nodes passed as parameters.

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

Parameters:
  • nodeTagA – tag of the primary node.
  • pivotNodeTag – tag of the pivot (secondary node).
setImperfectionsX(slopeX=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeX – out of plumbness on x axis.
setImperfectionsXY(nodeSet, slopeX=0.002, slopeY=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeX – out of plumbness on x axis.
  • slopeY – out of plumbness on y axis.
setImperfectionsY(slopeY=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeY – out of plumbness on y axis.
setIntersection(setName: str, setsToIntersect: Sequence[xc.Set])
Return a set that contains the union of the
arguments.
Parameters:
  • setName – name of the set to create. If ‘auto’ then assign a random (unique) name.
  • setsToSum – sets to sum in a list.
setNodePropertyFromElements(compName: str, xcSet: xc.Set, function, propToDefine: str)

display the stresses on the elements.

Parameters:
  • compName – name of the component of the magnitude (‘sigma_11’, ‘strain_xx’, …)
  • xcSet – set of nodes to define the propery at.
  • function – function to call to retrieve the component value.
  • propToDefine – name of the property to define at the nodes.
setPreprocessor(preprocessor: xc.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: int, prescDisplacements: Sequence[float])

Prescribe displacement for node DOFs.

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

Create a rigid beam between the nodes passed as parameters.

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

Create a rigid rod between the nodes passed as parameters.

Parameters:
  • nodeTagA – tag of the master node.
  • nodeTagB – tag of the slave node.
setSolutionProcedureType(solutionProcedureType: solution.predefined_solutions.SolutionProcedure)
Set the solution procedure that will be used
to solve the finite element problem.
Parameters:solutionProcedureType – type of the solution procedure.
setSum(setName: str, setsToSum: Sequence[xc.Set])
Return a set that contains the union of the
arguments.
Parameters:
  • setName – name of the set to create. If ‘auto’ then assign a random (unique) name.
  • setsToSum – sets to sum in a list.
setUniaxialBearing2D(iNod: int, bearingMaterialName: str, direction)

Modelize an uniaxial bearing on the defined direction.

Parameters:
  • (int) (iNod) – node identifier (tag).
  • (str) (bearingMaterialName) – material name for the zero length element.
  • direction – direction of the bearing.
Return rtype:

(int, int) new node tag, new element tag.

setVerbosityLevel(level)
Set the verbosity level (0 to 1000). A higher verbosity
level means more info printed out.
Parameters:level – verbosity level.
zeroEnergyModes(numModes=1)

Obtains the zero energy modes of the finite element model.

Parameters:numModes – number of zero energy modes to obtain.
class model.predefined_spaces.SolidMechanics2D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

fixNode00(nodeTag: int, restrainedNodeId: str = None)

Restrain both node DOFs (i. e. make them zero).

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F(nodeTag: int, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF0(nodeTag: int, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
getDispComponentFromName(compName: str)
Return the component index from the
displacement component name.
Parameters:compName – displacement component name.
getDisplacementComponentsLabels()

Return a list with the labels of the displacement components.

getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag: int)
Return a vector with the displacement components of the
node motion.
Parameters:nodeTag – identifier of the node.
getRotationalDOFs()

Return the indices of the rotational DOFs.

getStrainComponentFromName(compName: str)
Return the component index from the
strain component name.
Parameters:compName – strain component name.
getStressComponentFromName(compName: str)
Return the component index from the
stress component name.
Parameters:compName – strain component name.
newNode(x, y)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
class model.predefined_spaces.SolidMechanics3D(nodes)

Bases: model.predefined_spaces.PredefinedSpace

fixNode000(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
getDispComponentFromName(compName)

Return the component index from the displacement name.

getDisplacementComponentsLabels()

Return a list with the labels of the displacement components.

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.

getStrainComponentFromName(compName)

Return the component index from the strain name.

getStressComponentFromName(compName)

Return the component index from the stress name.

newNode(x, y, z)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
  • z – z coordinate for the new node.
class model.predefined_spaces.StructuralMechanics(nodes, dimSpace: int, numDOFs: int)

Bases: model.predefined_spaces.PredefinedSpace

Structural mechanics finite element problem.

createElasticBeams(xcSet, crossSection, trf, xzVector=None, nDiv=4)
Meshes the lines of the set argument with ElasticBeam3d
elements.
Parameters:
  • xcSet – set with the lines to mesh.
  • trf – coordinate transformation to assign to the elements.
  • xzVector – vector defining transformation XZ plane.
  • crossSection – object that defines the geometry of the element section.
  • nDiv – number of divisions on each line.
createTrusses(xcSet: xc.Set, material, area, crossSection=None, corotational=False)
Meshes the lines of the set argument with Truss
elements.
Parameters:
  • xcSet – set with the lines to mesh.
  • material – material to assign to the elements.
  • area – area to assign to the elements.
  • crossSection – object that defines the geometry of the element section.
  • corotational – if true, use corotational formulation.
getSuitableXZVector(iNode, jNode)
Return a vector that can be used to define
a coordinate transformation for an element between the node arguments.
Parameters:
  • iNode – first node.
  • jNode – second node.
class model.predefined_spaces.StructuralMechanics2D(nodes)

Bases: model.predefined_spaces.StructuralMechanics

fixNode000(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode00F(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0FF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF0F(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeFF0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodesLine(line, restrainedNodeId: str = None)

Restrain all DOFs of the line nodes.

Parameters:
  • line – line whose nodes will be restrained.
  • restrainedNodeId – identifier of the node to display with the reaction values.
getDispComponentFromName(compName)

Return the component index from the displacement name.

getDisplacementComponentsLabels()

Return a list with the labels of the displacement components.

getDisplacementDOFs()

Return the indices of the displacement DOFs.

getDisplacementVector(nodeTag)

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

getRotationVector(nodeTag)

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

getRotationalDOFs()

Return the indices of the rotational DOFs.

getStrainComponentFromName(compName)

Return the component index from the generalized strain name.

getStressComponentFromName(compName)

Return the component index from the stress name.

newCorotCrdTransf(trfName)

Creates a new 2D corotational transformation.

Parameters:trfName – name for the new transformation.
newCrdTransf(trfName, trfType='linear')

Creates a new 3D transformation.

Parameters:
  • trfName – name for the new transformation.
  • trfType – type of the transformation (‘linear’, ‘p_delta’ or ‘corotational’)
newLinearCrdTransf(trfName)

Creates a new 2D linear transformation.

Parameters:trfName – name for the new transformation.
newNode(x, y)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
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.StructuralMechanics

LstNodes6DOFConstr(lstNodes, constrCond)

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

Parameters:
  • 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
distributeLoadOnNodes(loadSVS, nodeSet, loadPattern=None)
Distribute the load (represented by a sliding vector system
between the nodes of the set.
Parameters:
  • loadSVS – sliding vector system representing the load to be distributed.
  • nodeSet – the nodes receiving the loads.
  • loadPattern – load pattern to create the loads into. If None use the current load pattern.
fixNode000_000(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_00F(nodeTag, restrainedNodeId: str = None)

Restrain all DOFs except for the rotation about Z axis.

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_0F0(nodeTag, restrainedNodeId: str = None)

Restrain all DOFs except for the rotation about Y axis.

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_0FF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_F00(nodeTag, restrainedNodeId: str = None)

Restrain all DOFs except for the rotation about X axis.

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_F0F(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_FF0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode000_FFF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0_00F(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0_0F0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0_0FF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0_F00(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0F0_FFF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNode0FF_FFF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF00_00F(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF00_0F0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF00_0FF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF00_F00(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeF00_FFF(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeFFF_000(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
fixNodeFFF_0F0(nodeTag, restrainedNodeId: str = None)

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

Parameters:
  • nodeTag – node identifier.
  • restrainedNodeId – identifier of the node to display with the reaction values.
getDispComponentFromName(compName)

Return the component index from the displacement name.

getDisplacementComponentsLabels()

Return a list with the labels of the displacement components.

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.
getRotationVector(nodeTag)
Return a vector with the rotational components of the node
motion.
Parameters:nodeTag – node identifier.
getRotationalDOFs()

Return the indices of the rotational DOFs.

getStrainComponentFromName(compName)

Return the component index from the generalized strain name.

getStressComponentFromName(compName)

Return the component index from the stress name.

newCorotCrdTransf(trfName, xzVector)

Creates a new 3D corotational transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
newCrdTransf(trfName, xzVector, trfType='linear')

Creates a new 3D transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
  • trfType – type of the transformation (‘linear’, ‘p_delta’ or ‘corotational’)
newLinearCrdTransf(trfName, xzVector)

Creates a new 3D linear transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
newNode(x, y, z)

Create a new node.

Parameters:
  • x – x coordinate for the new node.
  • y – y coordinate for the new node.
  • z – z coordinate for the new node.
newPDeltaCrdTransf(trfName, xzVector)

Creates a new 3D PDelta transformation.

Parameters:
  • trfName – name for the new transformation.
  • xzVector – vector defining transformation XZ plane.
releaseBeamEnd(beamElement, stiffnessFactors, nodesToRelease)

Releases some degrees of fredom at the extremities of the beam element.

Parameters:
  • beamElement – element that will be released.
  • nodesToRelease – indexesof the element nodes to release.
StiffnessFactors:
 

factors that multiply the element stiffnesses on each DOF: [KX, KY, KZ, KrotX, KrotY, KrotZ] the axis correspond to the local axis of the element.

setBeamBetweenNodes(nodeA, nodeB, sectionName, nmbTransf=None, trfType='linear', beamElementType='ElasticBeam3d')

Creates a beam/column element between the two nodes being passed as parameters.

Parameters:
  • nodeA – bar’s from node.
  • nodeB – bar’s to node.
  • sectionName – name of the section material to assign to the element.
  • nmbTransf – name of the coordinate transformation to use for the new bar.
  • trfType – type of the transformation (‘linear’, ‘p_delta’ or ‘corotational’) used only if nmbTransf==None.
  • stiffnessFactor – factor to apply to the beam stiffness.
setHugeBeamBetweenNodes(nodeA, nodeB, nmbTransf=None, trfType='linear', stiffnessFactor=1.0)

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:
  • nodeA – bar’s from node.
  • nodeB – bar’s to node.
  • nmbTransf – name of the coordinate transformation to use for the new bar.
  • trfType – type of the transformation (‘linear’, ‘p_delta’ or ‘corotational’) used only if nmbTransf==None.
  • stiffnessFactor – factor to apply to the beam stiffness.
setHugeTrussBetweenNodes(nodeA, nodeB, stiffnessFactor=1.0)

Creates a very stiff bar between the two nodes being passed as parameters.

Parameters:
  • nodeA – tag of bar’s from node.
  • nodeB – bar’s to node.
  • stiffnessFactor – factor to apply to the beam stiffness.
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_materials2D(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_materials3D(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: xc.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.getModelSpaceFromPreprocessor(preprocessor: xc.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: xc.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: xc.Preprocessor)

Return a tStructuralMechanics3DSpace from an already defined preprocessor.

Parameters:preprocessor – preprocessor of the finite element problem.
model.predefined_spaces.getSuitableXZVector(iNode, jNode)
Return a vector that can be used to define
a coordinate transformation for an element between the node arguments.
Parameters:
  • iNode – first node.
  • jNode – second node.
model.predefined_spaces.glueSets(preprocessor: xc.Preprocessor, DOF2Glue, masterSet, slaveSet, onCoord=None)

Creates rigid links between nodes in masterSet and their corresponding ones (for reasons of proximity) in slaveSet. Each node in masterSet coupled with one and only one node in slaveSet.

Parameters:
  • preprocessor – preprocessor of the finite element problem.
  • DOF2Glue – degrees of freedom to match. (e.g. [1,4] equals DOF 1 and 4 between coupled nodes.
  • masterSet – set with the master nodes
  • slaveSet – set with the slave nodes
  • onCoord – coordinate on which the search of the nearest node is based (‘X’,’Y’,’Z’). If None or other value, the search is based on the minimum distance. (Defaults to None)
model.predefined_spaces.setBearingBetweenNodes(prep, iNodA, iNodB, bearingMaterialNames, orientation=None)

Modelize a bearing between the nodes

Parameters:
  • prep – preprocessor
  • iNodA – (int) first node identifier (tag).
  • iNodB – (int) second node identifier (tag).
  • bearingMaterialNames – (list) material names for the zero length element [mat1,mat2,mat3,mat4,mat5,mat6], where: mat1,mat2,mat3 correspond to translations along local x,y,z axes, respectively, mat3,mat4,mat5 correspond to rotation about local x,y,z axes, respectively.
  • orientation
    (list) of two vectors [x,yp] used to orient
    the zero length element, where: x: are the vector components in global coordinates defining
    local x-axis (optional)
    yp: vector components in global coordinates defining a vector
    that lies in the local x-y plane of the element(optional).

    If the optional orientation vector are not specified, the local element axes coincide with the global axes. Otherwise, the local z-axis is defined by the cross product between the vectors x and yp specified in the command line. :return: newly created zero length element that represents the bearing.

model.predefined_spaces.setImperfectionsX(nodeSet, slopeX=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeX – out of plumbness on x axis.
model.predefined_spaces.setImperfectionsXY(nodeSet, slopeX=0.002, slopeY=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeX – out of plumbness on x axis.
  • slopeY – out of plumbness on y axis.
model.predefined_spaces.setImperfectionsY(nodeSet, slopeY=0.002)

Set the initial imperfection of the model.

Parameters:
  • nodeSet – set which nodes will be moved.
  • slopeY – out of plumbness on y axis.