wangye666 发表于 2023-11-8 16:44:11

python类相关问题求助

from o3seespy.base_model import OpenSeesObject
class AlgorithmBase(OpenSeesObject):
    op_base_type = "algorithm"
       def to_process(self, osi):
         if osi is None:
            return
          OpenSeesObject.to_process(self, osi)
      def reapply(self, osi):
          self.to_process(osi)
class KrylovNewton(AlgorithmBase):
    op_type = "KrylovNewton"

    def __init__(self, osi, tang_inter='current', tang_incr='current', max_inter=3):
      self.osi = osi
      self.tang_inter = tang_inter
      self.tang_incr = tang_incr
      self.max_inter = max_inter
      self._parameters =
      self.to_process(osi)

请问这段代码如果我想调用的话,请问图里面哪个命令是正确的呢?

不二如是 发表于 2023-11-8 16:44:12

要调用这段代码,首先你需要创建一个OpenSees的模型,并将该算法添加到模型中。

代码参考:

# 导入必要的库和模块
from o3seespy import opy
from o3seespy.base_model import OpenSeesObject

# 定义 AlgorithmBase 类
class AlgorithmBase(OpenSeesObject):
    op_base_type = "algorithm"

    def to_process(self, osi):
      if osi is None:
            return
      OpenSeesObject.to_process(self, osi)

    def reapply(self, osi):
      self.to_process(osi)

# 定义 KrylovNewton 类
class KrylovNewton(AlgorithmBase):
    op_type = "KrylovNewton"

    def __init__(self, osi, tang_inter='current', tang_incr='current', max_inter=3):
      self.osi = osi
      self.tang_inter = tang_inter
      self.tang_incr = tang_incr
      self.max_inter = max_inter
      self._parameters =
      self.to_process(osi)

# 创建 OpenSees 模型
osi = opy.OpenSeesInstance(ndm=2, ndf=3)

# 添加 KrylovNewton 算法到模型中
krylov_newton_algo = KrylovNewton(osi)

# 运行分析
osi.analyze(1)
请确保在运行这段代码之前已经安装了 o3seespy 库。

这段代码假设你已经创建了一个二维的模型,鱼油可以根据你的需求调整模型的参数。

在运行时,请确保模型的构建和分析步骤是正确的。

wangye666 发表于 2023-11-8 16:45:06

图如下

isdkz 发表于 2023-11-8 16:45:12

如果你想调用这段代码,正确的命令是:

osi = ...# 创建一个 OpenSees 模型对象
algorithm = KrylovNewton(osi, tang_inter='current', tang_incr='current', max_inter=3)


在这个命令中,首先你需要创建一个 OpenSees 模型对象osi 。然后,你可以使用KrylovNewton类来创建一个算法对象algorithm 。在创建KrylovNewton对象时,你需要传入osi对象以及其他参数tang_inter 、 tang_incr和max_inter 。最后,你可以通过调用algorithm对象来使用算法。

请注意,你需要根据实际情况替换osi对象的创建代码。

python爱好者. 发表于 2023-11-8 22:07:28

B......?

wangye666 发表于 2023-11-9 10:34:38

python爱好者. 发表于 2023-11-8 22:07
B......?

什么意思,没理解

cqf02 发表于 2023-11-16 01:27:52

12嗡嗡嗡

cqf02 发表于 2023-11-16 17:13:38

uuu

cjjJasonchen 发表于 2023-11-16 20:46:11

不知道捏~( ̄▽ ̄)~*

没学过这个库{:10_254:}

风眠 发表于 2023-11-19 11:28:21

wangye666 发表于 2023-11-8 16:45
图如下

额,不知道......


PS:这是什么包(库)啊?
页: [1]
查看完整版本: python类相关问题求助