barriers / 阅读 / 详情

【课程笔记】南大软件分析课程4——数据流分析基础(课时5/6)

2023-08-23 20:37:59
TAG: 分析 笔记
共1条回复
snjk

关于这一节 zcc 的笔记已经够完美了,我就直接在他基础上记录了。

上节课是介绍了3种数据流分析迭代算法,本节课将从数学理论的角度来讨论数据流分析,加深对数据流分析算法的理解。

本质 :常见的数据流迭代算法,目的是通过迭代计算,最终得到一个稳定的不变的解。

定义1 :给定有k个节点(基本块)的CFG,迭代算法就是在每次迭代时,更新每个节点n的OUT[n]。

定义2 :设数据流分析的值域是V,可定义一个 k-元组 : (OUT[n 1 ], OUT[n 2 ], ... , OUT[n k ])。是集合 (V 1 V 2 ... V k ) (幂集,记为V k )的一个元素,表示每次迭代后k个节点整体的值。

定义3 :每一次迭代可看作是V k 映射到新的V k ,通过转换规则和控制流来映射,记作函数F:V k V k 。

迭代算法本质 :通过不断迭代,直到相邻两次迭代的 k-元组 值一样,算法结束。

不动点 :当X i = F(X i )时,就是不动点。

问题

定义 :给定偏序集(P, ), 是集合P上的二元关系,若满足以下性质则为偏序集:

例子

定义 :给定偏序集(P, ),且有P的子集Su2286P:

最小上界 :least upper bound(lub 或者称为join),用u2294S表示。上确界?

定义:对于子集S的任何一个上界u,均有u2294Su2291u。

最大下界 :greatest lower bound(glb 或者称为meet),用u2293S表示。下确界?

定义:对于子集S的任何一个下界l,均有lu2291u2293S。

若S只包含两个元素,a、b(S = {a, b})那么上界可以表示为au2294b,下界可以表示为au2293b。

都是基于上下确界来定义的。

定义 :给定一个偏序集(P,u2291),u2200a,b∈P,如果存在au2294b和au2293b,那么就称该偏序集为格。偏序集中的 任意两个元素 构成的集合均 存在最小上界和最大下界 ,那么该偏序集就是格。

例子

定义 :给定一个偏序集(P,u2291),u2200a,b∈P:

当且仅当au2294b存在(上确界),该偏序集叫做 join semilatice;

当且仅当au2293b存在(下确界),该偏序集叫做 meet semilatice

定义 :对于格点 (S, ) (前提是格点)的任意子集S,u2294 S 上确界和u2293S下确界都存在,则为全格complete lattice。

例子

符号 : = P ,叫做top; = P,叫做bottom。

性质 :有穷的格点必然是complete lattice。全格一定有穷吗? 不一定,如实数界[0, 1]。

定义 :给定一组格,L 1 =(P 1 , 1 ),L 2 =(P 2 , 2 ),... ,L n =(P n , n ),都有上确界 i 和下确界 i ,则定义格点积 L n = (P, ):

性质 :格点积也是格点;格点都是全格,则格点积也是全格。

数据流分析框架(D, L, F) :

数据流分析可以看做是 迭代算法 格点 利用 转换规则 meet/join操作

目标问题:迭代算法一定会停止(到达不动点)吗?

(1)单调性

定义 :函数f: L L,满足u2200x,y∈L,xu2291yu21d2f(x)u2291f(y),则为单调的。

(2)不动点理论

定义 :给定一个 完全lattice(L,u2291) ,如果f:L→L是 单调 的,并且 L有限

那么我们能得到最小不动点,通过迭代:f(⊥),f(f(⊥)),...,f k (⊥)直到找到最小的一个不动点。

同理 我们能得到最大不动点,通过迭代:f(u22a4),f(f(u22a4)),...,fk(u22a4)直到找到最大的一个不动点。

(3)证明

不动点的存在性;

最小不动点证明。

问题 :我们如何在理论上证明 迭代算法有解 有最优解 何时到达不动点 ?那就是将迭代算法转化为 不动点理论 。因为不动点理论已经证明了,单调、有限的完全lattice,存在不动点,且从u22a4开始能找到最大不动点,从⊥开始能找到最小不动点。

目标 :证明迭代算法是一个 完全lattice(L, ) ,是 有限 的, 单调 的。

根据第5小节,迭代算法每个 节点(基本块)的值域 相当于一个 lattice ,每次迭代的 k个基本块的值域 就是一个 k-元组 。k-元组可看作 lattice积 ,根据格点积性质:若L k 中每一个lattice都是完全的,则L k 也是 完全 的。

迭代算法中,值域是0/1,是有限的,则lattice有限,则L k 也有限。

函数F:BB中转换函数f i :L → L + BB分支之间的控制流影响(汇聚是join / meet 操作,分叉是拷贝操作)。

总结 :迭代算法是完全lattice,且是有限、单调的,所以一定有解、有最优解。

定义 lattice高度 —从lattice的top到bottom之间最长的路径。

最坏情况迭代次数 :设有n个块,每次迭代只有1个BB的OUT/IN值的其中1位发生变化(则从top→bottom这1位都变化),则最多迭 ( n × h ) 次。

说明 :may 和 must 分析算法都是从不安全到安全(是否安全取决于safe-aprroximate过程),从准确到不准确。

以 Reaching Definitions分析为例:

以available expressions分析为例:

迭代算法转化到lattice上,may/must分析分别初始化为最小值 和最大值 ,最后求最小上界/最大下界。

目的 :MOP(meet-over-all-paths)衡量迭代算法的精度。

定义 :最终将所有的路径一起来进行join/meet操作。

路径P = 在cfg图上从entry到基本块s i 的一条路径(P = Entry → s 1 → s 2 → ... → s~i )。

路径P上的转移函数F p :该路径上所有语句的转移函数的组合f s1 ,f s2 ,... ,f si-1 ,从而构成F P 。

MOP :从entry到s i 所有路径的F P 的meet操作。本质—求这些值的最小上界/最大下界。

MOP准确性 :有些路径不会被执行,所以不准确;若路径包含循环,或者路径爆炸,所以实操性不高,只能作为理论的一种衡量方式。

对于以上的CFG,抽象出itter和MOP公式。

证明

结论 :所以,MOP更准确。若F满足分配律,则迭代算法和MOP精确度一样 F ( x u2294 y )= F ( x )u2294 F ( y )。一般,对于控制流的join/meet,是进行集合的交或并操作,则满足分配律。

问题描述 :在程序点p处的变量x,判断x是否一定指向常量值。

类别 must分析 ,因为要考虑经过p点所有路径上,x的值必须都一样,才算作一定指向常量。

表示 :CFG每个节点的OUT是pair(x, v)的集合,表示变量x是否指向常数v。

(1)D:forward更直观

(2)L:lattice

变量值域 :所有实数。must分析,所以 是UNDEF未定义(unsafe), 是NAC非常量(safe)。

meet操作 :must分析, 。在每个路径汇聚点PC,对流入的所有变量进行meet操作,但并非常见的交和并,所以 不满足分配律

(3) F转换函数

