10. 2011年10月
国庆节只休息了3天,4号上班。
在9月的时候,有很多的进展。经过了地毯式的测试,有限元这一部分功能基本上完善,也很稳定。后面基本上是专题性质的专项计算的深入调优,包括了施工模拟分析、随机活荷载不利布置分析、局部人防模型分析,整体上不错。
其他的内容大体上有这几个,都做得非常好。
一个是上部结构刚度传递到基础计算中,这一块涉及到上部结构和基础两个模型的计算,我们做得非常巧妙,很智能。上部刚度的凝聚支持动态的凝聚参数判断,对于超大底盘的结构,能动态减少出口数量,在牺牲较小精度的条件下大量减少计算量。 在基础模型计算,也用了了很妙的机制,进行上部刚度矩阵凝聚结果的自动拆分为合适的MATRIX单元。
第二个是有限元程序自动支持进程内计算与子进程计算,可以混用。这样可以隔离一些管理和内存上的问题。两种模式下的进度log,数据管理等都完全不需要变化,这里又再一次很骄傲地受益于精良的程序架构。子进程方式下采用异步的log控制器,而且支持很先进的中断计算。
还有一个,在ICF中增加了一种模式,称为Transaction。 和经典的数据库一致,在开启Transaction后,读写性能会大幅度提高,而且Transaction是自治的,只需要开启关闭,其他的不需要有任何变化。
然后开始进行大规模题目的测试,上限已经达到100w自由度,很领先。
———————————
10月也是一个很好的月份,都很开心。
11. 2011年11月
这个月还是测试,测试,不提。
这个月又被要求加一个新的功能,基础计算中后浇带的模拟计算,很罗嗦。但是我们有先进的储备,死活单元+自动单元分组,很简单的处理就好了,抽象了一个局部模型分析出来,取名PartialModelAnalysis,很稳定。
然后还是继续改进,改进无止境。重构了下命令行参数的解析,定义通用的规则,后面的增加参数也不用逐个解析。
ICF逐渐成为了后处理的瓶颈,查到原因是频繁的缓冲交换,于是增加了一个多并发的Turbo模式,根据系统内存智能适应,效果很好。
目标总是一步一步被提高,从最初的要求能计算30w自由度,逐渐被要求到50w、70w、100w。而且随着多塔的要求,还要适应越来越多的振型。原先的有些设计是针对50w的优化设计,100w再加100个振型是不能承受之重。好在,谁让咱们的设计牛呢。加入内存映射,ICF同步支持,只需要局部的小量代码就可以了。
11月就这么多啰嗦事情。相对前两个月来说,这个月有时候并不是非常开心,难免有些低谷起伏,但是我是小强,我喜欢向前,喜欢努力,加油。
12. 2011年12月
资源是一点一点省出来的,就像钱要开源,更要节流。
除去优化之外,本月逐渐增加竖向地震的计算,这一部分由于以前糟糕的代码,加一点东西都会引入错误和不兼容。找到一个肯动脑筋水平又好的人真的很难很难。
由于Midas building和etabs的特点,本月决定把原计划下一版本的功能提前,就是根据振型参与质量来自动决断振型个数,Midas building的这个功能很赞,于是我们也有了。 ETABS的RITZ向量法在很多情况下会是一个比较好的手段,于是我们有了。
—————-
2011年要结束了,12月开心。
感谢2011。