曲面单层网壳梁单元欧拉角的计算方法技术

技术编号:17615592 阅读:398 留言:0更新日期:2018-04-04 06:49
本发明专利技术公开了一种曲面单层网壳梁单元欧拉角的计算方法,包括如下步骤:将曲面单层网壳进行三角化;建立节点与坐标文件node.txt及element.txt;找出与某一节点相连的节点集合,集合中的每一个节点与该节点组成了梁单元,对任意梁单元,求定向第三点坐标矢量;假定全局坐标系中Z轴对应的矢量为Z=[0,0,1],求局部坐标系各轴矢量;求得空间梁的欧拉角BETA为局部坐标轴z与主平面为铅直面的空间梁之局部坐标轴z0之间的角度。本发明专利技术,可适用计算机编程运算,计算精度和计算效率均很高,可满足大规模曲面单层网壳设计的需求,适用于多种复杂曲面的处理,可处理大规模曲面单层网壳梁单元欧拉角的计算问题。

Calculation method of Euler angle in single layer reticulated shell beam element of curved surface

The present invention discloses a curved surface latticed shell beam element Euler angle calculation method comprises the following steps: the surface of single-layer reticulated shells are triangulated; establish nodes and coordinate file in node.txt and element.txt; to find out the nodes connecting to a node set, set in each node and the nodes of the beam element. Any beam unit, calculate directional third point coordinate vector; vector assumed Z axis in the global coordinate system corresponding to Z = [0,0,1], for the local coordinate of each axis vector; obtained Euler space beam angle BETA local axis Z and principal plane between local coordinate vertical spatial beam axis angle z0. The invention can be applied to computer programming operation, and has high computation accuracy and computational efficiency, which can meet the design requirements of large scale curved surface single-layer latticed shells, and is suitable for dealing with various complex surfaces, and can solve the calculation of Euler angles of large scale curved surface single-layer lattice shell elements.