OUT[s] = gen U (IN[s] - {(x, _})

输出 = BB中新被赋值的 U 输入 - BB中相关变量值已经不是f常量的部分。

对所有的赋值语句进行分析(不是赋值语句则不管,用val(x)表示x指向的值):

(4) 性质 :不满足分配律

可以发现,MOP更准确。F(X Y) F(X) F(Y),但是是单调的。

本质 :对迭代算法进行优化,采用队列来存储需要处理的基本块,减少大量的冗余的计算。

软件分析——数据流分析2

相关推荐

lattice的diamond如何使用啊

兄弟,有没有序列号啊?官网上的许可证的链接打不开
2023-08-16 18:50:183

LATTICE公司简介

Lattice在PLD领域发展多年,拥有众多产品系列,目前主流产品是 ispMACH4000,MachXO系列CPLD和LatticeEC/ECP系列FPGA,此外,在混合信号芯片上,也有诸多建树,如可编程模拟芯片ispPAC,可编程电源管理,时钟管理等Lattice(中文名:莱迪思)是ISP(在线可编程)技术的发明者,ISP技术极大的促进了PLD产品的发展,80年代和90年代初是其高速发展的黄金时期。Lattice中小规模PLD/FPGA比较有特色,种类齐全,性能不错。99年Lattice收购Vantis(原AMD子公司),2001年收购Lucent微电子的FPGA部门,2004年以后开始大规模进入FPGA领域,是世界第三大可编程逻辑器件供应商。目前Lattice公司在上海设有研发部门。
2023-08-16 18:50:281

3Dmax里的晶格英文单词是什么?

lattice
2023-08-16 18:50:382

布拉维点阵 定义

  布拉维点阵,是集中反映晶体结构的周期性而引入的一个概念。适用聚合物材料范围广;低成本;易操作,无需复杂设备与技术;可大批量快速生产等特点。  点阵,英文名称:(lattice)  为集中反映晶体结构的周期性而引入的一个概念。 按连结其中任意两点的向量平移后能够复原的一组点。这一定义包含三层意思;(1)点阵在空间分布上是无限伸展的,即点阵中所含有的点数是无限的;(2)连接点阵中任意两点可得一向量,将此向量按任意方向平移,若向量的一端落在任一点时,它的另一端必定落在点阵中另一点上;(3)每个点阵点都具有相同的周围环境。
2023-08-16 18:50:532

pic单片机和Lattice是什么有什么不一样么?

他们的区别就是单片机与PLD的本质问题。单片机的核心是CPU,串行地执行指令,而PLD是数据电路,是硬件,他是并行工作的,因此PLD的速度远远高于单片机的速度。
2023-08-16 18:51:052

各位大侠,在3D英文版里的"Lattice"在中文版里翻译成是什么

格子
2023-08-16 18:51:132

grid 和 lattice 在形状上有什么区别?

grid 主要指栅栏的格子,铁丝网等的格子,而lattice 主要指窗户的格子
2023-08-16 18:51:201

lattice烧录器烧录失败

可能是因为:把芯片放到烧录座时,由于芯片放偏或芯片引脚偏斜,造成编程器上电时短路过流;将芯片从板上拆下,芯片引脚上有锡渣没清理干净就放到烧录座上编程,造成编程器上电短路。如果编程器的电源过流保护不够完善,当遇到芯片或电路板短路时,轻则损坏编程器,重则可能会损坏芯片或电路板,造成严重的生产事故。其中一个通道发生过流时,触发过流保护并关闭电源输出,导致其他正常的通道无法烧录;l 过流阀值设置的很高,当只有一个通道电源短路时,短路电流可能达不到过流阀值而无法触发过流保护,导致该通道相应电源控制电路被烧毁;l 在板烧写时,如果板上有大容量电容,上电瞬间浪涌电流过大,可能误触发过流保护将电源关闭,导致烧录失败。为了彻底解决这些问题,结合ZLG立功科技·致远电子十多年编程器的研发经验,并收集了各行业客户反馈的建议后,我们在最新推出的P800系列编程器中重构了编程器的过流检测保护机制,核心设计是在每个编程通道都有过流检测保护。
2023-08-16 18:51:281

lattice 怎么调用pll

自己感觉还是自己用硬件语言编写出来的比较好,PLL用来做倍频还行,做分频占用资源比较多,还不如自己写一个分频的程序。
2023-08-16 18:52:072

Lattice energy 和 potential energy 的联系和区别

Lattice energy 晶格能又叫点阵能。它是在反应时1mol离子化合物中的阴、阳离子从相互分离的气态结合成离子晶体时所放出的能量。 晶格能也可以说是破坏1mol晶体,使它变成完全分离的气态自由离子所需要消耗的能量。 标准状况下,拆开单位物质的量的离子晶体使其变为气态组分离子所需吸收的能量,称为离子晶体的晶格能。 potential energy 分子间由于存在相互的作用力,从而具有与其相对位置有关的能,即分子势能。包括分子动能与分子势能。每个分子都有动能;相互作用的分子间都有势能(但理想气体分子间没有相互作用力,也就没有分子势能)。
2023-08-16 18:52:401

晶格类型

常见的晶格类型很多,主要有以下三种:1.体心立方晶格。其晶胞是一个立方体,原子分布在立方体的各结点和中心上。铬、钼、钨、钒、铌、α铁等都是体心立方晶格。2.面心立方晶格。晶胞是一个立方体,原子分布在立方体的各结点和各面的中心上。铝、铜、镍、γ铁等都是面心立方晶格。3.密排六方晶格。晶格是一个六方体,原子除分布在六方体的各结点及上下两面的中心处之外,在六方柱体中间还有三个原子。锌、镁、铍、镉等都属于密排六方晶格。
2023-08-16 18:52:492

materials晶格常数在哪看

materials晶格常数在Lattice Parameters对话框看。右击模型文件窗口空白处,选择Lattice Parameters 。 晶格矢量应约为5.731?,误差约为1%。晶格常数(或称之为点阵常数)指的就是晶胞的边长,也就是每一个平行六面体单元的边长,它是晶体结构的一个重要基本参数。
2023-08-16 18:52:581

想用VHDL语言编程,芯片是lattice公司的,应该用什么编程软件更好呢?

请问你会不会,c/c++这人语言是写硬件驱动不错的一种语言
2023-08-16 18:53:323

lattice公司的FPGA的LVDS模块怎样开发

当你将引脚电气特性设定为LVDS时,软件就知道那是一对差分信号,而差分信号都是特定管教成对出现的,因此,只需要对P端进行管脚约束即可,系统会自动将N端进行匹配。
2023-08-16 18:54:091

请问Lattice XP2 LFXP2-5E是什么芯片?是FPGA吗?DSP TMS 320F2812PGFA主要有什么用途?怎么去学习?

LFXP2-5E是FPGA,目前中国有几家代理商,有个威健公司代理这个产品,他们FAE支持挺好,目前我在用这个芯片LATTICE官方网站是www.LATTICESEMI.COM.CN我市杭州这边的,
2023-08-16 18:54:361

lattice ram ip怎么用

你可以把需要下载的IP核说出来,请别人帮你下载,这样直接用别人的账号,我觉得不会有多少人愿意借你用的。
2023-08-16 18:54:441

3dmax铁筐怎么做

3dmax金属框架的制作方法如下:1、首先打开3dmax,然后在右侧面板上找到create选项下的shape选项,在shape选项里找到arc命令 2、点击arc命令后,用鼠标左键在前视图绘制一段arc线形 3、选择这个线形,在modify里找到steps选项,调节其值为1 4、为这个线形添加extrude修改器 5、点击extrude修改器在其修改区域里修改参数6、修改参数后,在给其添加一个lattice修改器 7、点击lattice修改器,在其修改区域里找到Struts选项,调节Struts里的参数8、再次在lattice修改器的选择区域里找到joint选项,调节joint的参数9、参数调节完成后,进入到透视图里,可以看到我们的模型已经制作好了
2023-08-16 18:54:591

career lattice什么意思

履历表?
2023-08-16 18:55:212

Lattice Diamond1.42,verilog hdl警告求助

你把phasic_接到片外去了么?
2023-08-16 18:55:293

maya晶格与模型不平行

解决方法如下:看看对称坐标轴的点是否已经到了零点,选中坐标轴零点的所有点压缩到零,然后吸附到坐标零点,这是最简便的方法。可能是因为模型段数或者分段数不够。maya中使用晶格变形调整模型点多的模型:打开Maya软件,新建一个四方体,调整分段,分段稍微高些,将工作面板切换为modeling,选中模型,添加lattice效果器,调节lattice的分段,在生成的晶格上右键,选择进入编辑点模式,选中lattice点,使用移动、旋转或缩放进行编辑,在模型状态下,选中模型按alt+shift+D删除晶格变形器。
2023-08-16 18:55:521

lattice parameter是什么意思

lattice parameter 点阵常数; 点阵参数; 晶格常数XRD results show that the prepared particles are of a large lattice parameter, which indicates that the particles are very small.XRD结果表明,所制得的颗粒具有较大的晶格参数,说明颗粒较小;
2023-08-16 18:56:261

3dmax晶格的英语单词怎么写

lattice
2023-08-16 18:56:533

刚开始学习LAMMPS,求助关于lattice的设置

用lattice里面的customlattice custom 2 a1 10.332/2(算出来) 0.0 0.0 a2 0.0 6.010/2 0.0a3 0.0 0.0 4.692/2 basis 0.0 0.0 0.0 basis 0.2825 0.250 0.9751basis 0.0953(3) 0.250 0.4168basis 0.0995 0.250 0.7489 basis 0.4564 0.250 0.2037 basis 0.1642 0.04535 0.2857后面这些basis分别是fe li p o o o的位置在creat_atom里面加上大概是这样
2023-08-16 18:57:061

lattice fringe是什么意思

lattice fringe晶格条纹更多释义>>[网络短语]lattice fringe 晶格条纹lattice fringe image 晶格条纹图象
2023-08-16 18:57:161

lattice公司的FPGA的LVDS模块怎样开发

当你将引脚电气特性设定为LVDS时,软件就知道那是一对差分信号,而差分信号都是特定管教成对出现的,因此,只需要对 P 端进行管脚约束即可,系统会自动将 N 端进行匹配。
2023-08-16 18:57:231

如何计算 lattice mismatch

(A(薄膜)-A(衬底))/A(衬底)*100%A=a,b,c如有疑问,请追问~希望可以帮到你~ O(∩_∩)O谢谢~
2023-08-16 18:57:311

空间格子之间的某些相互关系

(1)表7.1中14种布拉维格子的名称和符号是按格子本身的对称性和带心型式命名的,并为国际结晶学联合会所采用。关于布拉维格子对称性的划分,首先是根据晶体对X射线(或其他高能辐射)的衍射效应,区分为7种格子点群,然后进而归属为6个晶属(crystal family)。晶属与晶系的根本差异在于,晶系的划分不是以格子点群为基础,而是以结晶多面体的32种点群为基础的。所以,与六方和三方两个晶系相对应的只有一个六方晶属,而其余5个晶系与5个晶属间则完全一一对应。因此在表7.1所列出的14种布拉维格子中唯独没有“三方”的格子名称。但如果按晶类—晶系的体系来划分时,则可称“六方原始格子”为“六方或三方原始格子”;并对仅仅存在于三方晶系晶体中的“(六方)菱面体格子”正名为“三方菱面体格子”,或按一般那样简称为“菱面体格子(rhombohedral lattice)”,以专用符号“R”表示,但仍属原始格子。图7.6 14种布拉维格子图中各格子的序号与表7.1中的对应一致(据Phillips,1971;个别有修改)(2)具6/mmm格子点群的布拉维格子仅有六方原始格子一种,其单位平行六面体是一个底面呈菱形的棱柱体,底面上a、b两根交棱间的夹角γ为120°(见图7.4之5)。虽然在孤立的一个单位平行六面体中看不出有六次轴存在,但若把三个单位平行六面体拼在一起,其底面便合成正六边形而显示出6/mmm的对称了。然而,这样拼成的六方柱体已不再是一个平行六面体,而是其底面为正六边形的一个平行八面体(图7.7A)。作为单位平行六面体的仍然还是上述菱形底面内角为120°之菱方柱形的平行六面体。图7.7 关于“六方底心格子”之底面的图解(3)由表7.1可知,在菱形底面中心出现附加结点的六方底心格子是与六方格子的6/mmm对称不相容的(图7.7B,实际上此时该格子已蜕变成正交原始格子了)。但在早年曾广泛使用过所谓的“底心六方格子(base-centered hexagonal lattice)”或“六方底心格子”的术语和符号“C”,实际上它是相对于前述的呈六方柱状之平行八面体“格子”来说的。不过国际结晶学联合会早在20世纪中就已将其改称为“六方带心格子(hexagonally centered lattice)”,符号“H”;而在布拉维格子中只使用由单位平行六面体所构成的格子,对其中唯一具6/mmm格子点群的六方格子应称为“六方原始格子(hexagonally primitive lattice)”。符号为“hP”,属于P格子。图7.8 由菱面体格子改划成六方双重体心格子(浅灰区)之图示(4)在实际工作中常因有特定的需要而选用不同的空间格子型式,亦即进行坐标系的变换。图7.8是常见的由菱面体格子改划为菱方柱形之六方格子的图示。它对应于三方晶系晶体由三轴的米勒定向转换为布拉维四轴定向的坐标系。但此时所得出的六方格子在其长体对角线上、坐标为 处各有一个附加结点,是一个非单位平行六面体的六方双重体心格子,共含三个结点,相应地其体积则为菱面体格子的三倍,因而也称其为三重六方格子(triple hexagonal lattice)。(5)在有些场合下,也会需要采用优先考虑体积最小原则,据此选出的格子,通常称之为初基格子(primary lattice,亦称素格子),由其三条棱所决定的矢量称为基矢(basis vectors)。显然,初基格子都只含有一个结点。图7.9A和B分别是由立方面心和立方体心格子转换成棱间交角为60°和109°28"16″(立方体两条体对角线之交角)之菱面体形初基格子的图示,该二菱面体格子的体积分别为两个立方体格子体积的1/4和1/2。图7.9 由立方带心格子(浅灰色立方体)转换为菱面体形初基格子及其基矢之图示(6)任一给定的空间点阵当被划分成不同形式的空间格子时,其各种平行六面体间的体积之比必等于每个对应格子所含的结点数之比。同时,不论如何划分,在其所有结果中只能有一种是符合选择原则的布拉维空间格子(不包括等价的格子)。
2023-08-16 18:57:551

布拉菲点阵中代表的英文单词是什么,比如简单P,底心C,体心I,等这些字母全称是什么单词?

P is primitive lattice;C is end-centered lattice;I is body-centered lattice;F is face-centered lattice;
2023-08-16 18:58:051

lattice diamond 下载

这款软件可以从官方网站上就可以下载了,网站上有安装提示说明,你可以按照提示说明做就好了。安装完后你要索取一个license,在该网站注册一个账号,依据提示输入你的MAC地址(也就是电脑的物理地址),成功后,license就会发到你的邮箱,软件开启后调入license就ok了:下载的网址:http://www.latticesemi.com/Products/DesignSoftwareAndIP/FPGAandLDS/LatticeDiamond.aspx软件开启在开始菜单下==》程序里面查找。
2023-08-16 18:58:121

请问lattice diamond新建工程后,新建不了文件,怎么解决呀

首先是你的安装过程每一步要确保正确,还有新建的文件名不能有中文出现,还要一点容易忘了的是,文件保存路径也不能有一个中文字出现。
2023-08-16 18:58:191

关于Active-HDL的疑问 谢谢 使用的是lattice绑定的Active-HDL

没有license啊,你重新向lattice申请一个license文件,版本不一样license不一样的。
2023-08-16 18:58:411

开源FPGA怎么玩?能不能支持Risc V!

开源硬件领域MCU板卡很火,著名的Arduino、树莓派(Raspberry Pi)、Micro:bit,开源的MCU也是个热门的话题,除了老牌的8051、OpenRisc等,这两年的明星就是 Risc V 了,在中国集成电路大跃进的加持下,它几乎成了中国处理器追赶世界的一剂春药。 两天前穷途末路的MIPS也宣布要开源了。 开源要成功,最重要的是要形成一个良性的生态,这个生态中缺少一个环节,无论吵吵的多热闹,最后还是会散场。 很多人在问, FPGA 领域有没有开源的平台呢?在以前还真的难找见,本来FPGA的器件厂商就凤毛麟角了(本身也说明了一定的问题),支持FPGA开发的工具更是难以靠民间的力量搞定了,从商业角度貌似没有足够的吸引力让一些大的玩家去投入足够的资源来构建这么一个生态。 但在民间,仍不乏一些痴迷的技术高手,他们以玩转技术、让不可能变成可能作为人生最大的乐趣,他们利用仅有的一个后门通道 - Lattice的iCE40系列,热烈地玩着,不问前途,虽然小众,但也收获了越来越多的喝彩。 他们是小脚丫FPGA的榜样,也许我们没有足够的力量像他们一样在技术上 探索 如此之深,但我们的使命是让FPGA更加接地气、亲民,通过自己的努力构建尽可能完整的学习生态系统,让每个学习数字逻辑的学生都能掌握FPGA的使用。 在FPGA领域,Lattice的iCE40系列是硬件开源领域最受欢迎的一款,在海外的骇客(Hacker,水平远高于我们碰到的Maker)工程师中知名度极高,无论是基于这个系列的板卡还是开发工具都有众多的玩家,尤其是Lattice最近新推出的iCE40UP5K - 非常低的价格(估计批量的单片售价低于10元RMB)、虽然有限的逻辑资源但能够支持Sensor AI的功能,乃至支持现在如日中天的开源处理器Risc V软核,无疑iCE40UP5K将成为开源FPGA届的新星。 借Crowsupply上的一个众筹产品来简单看看FPGA在开源方面的一些 探索 ,也让一些学习fpga的朋友更直观地体会一下究竟怎样玩FPGA才能学到真的技能,对这个板子有兴趣的朋友可以点击左下角“阅读原文”到达相应的页面上去详细阅读: iCEBreaker FPGA板专为FPGA的初学者量身定制的,它支持最新的开源FPGA 开发工具以及下一代的开源CPU架构。iCEBreaker很轻松地跟各种Pmod外设进行连接,可以有大量得第三方Pmod模块可以选用,本板卡的设计者也专门制作了一系列的Pmod专用模块。iCEBreaker的照片 性能指标 核心器件使用Lattice iCE40UP5k FPGA 5280逻辑单元 (4-LUT + Carry + FF),跟我们Lattice版本的小脚丫FPGA资源相当,比Altera版本的逻辑资源少; 120 Kbit双口RAM 1 Mbit (128 KByte)单口RAM,这个存储量超过了我们小脚丫用的FPGA的内部存储器容量,这是它能支持CNN的原因; PLL, 2 x SPI, 2 x I2C硬化的IPs 两个内部振荡器 (10 kHz and 48 MHz) 大大简化设计 8个DSP乘法器块用于信号处理,比如语音合成以及软件定义无线电; 非常低的功耗,用于电池供电得场合 3个24 mA驱动和 3 x hard IP PWM (可以直接驱动RGB LED灯和小电流的马达) 足够多、足够快的存储器 128 Mbit (16 MB) quad SPI double data rate (QSPI-DDR) flash 例如: 可以向LED点阵传送视频流 很多的I/O(其实UP5K FPGA的管脚很少,但也够用了) 3个管脚用于RGB LED 2个用于板上的LEDs 一个UART端口, RX管脚和TX管脚可以通过虚拟USB串口进行访问 一个按键 两个Pmod 连接器 (总计16x管脚) 有一个可以掰下来的Pmod (8 x pins) 5个星型排列的LED灯 3个按键 足够的资源支持CPU软核! picorv32 pico soc RISC-V以及其它软核 板上FPGA编程器以及USB到串行适配器 兼容IceStorm iceprog工具 简单, 同主机连接无需驱动 Pmod连接器和Pmod模块 这个板子有3种标准的Pmod连接器,可以做非常丰富的扩展 - 可以用市场上众多的现成的Pmod模块,也可以自己设计专用的Pmod模块,比如他们自己开发得7段数码管Pmod、DIP开关Pmod、LED屏驱动Pmod和一个HDMI输出Pmod.各种Pmod模块开源的工具链 iCEBreaker FPGA原型板支持一下的开源设计工具: Yosys: 用于Verilog RTL综合的框架; Arachne-pnr: 针对iCE40 FPGA的布局布线工具 nextpnr: 时序驱动的FPGA布局布线工具; IceStorm: 针对iCE40 FPGA进行分析和创建bitstreams的工具; icestudio: 基于IceStorm的可视化编辑器 Migen: 基于Python的FPGA硬件设计工具包ICEStudio的界面Nextpnr的界面 iCEBreaker板子的框图:下面几张图是这个FPGA的制作者去年参加我们母公司SupplyFrame在Pasadena举办的Hackaday SuperCon的状况;数码管显示Pmod和8位开关PmodHDMI输出Pmod这个板子上用到的iCE40UP5k FPGA速度足够快,能够输出720p的视频!通过上图中的HDMI Pmod模块(支持12 bits/pixel)可以输出800 x 600分辨率的测试图案以及一个720p的图案。 LED屏幕驱动Pmod大的视频广告板,采用很多小型的RGB LED灯组成,可以驱动产生动画效果和视频。驱动大的LED屏幕的Pmod下面的表格是国外一些成型的开源FPGA平台的简单对比,从这个表格中可以看出,所有的FPGA器件都是来自Lattice的iCE40系列。
2023-08-16 18:58:491

用MATLAB运行程序时,结果显示未对输出参数 "feature"(可能还包括其他参数)赋值。

feature_lattice函数里的返回参数feature没有赋值
2023-08-16 18:59:112

栅格金字塔

栅格数据源包括数字高程模型(DEM)和遥感影像数据2 部分。遥感影像数据原始数据为ETM+、SPOT4、SPOT5,全省范围是利用ETM多光谱和SPOT4全色光融合而成,示范区影像则是利用SPOT5影像自融合而成,遥感影像通过配准、镶嵌、拉伸、融合、投影、格式转换等操作(李长江等,2004),最终形成GeoTIFF格式的数据。数字高程模型是利用ArcInfo软件的桌面版或工作站版生成的,建立数字高程模型的数据源为等高线、高程点、水系、交通、标准图框等文件,但将全区的数据一起处理生成DEM的数据量太大,在统一投影坐标系(高斯-克吕格投影,投影中央经线为120.5 °)的前提下,先将所处理的图幅与周围8幅图的等高线、高程点及水系、交通图层进行接边处理,最终生成1:10万标准图幅的DEM。数字高程模型和遥感影像数据采用层次细节LOD(Level of Detail,LOD)模型进行分块、分层、融合,针对于不同精度地形和影像栅格数据,利用其相互“叠覆”关系来处理,并真正实现海量栅格数据无缝接边处理,且数据的交接处能自动提取覆盖层(不同精度的DEM)数据,极大地提高了海量数据存取质量和速度。具体的栅格金字塔建塔流程如图4-5所示。(1)矢量数据的整理用来构建DEM的矢量数据包括高程点、等高线、水系、交通4个图层,为保证数据的准确性、完整性,要进行包括格式、投影、高程属性、图幅接边等几个方面的质量检查,以使其在数据范围、精度方面满足构建三角网(TIN)的要求。数据整理时,首先要检查矢量数据的数据格式是否均为Arc/Info格式,投影是否统一(高斯-克吕格投影平面坐标,中央经线为120.5°,坐标单位为m),通过构建粗略的DEM在三维场景进行检查修正其高程值是否正确,在此基础上,将所要生成DEM的图幅与周边8幅分层进行接边检查,确保跨图幅图元的一致性。(2)扩边裁剪为防止标准图幅外缘因无高程信息生成三角网与邻幅的三角网出现“裂缝”,要将某图幅内的数据与该图幅标准图框扩边1/3范围内的数据一起处理。扩边处理时,先把某幅的标准图框扩边1/3并作为裁剪框,在该幅与相邻8幅图的高程点、等高线、水系、交通4个图层分别用裁剪框进行拓扑裁剪,形成的4个图层的数据作为构TIN的数据源,以保证整个区域内TIN的完整性。图4-5 栅格金字塔建设流程图(3)一次构TIN三角网(TIN)是基于三角形对数字高程模型表面建模的一种方法,它是按一定的规则将离散点连接成覆盖整个区域且互不重叠、结构最佳的三角形,每个三角形代表了地表上一块等倾斜的平面。可利用ARCSCENE的3D分析工具Createtin命令进行一次构TIN,其中将高程点作为MASS,等高线作为HARDLINE,并分别选择相应的高程属性字段。第一次构TIN的同时,要检查并消除隐藏的高程差,不仅对同一条等高线上采样间距过大的高程点列进行内插加密处理,避免出现三角形跨越等高线,而且对山头或凹地无高程点的闭合等高线,狭长而坡缓的谷底等处,内插特征点或特征线,避免出现不合理的“平三角形”。(4)二次构TIN利用Modify TIN命令进行二次构TIN,先打开上一步建好的TIN,并添加交通、线状水系、面状水系3个图层,交通、线状水系作为 HARDLINE,面状水系作为 HARD REPLACE。(5)生成DEMDEM格网是基于正方形格网对DEM表面建模的一种方法,它是利用一系列在X、Y方向上都按等间隔排列的地形点的高程值Z表示地形。可采用Tintolattice命令将TIN转为DEM格网,生成过程中对DEM格网间距进行设置,以确保DEM精度。(6)裁剪DEM上述的DEM是在扩边基础上生成的,因此必须以标准图框内框为裁剪框进行拓扑裁剪,在Workstation版的Arc/Info下,可使用Latticeclip命令进行DEM裁剪形成标准分幅的DEM。(7)遥感影像数据的整理。遥感影像数据主要用于地形表面的纹理,增强真实感。不同精度的卫星遥感影像TM、ETM+、SPOT4、SPOT5等均需要进行必要配准校正,通过控制点配准到矢量数据的坐标系上,以保证遥感影像与地形数据的空间位置一致性。(8)图像融合TM与ETM+、SPOT4全色光与TM的图像融合的方法可采用常规的方法,对于示范区的SPOT5高精度遥感影像,首先要对10m分辨率的多光谱波段1(Red)、2(Green)、3(Blue)进行RGB波段彩色合成,合成时采用2(Green)作为蓝波段,(1+2+3)/3作为绿波段,1(Red)为红波段。再在ERDAS软件中将合成后的图像与SPOT5全色光进行自融合,其中低分辨率为前述的多光谱红、绿、蓝波合成图像,高辨率图像为经校正的SPOT5的2.5m分辨率全色波段。融合方法可采用乘积法或主成分分析法等,使影像更加接近真彩色。(9)生成金字塔文件利用自行开发的Build3 d1.0建塔工具,将不同精度DEM格网和不同精度的遥感影像数据加入。一般将精度低的DEM放在最底层(图版Ⅳ-1),精度高的DEM放在上层,再添加遥感影像或农业地质专题图数据,并根据数据的精度设置相应每层的网格间距、单块行列数、压缩方式及金字塔层数,即可形成PRD格式的金字塔数据文件。
2023-08-16 18:59:181

格纹 - 英文怎么翻译 要最标准的翻译,不要百度翻译的,英语好的来。

棋盘的格格纹一般用check衣物的一般用tartan,plaid。虽然plaid这个词是格子呢,毛呢的意思,苏格兰这里的经典服饰格子长披肩就是用plaid,但格子衬衫也有用plaidshirt来说。另外还有fretted,latticed/latticelike,reticulated来形容网格状嗯就想到这些希望有用。
2023-08-16 18:59:281

keil 中结构体和指针的问题……

c语言支持默认形参吗。
2023-08-16 18:59:483

跳格子的英文,

回答和翻译如下:跳格子。Skip lattice.
2023-08-16 18:59:561

请问fpga是什么?

FPGA,现场可编辑逻辑阵列,一般都是sram结构,主要厂商ALTERA,XILINX
2023-08-16 19:00:052

什么是简谐近似

简谐运动(Simple harmonic motion)(SHM)随时间按余弦(或正弦)规律的振动,或运动。又称简谐振动。简谐运动是最基本也最简单的机械振动。当某物体进行简谐运动时,物体所受的力跟位移成正比,并且总是指向平衡位置。它是一种由自身系统性质决定的周期性运动。(如单摆运动和弹簧振子运动)实际上简谐振动就是正弦振动。故此在无线电学中简谐信号实际上就是正弦信号。如果质点的位移与时间的关系遵从正弦函数的规律,即它的振动图像(x-t图像)是一条正弦曲线,这样的振动叫做简谐运动。
2023-08-16 19:00:173

2006年全国电子设计大赛什么时间举行

///////
2023-08-16 19:00:274

晶体由重复的单元组成,可以用晶格来表示它的原子排布。晶格应变是指晶格与晶格之间产生相对位移(注意是相对,而不是说整个晶体,指的是内部)。如果还不大清楚,可以查阅《固体物体教程》。
2023-08-16 19:00:461

LBM的发展

LatticeBoltzmann(LB)方法是20世纪80年代中期建立和发展起来的一种流场模拟方法,它继承了格子气自动机(LatticeGasAutomaton,LGA)的主要原理并对LGA作了改进。LB方法的建立具有许多开创性的思想,特别是从模拟流体运动的连续介质模型向离散模型的一种转变。从16世纪以来,Newton、Poisson、Stokes、Euler和Navier等物理学家将流体视为不间断的整体,用微积分方法计算流体运动的参数,尽管采用了不同的研究对象和研究体系(Lagrange法和Euler法),但他们所建立的流体运动平衡都是基于共同的连续介质模型之上的。随着科学技术的发展和人们认知能力的不断提高,经典力学在某些方面的不足也逐渐明显,比如它不能解释类似波动性与粒子性、决定性与随机性等原本互斥理论之间的联系。而Boltzmaxm决定跳出经典力学的框架,另辟蹊径,从不同的角度建立起宏观与微观、连续与离散之间的联系,从而开创了概率统计力学。他认为,虽然单个粒子的运动没有规律可循,但若干个粒子的无规则运动却会影响流体运动的宏观参数,因此通过对大量离散粒子的统计分析就可得出流体运动的宏观征。随着20世纪40年代电子计算机技术的诞生和日新月异的发展,当人们难以从理论上求解流体力学问题时,有限单元法(FEM)和有限差分法(FDM)等离散化的数学模型却成功地帮助人们解决了大量的实际工程问题,这说明流体的连续和离散具有辨证统一的关系。FEM和FDM等方法仍然是基于流体连续这一假设基础之上的,在取得硕果累累的同时它们存在的不足也困扰人们。因此,当传统的计算方法不能克服其本身的缺陷时,人们就有必要开拓新的思路,发现更符合客观世界规律的新途径去认识大自然并与之和谐相处。基于此, LatticeBoltzmann方法直接从离散模型出发,应用物质世界最根本的质量守恒、动量守恒和能量守恒规律,在分子运动论和统计力学的基础上构架起宏观与微观、连续与离散之间的桥梁,从一种全新的角度诊释流体运动的本质问题。LBM突破了传统计算方法的理论框架,它的完善和应用反映了科学研究的一个基本道理,即守恒是物质世界最根本的规律,指导着物质世界的运动和发展,表面对立的双方存在着一定的内部联系,可以通过某种方式达到辨证的统一。
2023-08-16 19:01:261

晶体学中的一些专业名词怎么翻译?请各位专家能给予帮助,先多谢大家了!

2.晶格失配率4.过度冷却特征、特点就会这两个了
2023-08-16 19:02:202

3dmax拾取样条线快捷键是啥,3ds max拾取样条线的快捷键是什么呢?

3dmax拾取样条线快捷键是啥,3ds max拾取样条线的快捷键是什么呢?掌握max的快捷键是开始学习max的最基础的知识,掌握了快捷键工作效率会大大的提高,下面就来解决你的问题,并且附带max最常用的快捷键。建议保存起来。 3dmax拾取样条线快捷键: 3damx中没有拾取样条线的快捷键,你可以详细描述一下你的问题然后在追问我。 3dmax常用快捷键大全: 显示降级适配(开关) 【O】 适应透视图格点 【Shift】+【Ctrl】+【A】 排列 【Alt】+【A】 角度捕捉(开关) 【A】 动画模式 (开关) 【N】 改变到后视图 【K】 背景锁定(开关) 【Alt】+【Ctrl】+【B】 前一时间单位 【.】 下一时间单位 【,】 改变到上(Top)视图 【T】 改变到底(Bottom)视图 【B】 改变到相机(Camera)视图 【C】 改变到前(Front)视图 【F】 改变到等大的用户(User)视图 【U】 改变到右(Right)视图 【R】 改变到透视(Perspective)图 【P】 循环改变选择方式 【Ctrl】+【F】 默认灯光(开关) 【Ctrl】+【L】 删除物体 【DEL】 当前视图暂时失效 【D】 是否显示几何体内框(开关) 【Ctrl】+【E】 显示第一个工具条 【Alt】+【1】 专家模式全屏(开关) 【Ctrl】+【X】 暂存(Hold)场景 【Alt】+【Ctrl】+【H】 取回(Fetch)场景 【Alt】+【Ctrl】+【F】 冻结所选物体 【6】 跳到最后一帧 【END】 跳到第一帧 【HOME】 显示/隐藏相机(Cameras) 【Shift】+【C】 显示/隐藏几何体(Geometry) 【Shift】+【O】 显示/隐藏网格(Grids) 【G】 显示/隐藏帮助(Helpers)物体 【Shift】+【H】 显示/隐藏光源(Lights) 【Shift】+【L】 显示/隐藏粒子系统(Particle Systems) 【Shift】+【P】 显示/隐藏空间扭曲(Space Warps)物体 【Shift】+【W】 锁定用户界面(开关) 【Alt】+【0】 匹配到相机(Camera)视图 【Ctrl】+【C】 材质(Material)编辑器 【M】 最大化当前视图 (开关) 【Alt】+【W】 脚本编辑器 【F11】 新的场景 【Ctrl】+【N】 法线(Normal)对齐 【Alt】+【N】 向下轻推网格 小键盘【-】 向上轻推网格 小键盘【+】 NURBS表面显示方式 【Alt】+【L】或【Ctrl】+【4】 NURBS调整方格1 【Ctrl】+【1】 NURBS调整方格2 【Ctrl】+【2】 NURBS调整方格3 【Ctrl】+【3】 偏移捕捉 【Alt】+【Ctrl】+【空格】 打开一个MAX文件 【Ctrl】+【O】 平移视图 【Ctrl】+【P】 交互式平移视图 【I】 放置高光(Highlight) 【Ctrl】+【H】 播放/停止动画 【/】 快速(Quick)渲染 【Shift】+【Q】 回到上一场景*作 【Ctrl】+【A】 回到上一视图*作 【Shift】+【A】 撤消场景*作 【Ctrl】+【Z】 撤消视图*作 【Shift】+【Z】 刷新所有视图 【1】 用前一次的参数进行渲染 【Shift】+【E】或【F9】 渲染配置 【Shift】+【R】或【F10】 在xy/yz/zx锁定中循环改变 【F8】 约束到X轴 【F5】 约束到Y轴 【F6】 约束到Z轴 【F7】 旋转(Rotate)视图模式 【Ctrl】+【R】或【V】 保存(Save)文件 【Ctrl】+【S】 透明显示所选物体(开关) 【Alt】+【X】 选择父物体 【PageUp】 选择子物体 【PageDown】 根据名称选择物体 【H】 选择锁定(开关) 【空格】 减淡所选物体的面(开关) 【F2】 显示所有视图网格(Grids)(开关) 【Shift】+【G】 显示/隐藏命令面板 【3】 显示/隐藏浮动工具条 【4】 显示最后一次渲染的图画 【Ctrl】+【I】 显示/隐藏主要工具栏 【Alt】+【6】 显示/隐藏安全框 【Shift】+【F】 *显示/隐藏所选物体的支架 【J】 显示/隐藏工具条 【Y】/【2】 百分比(Percent)捕捉(开关) 【Shift】+【Ctrl】+【P】 打开/关闭捕捉(Snap) 【S】 循环通过捕捉点 【Alt】+【空格】 声音(开关) 【】 间隔放置物体 【Shift】+【I】 改变到光线视图 【Shift】+【4】 循环改变子物体层级 【Ins】 子物体选择(开关) 【Ctrl】+【B】 帖图材质(Texture)修正 【Ctrl】+【T】 加大动态坐标 【+】 减小动态坐标 【-】 激活动态坐标(开关) 【X】 精确输入转变量 【F12】 全部解冻 【7】 根据名字显示隐藏的物体 【5】 刷新背景图像(Background) 【Alt】+【Shift】+【Ctrl】+【B】 显示几何体外框(开关) 【F4】 视图背景(Background) 【Alt】+【B】 用方框(Box)快显几何体(开关) 【Shift】+【B】 打开虚拟现实 数字键盘【1】 虚拟视图向下移动 数字键盘【2】 虚拟视图向左移动 数字键盘【4】 虚拟视图向右移动 数字键盘【6】 虚拟视图向中移动 数字键盘【8】 虚拟视图放大 数字键盘【7】 虚拟视图缩小 数字键盘【9】 实色显示场景中的几何体(开关) 【F3】 全部视图显示所有物体 【Shift】+【Ctrl】+【Z】 *视窗缩放到选择物体范围(Extents) 【E】 缩放范围 【Alt】+【Ctrl】+【Z】 视窗放大两倍 【Shift】+数字键盘【+】 放大镜工具 【Z】 视窗缩小两倍 【Shift】+数字键盘【-】 根据框选进行放大 【Ctrl】+【w】 视窗交互式放大 【[】 视窗交互式缩小 【]】 弧形旋转【Alt+鼠标中键】 编辑本段轨迹视图 加入(Add)关键帧 【A】 前一时间单位 【<】 下一时间单位 【>】 编辑(Edit)关键帧模式 【E】 编辑区域模式 【F3】 编辑时间模式 【F2】 展开对象(Object)切换 【O】 展开轨迹(Track)切换 【T】 函数(Function)曲线模式 【F5】或【F】 锁定所选物体 【空格】 向上移动高亮显示 【↓】 向下移动高亮显示 【↑】 向左轻移关键帧 【←】 向右轻移关键帧 【→】 位置区域模式 【F4】 回到上一场景*作 【Ctrl】+【A】 撤消场景*作 【Ctrl】+【Z】 用前一次的配置进行渲染 【F9】 渲染配置 【F10】 向下收拢 【Ctrl】+【↓】 向上收拢 【Ctrl】+【↑】 材质编辑器 用前一次的配置进行渲染 【F9】 渲染配置 【F10】 撤消场景*作 【Ctrl】+【Z】 示意(Schematic)视图 下一时间单位 【>】 前一时间单位 【<】 回到上一场景*作 【Ctrl】+【A】 撤消场景*作 【Ctrl】+【Z】 Active Shade 绘制(Draw)区域 【D】 渲染(Render) 【R】 锁定工具栏(泊坞窗) 【空格】 视频编辑 加入过滤器(Filter)项目 【Ctrl】+【F】 加入输入(Input)项目 【Ctrl】+【I】 加入图层(Layer)项目 【Ctrl】+【L】 加入输出(Output)项目 【Ctrl】+【O】 加入(Add)新的项目 【Ctrl】+【A】 加入场景(Scene)事件 【Ctrl】+【s】 编辑(Edit)当前事件 【Ctrl】+【E】 执行(Run)序列 【Ctrl】+【R】 新(New)的序列 【Ctrl】+【N】 撤消场景*作 【Ctrl】+【Z】 NURBS编辑 CV 约束法线(Normal)移动 【Alt】+【N】 CV 约束到U向移动 【Alt】+【U】 CV 约束到V向移动 【Alt】+【V】 显示曲线(Curves) 【Shift】+【Ctrl】+【C】 显示控制点(Dependents) 【Ctrl】+【D】 显示格子(Lattices) 【Ctrl】+【L】 NURBS面显示方式切换 【Alt】+【L】 显示表面(Surfaces) 【Shift】+【Ctrl】+【s】 显示工具箱(Toolbox) 【Ctrl】+【T】 显示表面整齐(Trims) 【Shift】+【Ctrl】+【T】 根据名字选择本物体的子层级 【Ctrl】+【H】 锁定2D 所选物体 【空格】 选择U向的下一点 【Ctrl】+【→】 选择V向的下一点 【Ctrl】+【↑】 选择U向的前一点 【Ctrl】+【←】 选择V向的前一点 【Ctrl】+【↓】 根据名字选择子物体 【H】 柔软所选物体 【Ctrl】+【s】 转换到Curve CV 层级 【Alt】+【Shift】+【Z】 转换到Curve 层级 【Alt】+【Shift】+【C】 转换到Imports 层级 【Alt】+【Shift】+【I】 转换到Point 层级 【Alt】+【Shift】+【P】 转换到Surface CV 层级 【Alt】+【Shift】+【V】 转换到Surface 层级 【Alt】+【Shift】+【S】 转换到上一层级 【Alt】+【Shift】+【T】 转换降级 【Ctrl】+【X】 FFD 转换到控制点(Control Point)层级 【Alt】+【Shift】+【C】 到格点(Lattice)层级 【Alt】+【Shift】+【L】 到设置体积(Volume)层级 【Alt】+【Shift】+【S】 转换到上层级 【Alt】+【Shift】+【T】 打开的UVW贴图 进入编辑(Edit)UVW模式 【Ctrl】+【E】 调用*.uvw文件 【Alt】+【Shift】+【Ctrl】+【L】 保存UVW为*.uvw格式的文件 【Alt】+【Shift】+【Ctrl】+【S】 打断(Break)选择点 【Ctrl】+【B】 分离(Detach)边界点 【Ctrl】+【D】 过滤选择面 【Ctrl】+【空格】 水平翻转 【Alt】+【Shift】+【Ctrl】+【B】 垂直(Vertical)翻转 【Alt】+【Shift】+【Ctrl】+【V】 冻结(Freeze)所选材质点 【Ctrl】+【F】 隐藏(Hide)所选材质点 【Ctrl】+【H】 全部解冻(unFreeze) 【Alt】+【F】 全部取消隐藏(unHide) 【Alt】+【H】 从堆栈中获取面选集 【Alt】+【Shift】+【Ctrl】+【F】 从面获取选集 【Alt】+【Shift】+【Ctrl】+【V】 锁定所选顶点 【空格】 水平镜象 【Alt】+【Shift】+【Ctrl】+【N】 垂直镜象 【Alt】+【Shift】+【Ctrl】+【M】 水平移动 【Alt】+【Shift】+【Ctrl】+【J】 垂直移动 【Alt】+【Shift】+【Ctrl】+【K】 平移视图 【Ctrl】+【P】 象素捕捉 【S】 平面贴图面/重设UVW 【Alt】+【Shift】+【Ctrl】+【R】 水平缩放 【Alt】+【Shift】+【Ctrl】+【I】 垂直缩放 【Alt】+【Shift】+【Ctrl】+【O】 移动材质点 【Q】 旋转材质点 【W】 等比例缩放材质点 【E】 焊接(Weld)所选的材质点 【Alt】+【Ctrl】+【W】 焊接(Weld)到目标材质点 【Ctrl】+【W】 Unwrap的选项(Options) 【Ctrl】+【O】 更新贴图(Map) 【Alt】+【Shift】+【Ctrl】+【M】 将Unwrap视图扩展到全部显示 【Alt】+【Ctrl】+【Z】 框选放大Unwrap视图 【Ctrl】+【Z】 将Unwrap视图扩展到所选材质点的大小 【Alt】+【Shift】+【Ctrl】+【Z】 缩放到Gizmo大小 【Shift】+【空格】 缩放(Zoom)工具 【Z】 反应堆(Reactor) 建立(Create)反应(Reaction) 【Alt】+【Ctrl】+【C】 删除(Delete)反应(Reaction) 【Alt】+【Ctrl】+【D】 编辑状态(State)切换 【Alt】+【Ctrl】+【s】 设置最大影响(Influence) 【Ctrl】+【I】 设置最小影响(Influence) 【Alt】+【I】 设置影响值(Value) 【Alt】+【Ctrl】+【V】 ActiveShade (Scanline) 初始化 【P】 更新 【U】 宏编辑器 累积计数器 【Q】 【Alt】+【Q】 孤立当前选择
2023-08-16 19:02:281

为什么materialsstudio一个晶胞里面有两个

Primitive Cell)和惯用胞(Conventional Cell,也叫晶胞)的理解不够清晰,所以特意开设了一次教程,为大家解释一些这方面的内容,那个,SCI还有Special Issue,所以我开一次特别讲座大家可不要有意见哦,内容同样精彩。当然,也欢迎小伙伴们在留言区积极提出问题,小MS一定会知无不言言无不尽,为大家一一解答。好的,言归正传,就开始我们今天的内容吧。原胞是指可以满足周期性(也就是扩大几倍之后会变成惯用胞),而惯用胞中包含所有的对称要素,例如对于金刚石结构,只需要用一个含有两个原子的原胞就可以表示其周期性结构,而需要8个原子的惯用胞(晶胞)才能够描述全部的对称要素。FCC结构晶体的原胞和惯用胞(图片源于知乎专栏,另有其他结构晶体的原胞和惯用胞的详细解释:https://zhuanlan.zhihu.com/p/24000986?from_voters_page=true另外,我们也在MS中利用金刚石结构对原胞和惯用胞进行了标示,如下图所示。金刚石原胞和惯用胞(原胞为黄色原子围成的区域,惯用胞是所有原子组成的晶体)这个图片是从MS里复制出来的?是的,的确是,虽然您可能怀疑,因为可能您输出的图片是这样的:可能是在您电脑上显示的金刚石晶体如果您可以做到这一步,已经非常不错了,因为您已经学会了利用Display Style选项改变结构的显示方式,说明上次课程学习的非常认真,小MS给您点个赞哦。那么怎么改变背景颜色呢?上次我们说到右键之后有一个Display Style的选项,那么在它下面会有一个Display Option的选项,里面的Background选项卡就可以改变背景的颜色了,还有其他的选项卡大家可以先探索一下,看看有什么有趣的功能,可以在后台和小MS交流,等我们需要的时候再对这些内容进行讲解。改变背景颜色可是把背景色改成了白色晶格又不见了?别着急,这是因为晶格的颜色原本就是白色,所以好像看不出来了,只要用Display Style选项中的Lattice选项卡,就可以对晶格的显示方式(无、虚线、线条、棒状)和颜色进行修改。如果想要对晶格进行旋转,只要按住鼠标右键,在空白地方拖拽就可以调整到合适的角度进行显示,当然键盘的上下左右键可以进行每次45°的旋转,我们的晶体可以45°仰望天空,很美吧。但是天空看久了也会改变晶格显示方式颜色改变我知道就是在Display Style中的Atom选项卡(改变部分原子颜色要选中它们,可以按住Ctrl键,逐个单击要选中的原子)可是还有化学键呢?那些化学键是怎么没的?这可以由以下方法实现:首先要选中所有的化学键,一个一个选中好累,只需要按住Alt键,再双击某个化学键就可以做到了。然后,就会在Properties区出现关于化学键的各种性质,其中有一个性质叫做IsVisible(是可见的吗?)把它改成No,您就会发现化学键神奇地消失了,实际上这些化学键还是存在的,只是不显示了而已。性质区实际上是一个很有用的区域,可以对很多对象的性质进行查看和修改,我们之后还会多次用到,要记得哦。
2023-08-16 19:02:351

程永光的科学研究

1、 Cheng Yongguang and Li Jinping. Introducing unsteady non-uniform source terms into the lattice Boltzmann model. International Journal for Numerical Methods in Fluids, 2008, 56: 629–641(SCI索引))2、 Yongguang CHENG, Jinping LI, JiandongYANG, Free surface-pressurized flow in ceiling-sloping tailrace tunnel of hydropower plant: Simulation by VOF model, Journal of Hydraulic Research (IAHR), Vol. 45, No. 1, (2007), pp. 88–99(SCI,EI索引)3、 Yongguang Cheng, Herbert Oertel Jr., and Torsten Schenkel, Fluid-structure coupled CFD simulation of the left ventricular flow during filling phase, Annals of Biomedical Engineering, 2005, 33(5): 567-576.(SCI、EI索引)4、 Yongguang Cheng, Herbert Oertel Jr., Lukas Zürcher and Torsten Schenkel, 3D CFD Simulation of Pulsatile Blood Flow in the Human Aorta, Chinese Journal of Biomedical Engineering-English Edition, 2003(4): 174-1835、 Cheng Yongguang, Suo Lisheng. Lattice Boltzmann Scheme to Simulate Two-Dimensional Fluid Transients. Journal of Hydrodynamics, Ser.B. 2003(2):19-23.(EI索引)6、 Cheng Yongguang, Suo Lisheng. New Boundary Treatment Methods for Lattice Boltzmann Method. Wuhan University Journal of Natural Sciences, 2003, Vol.8, No.1A:77-85.7、 程永光, 刘晓峰, 杨建东. 大型尾水调压室底部交汇型式 CFD 分析与优化. 水力发电学报, 2007,26, (5):68-748、 程永光, 杨建东, 用三维计算流体力学方法计算调压室阻抗系数, 水利学报. 2005 (7): 787-792. (EI索引)9、 程永光, 陈鉴治, 杨建东,水电站调压室涌浪最不利叠加时刻的研究. 水利学报. 2004(7):109-11310、程永光, 索丽生. 二维明渠非恒定流的格子Boltzmann模拟, 水科学进展. 2003(1): 9-14. (EI索引) <1> 国家自然科学基金(10872153): 基于格子玻尔兹曼法和浸没边界法的流固耦合算法及应用研究(2009/1-2011/12)<2> 国家自然科学基金(10572106):人类心脏流固耦合血流动力学数值模拟研究 (2006/01-2008/12)<3> 国家自然科学基金(50009007):基于格子玻尔兹曼方法的水电站高维流场数值模拟研究 (2001/01-2003/12)<4> 教育部留学回国人员科研启动基金(教外司留(2005)383号):流固耦合动力学模拟方法研究(2006/01-2007/12)<5> 国家重点实验室开放基金(水文水资源与水利工程科学)(2005408811):水库水温通用多维数值预测方法研究(2006/01-2007/12)<6> 赤道几内亚吉布洛水电站过渡过程计算分析(2008)<7> BDL水电站水力学与过渡过程计算研究(2008)<8> 两沱水电站水力过渡过程校核计算分析研究(2006-2007)<9> 越南ANKHE水电站引水系统水力过渡过程计算分析(2005-2006)<10> 官地水电站引水发电系统过渡过程模型试验及数值计算(2005-2006)
2023-08-16 19:02:431

