拓扑关系在环状给水管网中的应用

所属栏目:建筑设计论文 发布日期:2011-06-25 16:33 热度:

  摘要:研究拓扑关系在环状给水管网中的应用,通过自动生成减少数据输入量,更加方便的实现对管网的平差计算。利用AutoCAD下的VisualLISP开发语言编制程序,通过对管网图形的分析和处理,实现对管段和节点的自动编号,在此基础上,结合图论的有关知识完成基环的自动搜索,生成回路矩阵;并能自动生成最小平方和法初分流量所用到的邻接矩阵,从而为环状给水管网的快速电算提供了可能。
  关键词:拓扑关系;基环;邻接矩阵;VisualLISP
  
  前言
  在实际工作中,管网的设计、绘制大都是在AutoCAD中完成,因此基于AutoCAD对管网进行水力计算具有一定的实用性。在进行管网的水力计算过程中,需要确定基环、基环间的公共管段、管网的基本关系矩阵等,即管网的拓扑关系[1][2]。目前这些拓扑关系一般是通过人工确定的,特别对于大型管网的计算,既浪费时间也容易产生错误。VisualLISP是AutoCAD下的二次开发语言,借助其对AutoCAD图形强大的处理能力,编制程序实现了管网水力计算和分析的自动化,可以完成对管网的自动编号,自动生成管网基本关系矩阵,从而完成管网拓扑关系的自动搜索,避免了大量原始数据和图形拓扑数据的输入,为管网的水力计算提供了方便。
  1 拓扑关系的自动搜索
  1.1管段和节点的自动编号[3]
  管网图形全部用直线(Line)来绘制,并使其都位于同一层上,方便访问其底层数据库。用VisualLISP的SsGet函数建立一个关于所有管线的选择集,用SsLength函数可以得到管线的数目LenOfPipe。用Repeat函数循环LenOfPipe次,依次得到各个管线的图元名,同时使用EntGet函数得到各个图元的属性,利用组码或者ActiveX得到想要的图元属性,可以很方便的得到各个管线的端点坐标、管线长度等信息。使用Command函数调用AutoCAD的TEXT命令,从而对各个管线进行标注,显示在图形中。在得到所有管线端点坐标的基础上,通过条件函数的使用得到所有节点的集合Totalpoint,使用Length函数可以得到管网中节点的个数,同样对节点进行编号、标注。并且生成由节点号和节点坐标组成的表PointP;由管段号和管段两端节点号组成的表PipeP。
  1.2邻接矩阵的生成
  在对管网图形中节点和管段编号的基础上,利用对象选择集函数可以得到节点i的所有以它为端点的管段,并生成节点管段表pointpipe,其格式为:(节点号管段号…),如1节点的节点管段表为(1910);根据节点管段表生成节点节点表pointp和管段节点表pipepoint,表pointp格式为:(节点号节点号…),如1节点的节点节点表为(137);表pipepoint的格式为:(管段号节点号节点号),如1管段的管段节点表为(189)。
  邻接矩阵用来表示节点之间的关系,邻接矩阵的行数为节点数,列数也为节点数。邻接矩阵A的元素值确定的步骤如下:
  1,把矩阵A的所有元素值置为零;由节点管段表确定以i节点为端点的管段p,k,…,m。
  2,对照节点节点表,可以得到管段p,k,…,m的另外一个端点h,j,…,l。
  3,利用ActiveX函数确定管段的角度,并按其角度大小对管段p,k,…,m进行排列,若k<p<…<m,则依次填充i行h列,j列,…,l列值分别为2,1,…,n。
  
  1.3基环的自动搜索[4]
  利用邻接矩阵可以自动判别基环,并通过邻接矩阵转化一个新的关联矩阵B,用来判别基环的公共管段。基环的判别方法如下:
  1, 令矩阵B维数和矩阵A相同,并把矩阵A中各元素值相应的赋予矩阵B中各元素,从而确定矩阵B;
  2, 从第一行开始搜索矩阵B,找到大于零的元素,相应确定矩阵A的元素,从而确定节点i某一基环的起点,j为此基环的第二个节点;由元素确定元素,计算+1值,若为j行最大值,令+1值为1,根据此值确定其为元素,则此基环的第三个节点为节点k;
  3, 按照步骤2的方法搜索基环的其他节点,若搜索到某一节点为i,则此次搜索结束,得到此基环的各个组成节点i,j,k…i。令此基环为第一个基环;
  4, 从新定义矩阵B中各元素值。把此次搜索过程中所经历的元素,,…所对应矩阵B中的元素,,…的值依次变为-1。若搜索的为第m个基环,则矩阵B中的元素,,…的值依次变为-m;
  5, 按步骤2—5继续搜索基环,直到矩阵B中没有大于零的元素为止;由于搜索的结果包括外围所有节点组成的轮廓环,通过调用面积函数,确定面积最大的环即为轮廓环,从而只得到基环。若轮廓环为L,令其所经历的矩阵B中元素值变为零,其他小于-L的值全部加1。
  2 矩阵的生成
  管网图形中管段、节点、环这三者之间的关系,可以用两个基本关系矩阵[5][6]来表达。其余的关系矩阵可以由这两个基本关系矩阵派生。基本关系矩阵包括环—管段矩阵和环—节点矩阵。
  环—管段矩阵的行数为基环数,列数为包含管段数最多的基环所包括的管段的数目,矩阵元素为环所包括的管段的编号,运算关联矩阵B,可以生成环—管段矩阵。步骤如下:
  搜索矩阵B中元素,找到值为-n的所有元素,确定其中每个元素的所在的行和列,由此并参照管段节点表分别确定各个管段号,这些管段即为基环n的各组成管段,并分别把这些管段号填充到矩阵的n行各列中去。
  环—节点矩阵的行数为基环数,列数为包含节点最多的基环所包括的节点的数目,矩阵元素为环所包括的节点的编号,运算关联矩阵B,也可以生成环—节点矩阵。步骤如下:搜索矩阵B中元素,找到值为-n的所有元素,确定其中第一个元素所在的行和列,并把其行号和列号分别填充到矩阵的n行的第一列和第二列中去,再确定值为-n的其余元素的列号,
  分别填充到矩阵的n行的其余列中。
  3结论
  本论文实现了对管网节点和管段的自动编号,完成了给水管网基环的自动搜索,为管网的水力计算提供了必要的数据准备,能准确、快捷地对管网进行平差计算。这种方法提高了给水管网计算的效率。
  
  参考文献:

 1/2    1 2 下一页 尾页

文章标题:拓扑关系在环状给水管网中的应用

转载请注明来自:http://www.sofabiao.com/fblw/ligong/jianzhusheji/9505.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3