【技术实现步骤摘要】
曲面单层网壳梁单元欧拉角的计算方法
本专利技术涉及,具体涉及曲面单层网壳梁单元欧拉角的计算方法。
技术介绍
曲面单层网壳具有适用跨度大、美观等优点,因此该类型结构广泛用于大跨公共建筑屋盖形式。但曲面单层网壳中梁单元截面形式采用箱型、工字型等时,存在空间梁单元定向问题,而目前此问题一般采用梁单元第三点定向或梁单元欧拉角定向来处理。以往求梁单元第三点或梁单元欧拉角均是采用手工算法,费工费时,效率极低,且容易出错,不适用大规模曲面单层网壳设计的需求。对曲面单层网壳,若要处理空间梁单元定向问题,除上述手工计算梁单元第三点或梁单元欧拉角外,还有两种处理方案:(1)若梁单元采用圆形截面,对圆形截面,任一方向其抗弯性能均是相同的,但圆形截面的梁单元的抗弯性能不佳,且难以满足建筑美观的要求,这种处理方法只适用于梁单元采用圆形截面的方式,局限性太大。(2)对空间曲面网壳,先求其曲面函数方程,Z=f(x,y),然后,对曲面中梁单元的中点,求曲面的法向,再求相应的欧拉角。这种方法仅适用球面、柱面等较为规则的类类型,而对更为复杂的任意曲面,难以实现。由此可见,目前的曲面单层网壳的梁单元的定向问题存在不适用任意曲面的问题。
技术实现思路
本专利技术所要解决的技术问题是目前的曲面单层网壳的梁单元的定向问题存在不适用任意曲面的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供了一种曲面单层网壳梁单元欧拉角的计算方法,包括如下步骤:S1、将曲面单层网壳进行三角化,即增加适当的虚梁,使得网格均为三角形网格,保证虚梁处在最接近曲面的面上;S2、建立节点与坐标文件node.txt及element.txt;S3、找出与某一节点相连的节点集合,集合中的每一个节点与该节点组成了梁单元,对任意梁单元,p1、p2为梁单元两节点坐标矢量,求定向第三点坐标矢量p3;S4、假定全局坐标系中Z轴对应的矢量为Z=[0,0,1],求局部坐标系各轴矢量xr、xr0、yr、yr0、zr、zr0;S5、空间梁的欧拉角BETA为局部坐标轴z与主平面为铅直面的空间梁之局部坐标轴z0之间的角度,也是将空间梁主平面绕梁自身轴转成铅直平面所需的转角,其数学表达如下:若x-z平面法向(y轴)朝上,则BETA=180/pi*acos(dot(zr0,zr));若x-z平面法向(y轴)朝下,则:BETA=360-180/pi*acos(dot(zr0,zr));式中dot()为矢量点积运算函数,acos()为反余弦函数。在另一个优选的实施例中,S2具体包括以下步骤:S21、NODE.txt为:S22、ELEMENT.txt为:在另一个优选的实施例中,S3中,其第一节点编号为NO1,其第二节点编号为NO2,并具体包括以下步骤:S31、通过ELEMENT.txt,找出与节点NO1相连的节点集合S1、与节点NO2相连的节点集合S2,即S1中的每一个节点与节点NO1组成了梁单元,S2中的每一个节点与节点NO2组成了梁单元;S32、对S1与S2做交集运算得其结果s12,即s12=S1∩S2;s12为:一个节点(NOa),此梁必是边梁,此时,梁的法向n取三角形NO1,NO2,NOa的法向n1,即n=n1;或两个节点(Noa,Nob),此梁必是中梁,其法向n与两个三角形相关,且梁的法向n取两个三角形法向的平均值,即n=(n1+n2)/2;则定向第三点坐标矢量p3=(p1+p2)/2+1*n,(p1、p2为梁单元两节点坐标矢量)。在另一个优选的实施例中,S4具体包括以下步骤:(1)当梁处在铅直平面中,梁的局部坐标轴对应的矢量xr0由下式求得:xr=p2-p1;xr0=xt/norm(xr);梁的局部坐标轴对应的矢量yr0由下式求得:yr0=cross(Z,xr0);梁的局部坐标轴对应的矢量zr0由下式求得:zr0=cross(xr0,yr0);(2)当梁不处在铅直平面中,梁的局部坐标轴对应的矢量xr0由下式求得:xr=p2-p1;xr0=xt/norm(xr);norm为求矢量范数的函数;zrt=p3-p1;梁的局部坐标轴对应的矢量yr由下式求得:yr=cross(zrt,xr);yr=yr/norm(yr);梁的局部坐标轴对应的矢量zr由下式求得:zr=cross(xr,yr);其中,上述公式中norm()为求矢量范数的函数;cross()为矢量叉积运算函数。本专利技术,可适用计算机编程运算,计算精度和计算效率均很高,可满足大规模曲面单层网壳设计的需求,适用于多种复杂曲面的处理,可处理大规模曲面单层网壳梁单元欧拉角的计算问题。附图说明图1为本专利技术的梁单元的欧拉角的含义示意图;图2为本专利技术的正确计算欧拉角后的曲面单层网壳效果示意图。具体实施方式本专利技术提供了一种曲面单层网壳梁单元欧拉角的计算方法,可适用计算机编程运算,计算精度和计算效率均很高,可满足大规模曲面单层网壳设计的需求,适用于多种复杂曲面的处理,可处理大规模曲面单层网壳梁单元欧拉角的计算问题。下面结合具体实施例和说明书附图对本专利技术予以详细说明。本专利技术提供的曲面单层网壳梁单元欧拉角的计算方法包括如下步骤:S1、如图2所示,将曲面单层网壳进行三角化,即增加适当的虚梁(刚度接近0的梁),使得网格均为三角形网格,保证虚梁处在最接近曲面的面上,否则,应对梁单元进行分割并增加相应的虚梁;S2、建立节点与坐标文件node.txt及element.txt,具体地,可采用如下方式建立:S21、NODE.txt为:S22、ELEMENT.txt为:S3、找出与某一节点相连的节点集合,集合中的每一个节点与该节点组成了梁单元,对任意梁单元,p1、p2为梁单元两节点坐标矢量,求定向第三点坐标矢量p3,具体地,采用如下计算步骤:任意梁单元,其第一节点编号为NO1,其第二节点编号为NO2。S31、通过ELEMENT.txt,找出与节点NO1相连的节点集合S1、与节点NO2相连的节点集合S2,即S1中的每一个节点与节点NO1组成了梁单元,S2中的每一个节点与节点NO2组成了梁单元,S32、对S1与S2做交集运算得其结果s12,即s12=S1∩S2,s12为:一个节点(NOa),此梁必是边梁,此时,梁的法向n取三角形NO1,NO2,NOa的法向n1,即n=n1;或两个节点(Noa,Nob),此梁必是中梁,其法向n与两个三角形相关,且梁的法向n取两个三角形法向的平均值,即n=(n1+n2)/2;则定向第三点坐标矢量p3=(p1+p2)/2+1*n(p1、p2为梁单元两节点坐标矢量);S4、假定全局坐标系中Z轴对应的矢量为Z=[0,0,1],求局部坐标系各轴矢量xr、xr0、yr、yr0、zr、zr0,具体地,采用如下计算步骤:(1)当梁处在铅直平面中,梁的局部坐标轴对应的矢量xr0由下式求得:xr=p2-p1;xr0=xt/norm(xr);梁的局部坐标轴对应的矢量yr0由下式求得:yr0=cross(Z,xr0);梁的局部坐标轴对应的矢量zr0由下式求得:zr0=cross(xr0,yr0);(2)当梁不处在铅直平面中,梁的局部坐标轴对应的矢量xr0由下式求得:xr=p2-p1;xr0=xt/norm(xr);zrt=p3-p1;梁的局部坐标轴对应的矢量yr由下式求得:本文档来自技高网...
曲面单层网壳梁单元欧拉角的计算方法