如何使用 ggplot2

总结来说有以下几点:ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离ggplot2是按图层作图ggplot2保有命令式作图的调整函数,使其更具灵活性ggplot2将常见的统计变换融入到了绘图中。==================================================================1、ggplot2的逻辑。ggplot2的逻辑在我看来其实是真正实现了一个图层叠加的概念:一句语句代表一张图,然后再有最小的单元图层。这个与其他命令式的绘图完全不同,来做个比较:#这是基于graphic包里例子x <- rnorm(100,14,5)y <- x + rnorm(100,0,1)plot(x,y)text(13,20, expression(x[1] == x[2]))输出的图是这样的:我们可以看到这种绘图方式实际上是按命令添加的,以plot开始,可以以任何方式结束,每加上一个元素,实际上都是以一句单独的命令来实现的。这样做的缺点就是,其实不符合人对于画图的一般认识。其次,就是,我们没有一个停止绘图的标志,这使得有时候再处理的时候就会产生一些困惑。优势其实也有,在做参数修改的时候,我们往往可以很方便地直接用一句单独的命令修改,譬如对于x轴的调整,觉得不满意就可以写命令直接调整。而ggplot2则意味着要重新作图。再来看ggplot2的代码:x <- rnorm(100,14,5) y <- x + rnorm(100,0,1) ggplot(data= NULL, aes(x = x, y = y)) + #开始绘图 geom_point(color = "darkred") + #添加点 annotate("text",x =13 , y = 20,parse = T, label = "x[1] == x[2]") #添加注释画出的结果如下:我们可以发现,ggplot的绘图有以下几个特点:第一,有明确的起始(以ggplot函数开始)与终止(一句语句一幅图);其二,图层之间的叠加是靠“+”号实现的,越后面其图层越高。其次就是对于分组数据的处理,其实这方面,lattice已经做得很好了,不过我会在后面更仔细地叙述ggplot2是怎么看分组数据的绘图的。2. ggplot2的要素我们这里不谈qplot(quickly plotting)方法,单纯谈ggplot方法。不谈底层的实现思想,我们简单地理解,ggplot图的元素可以主要可以概括如下:最大的是plot(指整张图,包括background和title),其次是axis(包括stick,text,title和stick)、legend(包括backgroud、text、title)、facet这是第二层次,其中facet可以分为外部strip部分(包括backgroud和text)和内部panel部分(包括backgroud、boder和网格线grid,其中粗的叫grid.major,细的叫grid.minor)。大致见下图,这部分内容的熟悉程度直接影响到对于theme的掌握,因此希望大家留心。3. ggplot2图层以及其他函数的分类好了,现在把这些理念的东西讲完了之后,下面来理解ggplot2里的绘图命令。ggplot2里的所有函数可以分为以下几类:用于运算(我们在此不讲,如fortify_,mean_等)初始化、展示绘图等命令(ggplot,plot,print等)按变量组图(facet_等)真正的绘图命令(stat_,geom_,annotate),这三类就是实现一个函数一个图层的核心函数。微调图型:严格意义上说,这一类函数不是再实现图层,而是在做局部调整。scale_:直译为标尺,这就是与aes内的各种美学(shape、color、fill、alpha)调整有关的函数。guides:调整所有的text。coord_:调整坐标。theme:调整不与数据有关的图的元素的函数。4. 绘图第一步:初始化。ggplot2风格的绘图的第一步就是初始化,说白了就是载入数据空间、选择数据以及选择默认aes。p <- ggplot(data = , aes(x = , y = ))data就是载入你要画的数据所在的数据框,指定为你的绘图环境,载入之后,就可以免去写大量的$来提取data.frame之中的向量。当然,如果你的数据都是向量,也可不指定,但是要在申明中标注data = NULL,不然就会得到不必要的报错。第二个是重头戏,即aes,是美学(aesthetic)的缩写。这是在ggplot2初学者眼里最不能理解的东西,甚至很多老手也会在犹豫,什么时候要把参数写在aes里,什么时候要写在aes外。我们做一个简单的,不非常恰当的解释:任何与数据向量顺序相关,需要逐个指定的参数都必须写在aes里。这之后我们会进一步解释,现在我们初始化的时候,最好只是把关于位置的x和y指定一下就好。第二部,绘制图层。很多人在解释ggplot2的时候喜欢说,ggplot2绘图有两种函数,一类是geom_,绘图用的;一类是stat_,统计变换用的。这样说不是不对,只是很不恰当,很多人就会问出一些问题,比如,统计变换竟然是做运算用的,为什么可以用来画图?为什么stat_bin和geom_histgram画出来的图是一样,竟然一样,为什么要重复?事实上,任何一个ggplot2图层都包括stat和geom俩部分,或者说两个步骤(其实还包括position)。 而stat_identity则表示不做任何的统计变换。
2023-08-16 19:02:581

