首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

结构工程师:请避开有限元分析中6个常见的“坑”

导读:近年来,随着有限元分析软件应用的普及,很多在过去仅仅局限于科研人员论文中的问题,逐步开始成为设计工程师的分析任务。但是另一方面,设计人员未必具备分析人员的知识储备,很多人对于结构分析缺乏有效的思路,甚至有的分析人员完全没有材料力学等相关的基本概念,在结构分析中往往会陷入各种误区,导致分析的效果大打折扣,甚至得出错误的结果。本文针对设计人员结构分析中常见的一些误区进行分析和讨论,希望引起结构分析人员的重视。本文讨论的问题仅限于建模思路和静力计算部分。 误区一:缺乏体系化的概念 很多人做结构分析,就连什么

02

使用EzReson进行化学共振分析(1):定量的共振理论

共振(resonance)是化学中一个常用概念,用来描述单个路易斯(Lewis)结构无法准确描述的分子结构。对于具有闭壳层电子结构的分子,所有的电子都自旋配对,Lewis用孤对电子和共价键来表示这些电子对,其中前者位于单个原子上,具有单中心-两电子(1c-2e)的特征,而后者则共享于两个原子之间,具有两中心-两电子(2c-2e)的特征。因此,一个合法的Lewis结构都是由1c-2e的孤对电子和/或2c-2e的共价键构成。显然,对于某些“非经典的”具有多中心键(即成键电子对离域在三个或更多原子之间)的分子,就无法用一个Lewis结构来确切描述了。为解决这个问题,Pauling提出一个自然的想法:可用多个Lewis结构来描述非经典成键的分子。一个“教科书式”的例子就是苯分子,其6c-6e的大Π键无法用单个的含三个双键的Lewis结构(称为苯的Kekulé结构)来描述,但可以用两个这样的Kekulé结构来描述——可认为苯的离域Π键是两个Lewis(Kekulé)结构的“共振”平均的结果(见图1)。在共振理论中,把这种由多个Lewis结构共振平均后的结构称为共振杂化体(resonance hybrid)。因此,具有非经典成键特征的分子就可以由共振杂化体来合理描述。

01

使用UniMoVib进行GSVA广义子系统振动分析

简谐振动分析(harmonic vibrational analysis) 是量子化学计算中一项常用的技术手段。一方面,这种振动分析可以给出红外、拉曼等振动光谱。在最常用的高斯程序中,指定关键词freq则可以进行简谐振动分析。如果加上谐振频率校正因子,计算得到的振动频率可以更接近实验测量频率值。相关内容可参见《红外光谱的理论计算》一文。因此简谐振动分析可以以一个较低的计算代价得到质量还不错的振动光谱,但如果需要更精确的振动光谱,则需要考虑非谐振效应。另一个方面,简谐振动分析可以帮助我们确定结构优化过的体系在势能面上驻点(stationary point)的性质。假如振动分析得到的振动频率都是正值,那么此时体系位于能量局部极小点处。假如分析得到的振动频率有一个是虚频而其余都是正值,说明此时体系在一个鞍点上(即反应过渡态)。

01

