版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
结构力学基础概念:结构的动力分析:动力荷载与响应分析1动力荷载的基本概念1.1动力荷载的定义与分类动力荷载,与静力荷载相对,是指作用在结构上,其大小、方向或作用点随时间变化的荷载。这类荷载能够引起结构的动态响应,如振动、位移等。动力荷载的分类多样,主要包括以下几种:周期性荷载:如风荷载、波浪荷载,其特点是荷载随时间周期性变化。非周期性荷载:如地震荷载,荷载的变化没有固定的周期,难以预测。冲击荷载:如爆炸、车辆撞击,荷载在短时间内迅速增大,然后迅速减小。随机荷载:如交通荷载、人群荷载,荷载的大小和时间分布具有随机性。1.2动力荷载的特性与表示方法动力荷载的特性主要体现在其随时间变化的规律上,这决定了结构的动态响应。动力荷载的表示方法有多种,常见的包括:时间历程:通过绘制荷载随时间变化的曲线来表示,直观展示荷载的变化过程。频谱分析:将荷载分解为不同频率的分量,通过频谱图来表示荷载的频率特性。统计描述:对于随机荷载,使用概率密度函数、均值、方差等统计量来描述荷载的特性。1.2.1时间历程表示方法示例假设我们有一个周期性风荷载的时间历程数据,我们可以使用Python的matplotlib库来绘制其变化曲线。importmatplotlib.pyplotasplt
importnumpyasnp
#时间历程数据
time=np.linspace(0,10,1000)#时间从0到10秒,共1000个点
wind_load=10*np.sin(2*np.pi*0.5*time)#假设风荷载为正弦波,频率为0.5Hz
#绘制时间历程图
plt.figure(figsize=(10,5))
plt.plot(time,wind_load)
plt.title('周期性风荷载时间历程')
plt.xlabel('时间(秒)')
plt.ylabel('荷载(N)')
plt.grid(True)
plt.show()在上述代码中,我们首先生成了从0到10秒的时间序列,然后定义了一个频率为0.5Hz的正弦波作为风荷载的时间历程。最后,使用matplotlib库绘制了荷载随时间变化的曲线。1.2.2频谱分析示例对于上述的风荷载时间历程,我们可以进行频谱分析,以了解荷载的频率特性。fromscipy.fftpackimportfft
#计算傅里叶变换
wind_load_fft=fft(wind_load)
#计算频率
freq=np.fft.fftfreq(len(time),time[1]-time[0])
#绘制频谱图
plt.figure(figsize=(10,5))
plt.plot(freq,np.abs(wind_load_fft))
plt.title('风荷载频谱分析')
plt.xlabel('频率(Hz)')
plt.ylabel('幅度')
plt.grid(True)
plt.show()在频谱分析的代码示例中,我们使用了scipy库的fft函数来计算风荷载时间历程的傅里叶变换,从而得到其频谱。通过绘制频谱图,我们可以清晰地看到荷载的主要频率成分。1.2.3统计描述示例对于随机荷载,如交通荷载,我们可以通过收集数据并计算统计量来描述其特性。假设我们有一组交通荷载数据,可以使用Python的numpy库来计算其均值和方差。#交通荷载数据
traffic_load=np.random.normal(50,10,1000)#假设交通荷载服从均值为50N,标准差为10N的正态分布
#计算统计量
mean_load=np.mean(traffic_load)
var_load=np.var(traffic_load)
print(f'交通荷载的均值为:{mean_load}N')
print(f'交通荷载的方差为:{var_load}N^2')在统计描述的示例中,我们生成了一组服从正态分布的交通荷载数据,然后计算了其均值和方差,以描述荷载的统计特性。通过上述示例,我们可以看到,动力荷载的表示方法多样,包括时间历程、频谱分析和统计描述,每种方法都有其适用场景和特点。在实际工程中,选择合适的表示方法对于准确分析结构的动力响应至关重要。2结构动力响应的分析方法2.1单自由度系统的动力响应分析2.1.1原理单自由度系统(SingleDegreeofFreedom,SDOF)是指系统中只有一个独立的运动方向或自由度。在动力分析中,这类系统通常由一个质量块、一个弹簧和一个阻尼器组成,用于简化分析结构在动力荷载下的响应。动力荷载可以是地震、风力、爆炸等,它们作用于结构上,引起结构的振动。对于SDOF系统,其动力方程可以表示为:m其中:-m是质量,-c是阻尼系数,-k是弹簧刚度,-x是位移,-Ft2.1.2内容解析解对于线性SDOF系统,如果动力荷载是简谐荷载,即Ft数值解对于更复杂或非线性的动力荷载,通常采用数值方法求解。常见的数值方法包括欧拉法、龙格-库塔法等。代码示例下面是一个使用Python和SciPy库求解SDOF系统动力响应的示例。假设我们有一个质量为1kg,弹簧刚度为10N/m,阻尼系数为0.5N·s/m的系统,受到简谐荷载Ft=importnumpyasnp
fromegrateimportsolve_ivp
importmatplotlib.pyplotasplt
#定义动力方程
defsdot(t,s,m,c,k,F):
x,v=s
dxdt=v
dvdt=(F(t)-c*v-k*x)/m
return[dxdt,dvdt]
#动力荷载函数
defF(t):
return5*np.sin(2*np.pi*t)
#参数
m=1.0#质量
c=0.5#阻尼系数
k=10.0#弹簧刚度
#初始条件
x0=0.0#初始位移
v0=0.0#初始速度
#时间范围
t_span=(0,10)
t_eval=np.linspace(0,10,1000)
#求解
sol=solve_ivp(sdot,t_span,[x0,v0],args=(m,c,k,F),t_eval=t_eval)
#绘图
plt.figure()
plt.plot(sol.t,sol.y[0],label='位移')
plt.plot(sol.t,F(sol.t),label='荷载')
plt.legend()
plt.show()描述此代码示例使用SciPy的solve_ivp函数求解SDOF系统的动力响应。首先定义了动力方程和动力荷载函数,然后设置了系统的参数和初始条件。通过solve_ivp函数求解动力方程在指定时间范围内的数值解,并使用matplotlib库绘制位移和荷载随时间变化的曲线。2.2多自由度系统的动力响应分析2.2.1原理多自由度系统(MultipleDegreeofFreedom,MDOF)是指系统中有两个或两个以上的独立运动方向。这类系统可以更准确地模拟实际结构的复杂振动特性。动力分析中,MDOF系统的动力方程通常表示为矩阵形式:M其中:-M是质量矩阵,-C是阻尼矩阵,-K是刚度矩阵,-{u}是位移向量,-{2.2.2内容模态分析模态分析是求解MDOF系统动力响应的一种常用方法。通过求解系统的固有频率和模态振型,可以将原系统分解为多个独立的SDOF系统,从而简化计算。时程分析时程分析是另一种求解MDOF系统动力响应的方法,它直接求解动力方程在时间域内的响应,适用于非线性系统或复杂荷载情况。代码示例下面是一个使用Python和SciPy库进行MDOF系统模态分析的示例。假设我们有一个由两个质量块、三个弹簧和两个阻尼器组成的系统。importnumpyasnp
fromscipy.linalgimporteig
importmatplotlib.pyplotasplt
#定义质量矩阵
M=np.array([[1,0],
[0,1]])
#定义刚度矩阵
K=np.array([[10,-5],
[-5,10]])
#定义阻尼矩阵
C=np.array([[0.5,0],
[0,0.5]])
#求解固有频率和模态振型
eigenvalues,eigenvectors=eig(K,M)
#计算固有频率
omega=np.sqrt(eigenvalues)
frequencies=omega/(2*np.pi)
#绘图
plt.figure()
plt.stem(frequencies,use_line_collection=True)
plt.xlabel('模态')
plt.ylabel('固有频率(Hz)')
plt.show()描述此代码示例使用SciPy的eig函数求解MDOF系统的固有频率和模态振型。首先定义了系统的质量矩阵、刚度矩阵和阻尼矩阵,然后使用eig函数求解特征值和特征向量。特征值的平方根即为系统的固有频率,通过绘图展示系统的固有频率。2.3无限自由度系统的动力响应分析2.3.1原理无限自由度系统(InfiniteDegreeofFreedom,IDOF)通常指的是连续体结构,如梁、板、壳等。这类系统的动力方程无法用有限的矩阵表示,因此需要使用偏微分方程来描述。无限自由度系统的动力响应分析通常涉及求解偏微分方程的数值解。2.3.2内容有限元法有限元法(FiniteElementMethod,FEM)是求解无限自由度系统动力响应的一种常用数值方法。通过将连续体结构离散为有限个单元,可以将偏微分方程转化为一组线性代数方程,从而求解系统的动力响应。边界元法边界元法(BoundaryElementMethod,BEM)是另一种求解无限自由度系统动力响应的方法,它主要关注结构边界上的行为,适用于求解无限或半无限域中的问题。代码示例有限元法求解无限自由度系统动力响应的代码示例较为复杂,通常需要使用专门的有限元软件或库,如FEniCS、OpenSees等。下面是一个使用FEniCS求解一维梁动力响应的简化示例。fromfenicsimport*
importnumpyasnp
importmatplotlib.pyplotasplt
#创建网格
mesh=IntervalMesh(100,0,1)
#定义函数空间
V=FunctionSpace(mesh,'P',1)
#定义边界条件
defboundary(x,on_boundary):
returnon_boundary
bc=DirichletBC(V,Constant(0),boundary)
#定义动力方程
u=TrialFunction(V)
v=TestFunction(V)
f=Constant(0)
m=Constant(1)
c=Constant(0.1)
k=Constant(10)
F=m*u*v*dx+c*dot(grad(u),grad(v))*dx+k*u*v*dx-f*v*dx
#定义动力荷载
f=Expression('5*sin(2*pi*t)',degree=1,t=0)
#时间步长和总时间
dt=0.01
T=10
#创建时间序列
t=np.linspace(0,T,int(T/dt))
#求解
u=Function(V)
foriinrange(1,len(t)):
f.t=t[i]
solve(F==0,u,bc)
#保存或处理解
#绘图
plt.figure()
plot(u)
plt.show()描述此代码示例使用FEniCS库求解一维梁的动力响应。首先创建了一维网格和函数空间,然后定义了边界条件和动力方程。动力荷载通过Expression类定义,可以随时间变化。通过循环求解动力方程在每个时间步的数值解,并使用matplotlib库绘制最终的位移分布。以上示例展示了结构动力响应分析中不同自由度系统的基本原理和求解方法,以及如何使用Python和相关库进行动力响应的数值求解。3动力荷载的实例分析3.1风荷载的动力效应分析3.1.1原理风荷载的动力效应分析主要关注风力对结构的影响,特别是在高层建筑、桥梁等大型结构中。风荷载可以是稳定的,也可以是随时间变化的,后者通常需要进行动力分析。动力分析考虑风荷载的随机性和时变性,通过频域或时域的方法来评估结构的响应。3.1.2内容风荷载的特性:风荷载的大小和方向随时间和空间变化,其动力效应分析需要考虑风速的分布、湍流强度、风向角等因素。结构响应的计算:使用模态分析或时程分析来计算结构在风荷载作用下的响应,包括位移、加速度和内力。稳定性评估:分析结构在风荷载作用下的稳定性,确保结构不会发生共振或失稳。3.1.3示例假设我们有一个高层建筑模型,需要分析其在风荷载作用下的动力响应。我们可以使用Python的SciPy库来进行模态分析。importnumpyasnp
fromscipy.linalgimporteig
fromegrateimportodeint
#定义结构的刚度矩阵K和质量矩阵M
K=np.array([[10000,0],[0,10000]])
M=np.array([[1000,0],[0,1000]])
#计算固有频率和模态
eigenvalues,eigenvectors=eig(-np.dot(np.linalg.inv(K),M))
omega=np.sqrt(-eigenvalues)#固有频率
phi=eigenvectors#模态
#定义风荷载函数
defwind_load(t):
returnnp.array([np.sin(2*np.pi*t),np.cos(2*np.pi*t)])
#定义动力响应的微分方程
defresponse(y,t,K,M,F):
returnnp.dot(np.linalg.inv(M),(F(t)-np.dot(K,y)))
#初始条件
y0=np.array([0,0])
#时间向量
t=np.linspace(0,10,1000)
#解动力响应
y=odeint(response,y0,t,args=(K,M,wind_load))
#打印结果
print("固有频率:",omega)
print("模态:",phi)
print("动力响应:",y[-1])此代码示例首先定义了结构的刚度矩阵K和质量矩阵M,然后计算了固有频率和模态。接着,定义了一个简单的风荷载函数wind_load,并使用odeint函数解动力响应的微分方程。最后,打印出固有频率、模态和动力响应的结果。3.2地震荷载的动力效应分析3.2.1原理地震荷载的动力效应分析是评估结构在地震作用下的安全性和性能的关键步骤。地震荷载是动力荷载的一种,其作用力和作用方向随时间快速变化。分析时,通常使用地震波记录或人工生成的地震波作为输入,通过动力分析预测结构的响应。3.2.2内容地震波的输入:可以使用实际地震记录或人工地震波,如ElCentro地震波。动力分析方法:包括直接积分法、模态叠加法等,用于计算结构在地震荷载作用下的动力响应。结构损伤评估:分析结构在地震荷载作用下的损伤程度,确保结构的安全性和可修复性。3.2.3示例使用Python的SciPy库和一个简单的地震波记录,我们可以进行地震荷载的动力效应分析。importnumpyasnp
fromegrateimportodeint
#地震波数据
earthquake_data=np.loadtxt('earthquake_data.txt')
t=earthquake_data[:,0]
F=earthquake_data[:,1]
#定义结构的刚度矩阵K和质量矩阵M
K=np.array([[10000]])
M=np.array([[1000]])
#定义动力响应的微分方程
defresponse(y,t,K,M,F):
returnnp.dot(np.linalg.inv(M),(F(t)-np.dot(K,y)))
#初始条件
y0=np.array([0])
#解动力响应
y=odeint(response,y0,t,args=(K,M,lambdat:F[np.argmin(np.abs(t-t))]))
#打印结果
print("动力响应:",y[-1])此代码示例首先加载了地震波数据,然后定义了结构的刚度矩阵K和质量矩阵M。接着,定义了动力响应的微分方程,并使用odeint函数求解。最后,打印出动力响应的结果。3.3爆炸荷载的动力效应分析3.3.1原理爆炸荷载的动力效应分析关注爆炸产生的冲击波对结构的影响。爆炸荷载的特点是作用时间短、强度大,因此需要使用高速动力分析方法来准确预测结构的响应。3.3.2内容爆炸荷载的建模:通常使用压力时间历史曲线来模拟爆炸荷载。高速动力分析:使用直接积分法或有限元方法进行高速动力分析,以捕捉爆炸荷载的瞬态效应。结构损伤评估:分析结构在爆炸荷载作用下的损伤程度,确保结构的安全性和可修复性。3.3.3示例使用Python的SciPy库和一个简单的压力时间历史曲线,我们可以进行爆炸荷载的动力效应分析。importnumpyasnp
fromegrateimportodeint
#爆炸荷载数据
explosion_data=np.loadtxt('explosion_data.txt')
t=explosion_data[:,0]
P=explosion_data[:,1]
#定义结构的刚度矩阵K和质量矩阵M
K=np.array([[10000]])
M=np.array([[1000]])
#定义动力响应的微分方程
defresponse(y,t,K,M,P):
returnnp.dot(np.linalg.inv(M),(P(t)-np.dot(K,y)))
#初始条件
y0=np.array([0])
#解动力响应
y=odeint(response,y0,t,args=(K,M,lambdat:P[np.argmin(np.abs(t-t))]))
#打印结果
print("动力响应:",y[-1])此代码示例首先加载了爆炸荷载数据,然后定义了结构的刚度矩阵K和质量矩阵M。接着,定义了动力响应的微分方程,并使用odeint函数求解。最后,打印出动力响应的结果。以上示例展示了如何使用Python进行风荷载、地震荷载和爆炸荷载的动力效应分析。在实际应用中,这些分析通常需要更复杂的模型和更详细的输入数据。4动力响应的控制与减震技术4.1结构动力响应的控制方法在结构动力学中,动力响应的控制对于提高结构的安全性和舒适性至关重要。动力响应控制方法主要分为被动控制、主动控制和半主动控制。4.1.1被动控制被动控制方法不依赖于外部能源,主要通过在结构中添加阻尼器、质量块或弹簧等元件来改变结构的动力特性,从而达到减震的目的。例如,使用调谐质量阻尼器(TMD)可以有效减少高层建筑在风或地震作用下的振动。4.1.2主动控制主动控制方法利用传感器和执行器,实时监测结构的振动状态,并通过执行器施加反向力或力矩来抑制振动。这种方法需要外部能源,但可以实现更精确的控制效果。例如,使用主动质量驱动器(AMD)可以实时调整结构的振动,提高控制效率。4.1.3半主动控制半主动控制结合了被动和主动控制的优点,通过可调阻尼器等元件,在不需要大量外部能源的情况下,实现一定程度的实时响应调整。这种方法在成本和控制效果之间找到了一个平衡点。4.2减震技术与应用案例减震技术是动力响应控制的重要组成部分,旨在减少结构在动力荷载作用下的振动幅度。常见的减震技术包括:4.2.1调谐质量阻尼器(TMD)TMD是一种被动减震装置,通过调整其质量和频率,使其与结构的振动频率相匹配,从而吸收结构的振动能量,减少结构的振动。TMD在高层建筑、桥梁和风力发电机等结构中广泛应用。4.2.2液压阻尼器液压阻尼器利用流体的阻力来消耗振动能量,适用于需要较大阻尼力的结构。例如,在地震频发地区的桥梁设计中,液压阻尼器可以有效减少地震引起的振动。4.2.3磁流变阻尼器磁流变阻尼器是一种半主动控制装置,通过改变磁场强度来调整阻尼器的阻尼力,适用于需要实时调整阻尼力的结构。例如,在风力发电机的塔架中,磁流变阻尼器可以根据风速的变化实时调整阻尼力,减少塔架的振动。4.2.4应用案例:上海中心大厦的调谐质量阻尼器上海中心大厦是世界上最高的建筑之一,为了减少风和地震引起的振动,大厦顶部安装了一个重达1000吨的调谐质量阻尼器。这个TMD系统通过调整其质量和频率,与大厦的振动频率相匹配,有效吸收了大厦的振动能量,确保了大厦的安全性和舒适性。4.3动力荷载下的结构优化设计在动力荷载作用下,结构优化设计的目标是提高结构的抗振性能,同时控制成本。优化设计通常包括以下几个步骤:4.3.1分析动力荷载首先,需要对结构可能遇到的动力荷载进行分析,包括风荷载、地震荷载等。这一步骤通常需要使用动力学分析软件,如ANSYS或ABAQUS,来模拟动力荷载对结构的影响。4.3.2评估结构响应基于动力荷载的分析结果,评估结构的响应,包括位移、加速度和应力等。这一步骤有助于确定结构的薄弱环节,为后续的优化设计提供依据。4.3.3优化设计根据结构响应评估的结果,对结构进行优化设计。优化设计可能包括调整结构的形状、尺寸、材料或添加减震装置等。例如,通过在结构中添加TMD或调整结构的刚度和质量分布,可以有效减少结构在动力荷载作用下的振动。4.3.4验证优化效果最后,需要对优化后的结构进行动力学分析,验证优化效果。如果优化效果不理想,需要重新调整设计参数,直到达到预期的优化目标。4.3.5示例:使用Python进行结构优化设计以下是一个使用Python进行结构优化设计的示例,该示例使用了SciPy库中的优化函数。importnumpyasnp
fromscipy.optimizeimportminimize
#定义结构响应函数
defstructure_response(x):
#x为结构设计参数,例如质量分布或刚度
#这里使用一个简单的二次函数作为示例
returnx[0]**2+x[1]**2
#定义约束条件
defconstraint(x):
#例如,结构的总质量不能超过一定值
return100-(x[0]+x[1])
#初始设计参数
x0=np.array([10,10])
#定义约束
cons=({'type':'ineq','fun':constraint})
#进行优化
res=minimize(structure_response,x0,method='SLSQP',constraints=cons)
#输出优化结果
print(res.x)在这个示例中,我们定义了一个结构响应函数structure_response,该函数表示结构的响应与设计参数的关系。我们还定义了一个约束条件constraint,表示结构的总质量不能超过100。然后,我们使用SciPy库中的minimize函数进行优化,最终输出优化后的设计参数。4.4结论动力响应的控制与减震技术是结构动力学中的重要领域,通过合理的设计和应用,可以有效提高结构的安全性和舒适性。结构优化设计是实现这一目标的关键步骤,需要综合考虑动力荷载、结构响应和成本等因素。5动力分析的软件应用5.1常用结构动力分析软件介绍在结构动力分析领域,有多种软件工具被广泛使用,它们提供了强大的计算能力和直观的用户界面,帮助工程师进行复杂结构的动力响应分析。以下是一些常用的结构动力分析软件:ANSYSMechanicalAPDLANSYSMechanicalAPDL是一款功能全面的有限元分析软件,特别适用于动力学分析。它支持多种动力学分析类型,包括模态分析、谐响应分析、瞬态动力学分析和谱分析。ABAQUSABAQUS是另一款广泛使用的软件,以其在非线性动力学分析方面的强大能力而著称。它能够处理复杂的材料模型和接触问题,适用于高级动力学研究。SAP2000SAP2000是一款专注于结构工程的软件,特别适合进行桥梁、建筑等结构的动力分析。它提供了直观的建模工具和全面的动力学分析功能。ETABSETABS是一款专为多层和高层建筑设计的软件,它能够进行地震响应分析、风荷载分析等,是建筑结构动力分析的首选工具。SAMCEFSAMCEF是一款高级的多物理场分析软件,适用于复杂的动力学问题,如热-结构耦合分析、流-固耦合分析等。5.2软件操作流程与技巧5.2.1ANSYSMechanicalAPDL动力分析流程建立模型-选择合适的单元类型和材料属性。
-定义几何形状和网格划分。施加动力荷载-在荷载步中定义动力荷载,如地震波、爆炸荷载或风荷载。
-确保荷载的时间历程与实际工况相符。设置边界条件-定义结构的约束,如固定支座、滑动支座等。
-考虑结构的对称性,合理简化模型。进行动力学分析-选择适当的分析类型,如瞬态动力学分析。
-设置分析的时间步长和总时间。解读与验证结果-检查模态频率和振型,确保与理论值相符。
-分析动力响应,如位移、应力和应变。
-与实验数据或理论计算结果进行对比,验证分析的准确性。5.2.2示例:使用ANSYSMechanicalAPDL进行瞬态动力学分析#ANSYSMechanicalAPDL瞬态动力学分析示例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度酒店信息技术部经理任用与系统维护合同范本3篇
- 2024年酒店整体租赁合同格式
- 2025药品销售全国总代理合同
- 2025版西咸新区空港新城跨境电商服务平台建设合同3篇
- 2025城市非居民供用热合同
- 2025年陶瓷生产加工机械项目发展计划
- 2024年版特定项目履约保障金协议版B版
- 2025年度企事业单位安全防范设施建设合同3篇
- 2025年微晶玻璃管项目发展计划
- 2025版建筑企业流动资金借款合同违约责任条款3篇
- Zippo-2024年美版年册集合
- 重大隐患判定标准培训课件
- 画法几何及机械制图课件
- 新产品、新技术、新工艺、新材料的应用
- 棋牌游戏自审自查报告
- JJF 2088-2023大型蒸汽灭菌器温度、压力、时间参数校准规范
- 电磁弹射技术
- 读后续写微技能Toshownottotell课件高三英语一轮复习写作专项
- 幼儿园食堂食品安全主体责任风险管控清单(日管控)
- 电气设备维护保养记录表
- 陕西华县皮影戏调研报告
评论
0/150
提交评论