协调 英文

协调英文:Coordinate解释:1、协调,调节,使调和2、使成为同等重要;使属于同一类别3、协调一致,协同动作4、成为同等重要;归于同一类别短语:1、coordination function 协调功能,协调机能2、coordination lattice 配位晶格3、coordination polyhedron 配位多面体用法例句:1、But the administration has no coordinated innovation agenda .但是,政府并没有协调一致的创新议程。2、Six central banks on wednesday announced a coordinated policy action to ease market stress .六大央行周三宣布采取协同政策行动缓解市场压力。
2023-08-16 19:03:051

请问NTC 5D-11是什么电子元器件?作用是什么?用什么型号可以代替

热敏电阻器,或者准确的叫法应该是负温度系数热敏电阻(NTC),除此之外,还有正温度系数热敏电阻(PTC),常用的就是NTC。热敏电阻器的典型特点是对温度敏感,不同的温度下表现出不同的电阻值。正温度系数热敏电阻器(PTC)在温度越高时电阻值越大,负温度系数热敏电阻器(NTC)在温度越高时电阻值越低,它们同属于半导体器件。5D-11,前的5表示电阻值是5欧姆,后面的D-11表示该器件的头部直径是11mm。电路中的主要作用:1、测温。作为测量温度的热敏电阻传感器一般结构较简单,价格较低廉;2、温度补偿。热敏电阻传感器可在一定的温度范围内对某些元器件湿度进行补偿;3、过热保护。当温度大于突变点时,电路中的电流可以内十分之几毫安突变为几十毫安,因此继电器动作,从而实现过热保护。热敏电阻本身价格便宜功能稳定,所以不建议用别的电子元器件代替。如果是型号替代的话还是要看具体的电路原理图,结合热敏电阻的规格书,选择参数合适的热敏电阻即可。
2023-08-16 18:55:431

