多级弹簧-质量系统瞬态分析(基于Newmark)

 该程序主要用于实现多自由度下动态系统的隐式分析,计算模型参见多级弹簧-质量系统的瞬态计算(基于中心差分法)。下面是具体的Python程序。

#coding:utf-8
"""
Created on Tue Nov 20 12:41:40 2018

@author: yujin.wang
"""
import time
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sys
sys.setrecursionlimit(10000) # 10000 is an example, try with different values
################Force###############
def CenterDiff(t,endtime,m,k,fext,u,delta,du0):
	fint = k.dot(u)
	ddu = m.I.dot((fext - fint))
	du = du0 + ddu * delta
	u = u + du*delta
	t += delta
	t_list.append(t);u1_list.append(u[0,0]);u2_list.append(u[1,0])
	if t > endtime:
		return t_list,u1_list,u2_list
	else:
		return CenterDiff(t,endtime,m,k,fext,u,delta,du)
	
def NewmarkSolver(t,endT,deltaT,TOL,u,du,ddu,k,c,m,iternum):
	t += deltaT
	a1 = m/(beta*deltaT*deltaT) + gamma *c/(beta*deltaT)
	a2 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值