【技术保护点】
曲面单层网壳梁单元欧拉角的计算方法,其特征在于,包括如下步骤:S1、将曲面单层网壳进行三角化,即增加适当的虚梁,使得网格均为三角形网格,保证虚梁处在最接近曲面的面上;S2、建立节点与坐标文件node.txt及element.txt;S3、找出与某一节点相连的节点集合,集合中的每一个节点与该节点组成了梁单元,对任意梁单元,p1、p2为梁单元两节点坐标矢量,求定向第三点坐标矢量p3;S4、假定全局坐标系中Z轴对应的矢量为Z=[0,0,1],求局部坐标系各轴矢量xr、xr0、yr、yr0、zr、zr0;S5、空间梁的欧拉角BETA为局部坐标轴z与主平面为铅直面的空间梁之局部坐标轴z0之间的角度,也是将空间梁主平面绕梁自身轴转成铅直平面所需的转角,其数学表达如下:若x‑z平面法向(y轴)朝上,则BETA=180/pi*acos(dot(zr0,zr));若x‑z平面法向(y轴)朝下,则:BETA=360‑180/pi*acos(dot(zr0,zr));式中dot()为矢量点积运算函数,acos()为反余弦函数。

【技术特征摘要】
1.曲面单层网壳梁单元欧拉角的计算方法,其特征在于,包括如下步骤:S1、将曲面单层网壳进行三角化,即增加适当的虚梁,使得网格均为三角形网格,保证虚梁处在最接近曲面的面上;S2、建立节点与坐标文件node.txt及element.txt;S3、找出与某一节点相连的节点集合,集合中的每一个节点与该节点组成了梁单元,对任意梁单元,p1、p2为梁单元两节点坐标矢量,求定向第三点坐标矢量p3;S4、假定全局坐标系中Z轴对应的矢量为Z=[0,0,1],求局部坐标系各轴矢量xr、xr0、yr、yr0、zr、zr0;S5、空间梁的欧拉角BETA为局部坐标轴z与主平面为铅直面的空间梁之局部坐标轴z0之间的角度,也是将空间梁主平面绕梁自身轴转成铅直平面所需的转角,其数学表达如下:若x-z平面法向(y轴)朝上,则BETA=180/pi*acos(dot(zr0,zr));若x-z平面法向(y轴)朝下,则:BETA=360-180/pi*acos(dot(zr0,zr));式中dot()为矢量点积运算函数,acos()为反余弦函数。2.如权利要求1所述的曲面单层网壳梁单元欧拉角的计算方法,其特征在于,S2具体包括以下步骤:S21、NODE.txt为:S22、ELEMENT.txt为:3.如权利要求1所述的曲面单层网壳梁单元欧拉角的计算方法,其特征在于,S3中,其第一节点编号为NO1,其第二节点编号为NO2,并具体包括以下步骤:S31、通过ELEMENT.txt,找出与节点NO1相连的节点集合S1、...

【专利技术属性】
技术研发人员:张剑
申请(专利权)人:深圳大学建筑设计研究院有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1