我想要两颗西柚是什么意思

我想要两颗西柚的意思是我想见你。1、我想要两颗西柚,其实就是英文“i want to see you”的谐音,是一个在网上流行的表白或者表达思念之情的用语。I want(我想要)to(两个的英语是two,和to的发音一样)see you(西柚的音译)。2、这是用来表达想念一个人,想要见到他。用这个梗去对喜欢的人说,还是比较幽默浪漫的。你如果发一个“我想要两颗西柚”,这个如果不知道的人,可能会问你这是什么意思,为什么会要西柚。这个时候你就可以回复“i want to see you”。其他表达思念的句子:1、遇见你,是我一生的幸运。 爱上你,是我一生的快乐。 失去你,是我一生的遗憾。 没有你,无法感受心灵的震撼。2、有了太阳,地球才会领略到阳光的温暖。 有了地球,月亮才得以月圆月缺。 有了月亮,星光才如此灿烂。 有了你,我的世界才如此丰富浪漫。3、思念是一种幸福的忧伤,是一种甜蜜的惆怅,是一种温馨的痛苦。 思念是对昨日悠长的沉湎和对未来美好的向往。4、火车长笛在拉扯,谁的思念和铁轨纠缠,颠簸的时光随之远去,等待的日子开始继续,又一个离开的周期,我用转身后的眼泪倒叙,不想你走,亲爱的想你了。
2023-08-16 18:55:431