Source code for o3seespy.command.numberer

from o3seespy.base_model import OpenSeesObject


[docs]class NumbererBase(OpenSeesObject): op_base_type = "numberer"
[docs]class Plain(NumbererBase): op_type = "Plain" def __init__(self, osi): """ This command is used to construct a Plain degree-of-freedom numbering object to provide the mapping between the degrees-of-freedom at the nodes and the equation numbers. A Plain numberer just takes whatever order the domain gives it nodes and numbers them, this ordering is both dependent on node numbering and size of the model. Parameters ---------- osi: o3seespy.OpenSeesInstance """ self.osi = osi self._parameters = [self.op_type] self.to_process(osi)
[docs]class RCM(NumbererBase): op_type = "RCM" def __init__(self, osi): """ This command is used to construct an RCM degree-of-freedom numbering object to provide the mapping between the degrees-of-freedom at the nodes and the equation numbers. An RCM numberer uses the reverse Cuthill-McKee scheme to order the matrix equations. Parameters ---------- osi: o3seespy.OpenSeesInstance """ self.osi = osi self._parameters = [self.op_type] self.to_process(osi)
[docs]class AMD(NumbererBase): op_type = "AMD" def __init__(self, osi): """ This command is used to construct an AMD degree-of-freedom numbering object to provide the mapping between the degrees-of-freedom at the nodes and the equation numbers. An AMD numberer uses the approximate minimum degree scheme to order the matrix equations. Parameters ---------- osi: o3seespy.OpenSeesInstance """ self.osi = osi self._parameters = [self.op_type] self.to_process(osi)
[docs]class ParallelPlain(NumbererBase): op_type = "ParallelPlain" def __init__(self, osi): """ This command is used to construct a parallel version of Plain degree-of-freedom numbering object to provide the mapping between the degrees-of-freedom at the nodes and the equation numbers. A Plain numberer just takes whatever order the domain gives it nodes and numbers them, this ordering is both dependent on node numbering and size of the model. Use this command only for parallel model. Parameters ---------- osi: o3seespy.OpenSeesInstance """ self.osi = osi self._parameters = [self.op_type] self.to_process(osi)
[docs]class ParallelRCM(NumbererBase): op_type = "ParallelRCM" def __init__(self, osi): """ This command is used to construct a parallel version of RCM degree-of-freedom numbering object to provide the mapping between the degrees-of-freedom at the nodes and the equation numbers. A Plain numberer just takes whatever order the domain gives it nodes and numbers them, this ordering is both dependent on node numbering and size of the model. Use this command only for parallel model. Parameters ---------- osi: o3seespy.OpenSeesInstance """ self.osi = osi self._parameters = [self.op_type] self.to_process(osi)
[docs]def apply_rcm(osi): if osi.mp: ParallelRCM(osi) else: RCM(osi)