知识:转子发动机

百度百科的介绍:

转子发动机(Wankel Engine、Rotary Engine)是由德国人菲加士·汪克尔(Felix Wankel,1902-1988)所发明,他在总结前人的研究成果的基础上,解决了一些关键技术问题,研制成功了第一台转子发动机。转子发动机采用三角转子旋转运动来控制压缩和排放,与传统的往复活塞式发动机的直线运动迥然不同。
转子发动机与传统往复式发动机的比较:往复式发动机和转子发动机都依靠空气燃料混合气燃烧产生的膨胀压力以获得转动力。两种发动机的机构差异在于使用膨胀压力的方式。在往复式发动机中,产生在活塞顶部表面的膨胀压力向下推动活塞,机械力被传给连杆,带动曲轴转动。转子发动机,对于转子发动机,膨胀压力作用在转子的侧面。从而将三角形转子的三个面之一推向偏心轴的中心。这一运动在两个分力的力作用下进行。一个是指向输出轴中心的向心力,另一个是使输出轴转动的切线力F_\tau)。

工作原理(视频演示)

没有发展起来的原因:

作者:刘远山
链接:https://www.zhihu.com/question/20325141/answer/14763979
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

先说说转子发动机的特点:一般曲轴往复式发动机工作时活塞在气缸里做往复直线运动,为了把活塞受到可燃气体施加的,由于膨胀而带来的力由直线运动转化为旋转运动,就必须使用曲柄连杆机构。而转子发动机则不同,它直接将可燃气的燃烧膨胀力转化为驱动扭矩。与往复式发动机相比,转子发动机取消了无用的直线运动,因而同样功率的转子发动机相对于直线往复式发动机尺寸小,重量轻,并且振动和噪声很低。说完这些,大家会很奇怪,为什么有这么大优点的发动机没有大规模的生产和应用呢?要知道,优点越大缺点也越大,任何事物都是这样。

1 油耗高,污染重。转子发动机的转子运动特点是:三角转子的中心绕输出轴中心公转的同时,三角转子本身又绕其中心自转。在三角转子转动时,以三角转子中心为中心的内齿圈与以输出轴中心为中心的齿轮啮合,齿轮固定在缸体上不转动,内齿圈与齿轮的齿数之比为3:2。上述运动关系使得三角转子顶角的运动轨迹(即汽缸壁的形状)似“8”字形。三角转子利用转子的顶角把汽缸分成三个独立空间,三个空间各自先后完成进气、压缩、做功和排气,三角转子自转一周,发动机点火做功三次。这样大家明白了转子的运动关系,其输出轴的转速是转子自转速度的3倍,这与往复运动式发动机的活塞与曲轴是1:1的运动关系完全不同。由于没有往复式发动机的高压缩比,使得燃烧不能够很充分。虽然马自达公司曾经给转子发动机增加了单涡轮增压和双涡轮增压等东西,但只是提高了输出马力,并适度的减少了尾气排放,但还是与往复式发动机有着很大的差距。

2 零部件寿命短由于转子的三个顶角负责密封(顶角上也有类似活塞环一样的密封件),并且长期处于无法良好润滑的情况下工作,导致其过早的磨损。虽有很多种方案进行了改进,例如将气缸壁进行瓷化(对气缸壁表面进行陶瓷化,可以减少摩擦,并且在无润滑的情况下更耐高温),对于三个顶角的密封材料进行筛选,等等,但始终无法有更好的突破。并且转子中间的输出轴部位的高温下问题,始终困扰着工程师们。

3 利益传统生产往复式发动机的厂家们,对于往复式发动机已经投入了大量的财力人力物力去改造去完善去创新了,在往复式发动机的潜力还没有挖掘尽的情况下,转而投入财力人力物力去改造前景不是很光明的转子发动机,我想,每个往复式发动机厂家的CEO都会摇头的。况且,还有各种环保法规的出台,也预示着转子发动机的末日。尤其是该死的1992年,在1991年马自达夺得勒芒24小时汽车赛冠军后,被国际汽联明令禁止参赛,其背后利益的关联,可想而知了。