Linux内核源代码分析经验

Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的 最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。   Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者是被你修改过了的内核,顺利通过编译,一切运行正常的时候。 那种成就感真是油然而生!而且,对内核的分析,除了出自对技术的狂热追求之外,这种令人生畏的劳动所带来的回报也是非常令人着迷的,这也正是它拥有众多追 随者的主要原因:   首先,你可以从中学到很多的计算机的底层知识,如后面将讲到的系统的引导和硬件提供的中断机制等;其它,象虚拟存储的实现机制,多任务机制,系统保护 机制等等,这些都是非都源码不能体会的。   同时,你还将从操作系统的整体结构中,体会整体设计在软件设计中的份量和作用,以及一些宏观设计的方法和技巧:Linux的内核为上层应用提供一个与 具体硬件不相关的平台;同时在内核内部,它又把代码分为与体系结构和硬件相关的部分,和可移植的部分;再例如,Linux虽然不是微内核的,但他把大部分 的设备驱动处理成相对独立的内核模块,这样减小了内核运行的开销,增强了内核代码的模块独立性。   而且你还能从对内核源码的分析中,体会到它在解决某个具体细节问题时,方法的巧妙:如后面将分析到了的Linux通过Botoom_half机制来加 快系统对中断的处理。   最重要的是:在源码的分析过程中,你将会被一点一点地、潜移默化地专业化。一个专业的程序员,总是把代码的清晰性,兼容性,可移植性放在很重要的位 置。他们总是通过定义大量的宏,来增强代码的清晰度和可读性,而又不增加编译后的代码长度和代码的运行效率;他们总是在编码的同时,就考虑到了以后的代码 维护和升级。 甚至,只要分析百分之一的代码后,你就会深刻地体会到,什么样的代码才是一个专业的程序员写的,什么样的代码是一个业余爱好者写的。而这一点是任何没有真 正分析过标准代码的人都无法体会到的。   然而,由于内核代码的冗长,和内核体系结构的庞杂,所以分析内核也是一个很艰难,很需要毅力的事;在缺乏指导和交流的情况下,尤其如此。只有方法正 确,才能事半功倍。正是基于这种考虑,作者希望通过此文能给大家一些借鉴和启迪。   由于本人所进行的分析都是基于2.2.5版本的内核;所以,如果没有特别说明,以下分析都是基于i386单处理器的2.2.5版本的Linux内核。 所有源文件均是相对于目录/usr/src/linux的。   要分析Linux内核源码,首先必须找到各个模块的位置,也即要弄懂源码的文件组织形式。虽然对于有经验的高手而言,这个不是很难;但对于很多初级的 Linux爱好者,和那些对源码分析很有兴趣但接触不多的人来说,这还是很有必要的。   1、Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(的二个数为偶数,例如 2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。   2、核心源程序的文件按树形结构进行组织,在源程序树的最上层,即目录/usr/src/linux下有这样一些目录和文件。   ◆ COPYING: GPL版权申明。对具有GPL版权的源代码改动而形成的程序,或使用GPL工具产生的程序,具有使用GPL发表的义务,如公开源代码。   ◆ CREDITS: 光荣榜。对Linux做出过很大贡献的一些人的信息。   ◆ MAINTAINERS: 维护人员列表,对当前版本的内核各部分都有谁负责。   ◆ Makefile: 第一个Makefile文件。用来组织内核的各模块,记录了个模块间的相互这间的联系和依托关系,编译时使用;仔细阅读各子目录下的Makefile文件 对弄清各个文件这间的联系和依托关系很有帮助。   ◆ ReadMe: 核心及其编译配置方法简单介绍。   ◆ Rules.make: 各种Makefilemake所使用的一些共同规则。   ◆ REPORTING-BUGS:有关报告Bug 的一些内容。   ● Arch/ :arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录;   ● Include/: include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux子目录下,与 intel c

02

基于量化分析的低代码平台体验优化实践 | 低代码技术内幕

自 2020 年来,网易数帆探索可视化低代码编程已两年有余,打造了 CodeWave 智能开发平台(原轻舟低代码平台)用于企业应用开发。然而,不少编程技术人员对这一领域还比较陌生。我们开设《低代码技术内幕》专栏,旨在讨论低代码编程领域中的困难、问题,以及高效的解决方案。本文为第四篇,将介绍基于净推荐值(Net Promoter Score,NPS)和结构方程模型(Structural Equation Model,SEM)方法的低代码用户体验管理体系。SEM 侧重从定量的方法,通过用户侧视角、数据驱动,量化各级指标对于 NPS 的贡献度(权重)。在本文中,我们将展示 SEM 在搭建指标体系中的关键步骤,并给出使用 SEM 结果改良用户体验的方法。 专栏内容回顾: 基于 Vue 和 Canvas,轻舟低代码 Web 端可视化编辑器设计解析 | 低代码技术内幕 低代码编程及其市场机遇剖析 | 低代码技术内幕 面向数字化提质提效的低代码架构设计 | 低代码技术内幕

03

如何快速全面建立自己的大数据知识体系?

本文转载自互联网金融干货 作者经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据产品的体系思路,让大家系统性学习和了解有关大数据的设计架构,很多人都看过不同类型的书,也接触过很多有关大数据方面的文章,但都是很零散不成系统,对自己也没有起到多大的作用,所以作者第一时间,带大家从整体体系思路上,了解大数据产品设计架构和技术策略,如需深入学习和了解互联网电商、互联网金融和大数据方面干货,核心底层技术及架构设计,可以关注微信公众号:互联网金融干货,有时间就会和大家分

010
领券