之前写的 用MATHEMATICA计算一元高次方程 内容较复杂,探讨了 Solve 的局限性和 FindRoot 的使用。

用Mathematica计算一元高次方程

如果只要计算增长率,用以下代码即可:

解释:

StartYear是起始年份,EndYear是结束年份,Year是一共经历了多少年。

StartNumber 就是初始年份的值,EndNumber是结束年份的值。

最后一行是计算,因为增长率不可能超出[-1,1],所以直接寻找值。只要数据正确,就不会报错了。

上面的例子的运行结果:

我遇到这个问题后在网上找到了答案,网上原文如下:

Question: DSolve returns true

Using Mathematica 7, I got a solution

The only time I was able to reproduce the “DSolve[True….” message was when I had the sequence of commands as follows,

What’s happening is that y'[x] is known to be x- y[x], and the DSolve is doing a compare of y-y[x] == y-y[x], returning True. Then it can’t solve True for y[x] in x, resulting in the question being returned.

Would you try exiting the kernel, restart fresh, and re-typing (* commands 1*) only.

 

(内容出自 Wolfram Community http://community.wolfram.com/groups/-/m/t/332674

意思就是,在DSolve解方程时,已事先给出了 y‘[x] 解析表达式,后来又来 y'[x] == x – y[x] 后,相当于在这里比较真假,因此返回 True。

解决办法:删去事先给出的f[x]表达式,清理内存,或者关掉从头重新计算,建议采用后一种方法,比较快速稳妥。

以下内容来自 wolfram 帮助页面:http://reference.wolfram.com/language/guide/ControlObjects.html


控件对象

Wolfram 语言提供一系列完整的控件对象,所有对象以便捷的符号形式表示. Manipulate 自动调用这些对象;您也可以在一般输入时直接调用它们,或在您自己的动态界面内调用它们.

Control 一个自动选择类型的交互控制

Slider, VerticalSlider Slider2D

Checkbox RadioButton Opener

IntervalSlider 使用下界和上界设值

ColorSlider 交互选择一个颜色

Setter 设置按下鼠标时的值: Setter Setter

Toggler 点击时切换值

SetterBar, RadioButtonBar, CheckboxBar, TogglerBar 按钮列表

PopupMenu 选择菜单

ListPicker 选项列表

InputField 可接受字符串、数字或任何表达式的输入栏

FormControl 含有释义明确的字段的任意表单

LocatorPane 图形或其它背景上可移动的定位器

Animator  ▪  Manipulator  ▪  Locator  ▪  ProgressIndicator  ▪  Trigger  ▪  ClickPane

Button 可以设置任意外观和行为的按钮

PasteButton 复制表达式的按钮

ActionMenu, ButtonBar 选择行为的菜单

EventHandler 低层次事件处理

MousePosition  ▪  ControlActive  ▪  ControllerState  ▪  CurrentValue

GestureHandler, TouchPosition 触碰控件

FileNameSetter 系统文件浏览

ColorSetter 系统颜色选择

SystemDialogInput 文件、字体、声音等

Hyperlink 超链接到单元和网址

FormObject 指定格式结构

FormFunction 设置活动的可提交格式

注释 »

Tooltip  ▪  Mouseover  ▪  Overlay  ▪  StatusArea  ▪  PopupWindow  ▪  Labeled  ▪ 

动态交互式语言 »

Dynamic  ▪  DynamicModule  ▪  MousePosition  ▪  Setting  ▪  DynamicSetting  ▪ 

用户界面的结构与布局 »

Grid  ▪  Row  ▪  Column  ▪  Panel  ▪  TabView  ▪  Pane  ▪  Deploy  ▪ 

控件选项 »

ImageSize  ▪  Appearance  ▪  Deployed  ▪  Enabled  ▪  AutoAction  ▪ 

构建用户界面 »

ChoiceDialog  ▪  CreatePalette  ▪  CreateDialog  ▪  CreateDocument  ▪ 

相关教程

张量计算比较繁琐,尤其是广义相对论和黎曼几何结合起来的计算更是冗繁。好在现在已经出现了很多计算张量的工具包。吴老师使用Maple的 GRTenser 计算,我打算看看针对 Mathematica 的 EDC and RGTC。

EDC and RGTC,即 Riemannian Geometry & Tensor Calculus @ Mathematica,链接:http://www.inp.demokritos.gr/~sbonano/RGTC/

Download RGTC (Version 3.8.9 – May 2013)

  • Download all files – compressed: .sit format (100 KB), .zip format (135 KB)
  • Uncompressed files (~1000 KB):  RGTC.nb  —  OperatorPLT.nb  —  NPsymbolPLT.nb  —  EDCRGTCcode.m. (Only the combined matrixEDC and RGTC code in package format is included — it must be placed in an appropriate directory).
  • Note: RGTC cannot be used for calculations with abstract tensors (manipulation of tensor expressions with abstract indices). It only operates on explicit tensors (nested lists of components which are functions of the coordinates). For abstract calculations try the package xTensor.

Additional Examples can be found here.

英文版维基百科的介绍如下(来自 Tensor software https://en.wikipedia.org/wiki/Tensor_software),红色字体是和广义相对论计算有关的工具,我专门标注了出来。


Standalone software

  • SPLATT[1] is an open source software package for high-performance sparse tensor factorization. SPLATT ships a stand-alone executable, C/C++ library, and Octave/MATLABAPI.
  • Cadabra[2] is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory. It has extensive functionality for tensor polynomial simplification including multi-term symmetries, fermions and anti-commuting variables, Clifford algebras and Fierz transformations, implicit coordinate dependence, multiple index types and many more. The input format is a subset of TeX. Both a command-line and a graphical interface are available.
  • Tela[3] is a software package similar to Matlab and (GNU) Octave, but designed specifically for tensors.

Software for use with Mathematica

  • Tensor[4] is a tensor package written for the Mathematica system. It provides many functions relevant for General Relativity calculations in general Riemann-Cartan geometries.
  • Ricci[5] is a system for Mathematica 2.x and later for doing basic tensor analysis, available for free.
  • TTC[6] Tools of Tensor Calculus is a Mathematica package for doing tensor and exterior calculus on differentiable manifolds.
  • EDC and RGTC,[7] “Exterior Differential Calculus” and “Riemannian Geometry & Tensor Calculus,” are free Mathematica packages for tensor calculus especially designed but not only for general relativity.
  • Tensorial[8] “Tensorial 4.0” is a general purpose tensor calculus package for Mathematica.
  • xAct:[9] Efficient Tensor Computer Algebra for Mathematica. xAct is a collection of packages for fast manipulation of tensor expressions.
  • GREAT[10] is a free package for Mathematica that computes the Christoffel connection and the basic tensors of General Relativity from a given metric tensor.
  • Atlas 2 for Mathematica[11] is a powerful Mathematica toolbox which allows to do a wide range of modern differential geometry calculations
  • GRTensorM[12] is a computer algebra package for performing calculations in the general area of differential geometry.
  • MathGR[13] is a package to manipulate tensor and GR calculations with either abstract or explicit indices, simplify tensors with permutational symmetries, decompose tensors from abstract indices to partially or completely explicit indices and convert partial derivatives into total derivatives.
  • TensoriaCalc[14] is a tensor calculus package written for Mathematica 9 and higher, aimed at providing user-friendly functionality and a smooth consistency with the Mathematica language itself. As of January 2015, given a metric and the coordinates used, TensoriaCalc can compute Christoffel symbols, the Riemann curvature tensor, and Ricci tensor/scalar; it allows for user-defined tensors and is able to perform basic operations such as taking the covariant derivatives of tensors. TensoriaCalc is continuously under development due to time constraints faced by its inventor/developer.

Software for use with Maple

  • GRTensorII[15] is a computer algebra package for performing calculations in the general area of differential geometry.
  • Atlas 2 for Maple[16] is a modern differential geometry for Maple.
  • DifferentialGeometry[17] is a package which performs fundamental operations of calculus on manifolds, differential geometry, tensor calculus, General Relativity, Lie algebras, Lie groups, transformation groups, jet spaces, and the variational calculus. It is included with Maple.

Software for use with Matlab

Software for use with Maxima

Maxima[23] is a free open source general purpose computer algebra system which includes several packages for tensor algebra calculations in its core distribution. It is particularly useful for calculations with abstract tensors, i.e., when one wishes to do calculations without defining all components of the tensor explicitly. It comes with three tensor packages:[24]

  • itensor for abstract (indicial) tensor manipulation,
  • ctensor for component-defined tensors, and
  • atensor for algebraic tensor manipulation.

Software for use with R

  • Tensor[25] is an R package for basic tensor operations.
  • rTensor[26] provides several tensor decomposition approaches.
  • tensorBF[27] is an R package for Bayesian Tensor decomposition.
  • MTF[28] Bayesian Multi-Tensor Factorization for data fusion and Bayesian versions of Tensor PCA and Tensor CCA. Software: MTF

Libraries

  • Redberry[29] is an open source computer algebra system designed for symbolic tensor manipulation. Redberry provides common tools for expression manipulation, generalized on tensorial objects, as well as tensor-specific features: indices symmetries, LaTeX-style input, natural dummy indices handling, multiple index types etc. The HEP package includes tools for Feynman diagrams calculation: Dirac and SU(N) algebra, Levi-Civita simplifications, tools for calculation of one-loop counterterms etc. Redberry is written in Java and provides extensive Groovy-based programming language.
  • libxm[30] is a lightweight distributed-parallel tensor library written in C.
  • FTensor[31] is a high performance tensor library written in C++.
  • TL[32] is a multi-threaded tensor library implemented in C++ used in Dynare++. The library allows for folded/unfolded, dense/sparse tensor representations, general ranks (symmetries). The library implements Faa Di Bruno formula and is adaptive to available memory. Dynare++ is a standalone package solving higher order Taylor approximations to equilibria of non-linear stochastic models with rational expectations.
  • vmmlib[33] is a C++ linear algebra library that supports 3-way tensors, emphasizing computation and manipulation of several tensor decompositions.
  • Spartns[34] is a Sparse Tensor framework for Common Lisp.
  • FAstMat[35] is a thread-safe general tensor algebra library written in C++ and specially designed for FEM/FVM/BEM/FDM element/edge wise computations.
  • Cyclops Tensor Framework [36] is a distributed memory library for efficient decomposition of tensors of arbitrary type and parallel MPI+OpenMP execution of tensor contractions/functions.
  • TiledArray[37] is a scalable, block-sparse tensor library that is designed to aid in rapid composition of high-performance algebraic tensor equation. It is designed to scale from a single multicore computer to a massively-parallel, distributed-memory system.
  • libtensor [38] is a set of performance linear tensor algebra routines for large tensors found in post-Hartree-Fock methods in quantum chemistry.
  • ITensor [39] features automatic contraction of matching tensor indices. It is written in C++ and has higher-level features for quantum physics algorithms based on tensor networks.
  • Fastor [40] is a high performance C++ tensor algebra library that supports tensors of any arbitrary dimensions and all their possible contraction and permutation thereof. It employs compile-time graph search optimisations to find the optimal contraction sequence between arbitrary number of tensors in a network. It has high level domain specific features for solving nonlinear multiphysics problem using FEM.
  • Xerus [41] is a C++ tensor algebra library for tensors of arbitrary dimensions and tensor decomposition into general tensor networks (focusing on matrix product states). It offers Einstein notation like syntax and optimizes the contraction order of any network of tensors at runtime so that dimensions need not be fixed at compile-time.