梯度是向量还是1形式?

一直以为梯度是向量,可最近看Schutz的A first course in general relativity, 该书的3.3节下有一小节的标题是Gradient of a function is a one-form称梯度是1形式。

$df=\frac{\partial f}{\partial x} dx+\frac{\partial f}{\partial y} dy+\frac{\partial f}{\partial z} dz$

Schutz直接定义由成份$\partial f/\partial x,\partial f/\partial y, \partial f/\partial z$构成的量为梯度,这是1形式。


但是,一般情况下,梯度定义为

$\nabla f=g^{ik} \frac{\partial f}{\partial x^k} \frac{\partial}{ \partial x^i}$

其成分为$g^{ik}\frac{\partial f}{\partial x^k}$,这是向量.





参考文献
1. B. Schutz: A first course in general relativity, Cambridge Univ, 2009
2. http://en.wikipedia.org/wiki/Gradient

Lagrangian to Hamiltonian = TQ to T*Q = Riemann to Sympletic

假设系统有Lagrangian
$L=L(q^1,...,q^n,\dot{q}^1,...\dot{q}^n,t)$
并满足 Euler-Lagrange 方程
(1)    $d/dt \partial L/\partial\dot{q}^i-\partial L/\partial q^i=0$
可以看出,上述微分方程处于2n维空间TQ,其坐标为
      $q^1,...,q^n,\dot{q}^1,...\dot{q}^n$
可以解释为构形空间Q的切丛。
   通常设势能V为$q^i$的函数,动能$T=1/2g_{ij}\dot{q}^i\dot{q}^j$。这里$g_{ij}$为Riemann测度张量。因此方程(1)为Riemann空间中的极值问题,特别是V=0时得到的就是Riemann空间中的测地线。

    现在使用Legendre变换从切丛TQ转换至余切丛 T*Q
                            $\omega$: TQ  --> T*Q
                            (q,$\dot{q}$)--> (q,p)
这里 $p_i=\partial L/\partial\dot{q}^i, i=1,...,n.$. 这时由Lagrangian函数描述的处于切丛 TQ的系统将转换为由下述 Hamiltonian函数 H描述的处于相空间 T*Q 的系统
       $H(p,q,t):=p_i\dot{q}^i-L(q,\dot{q},t) \; with\;   p_i=\partial L/\partial\dot{q}^i,$
Lagrange方程 (1)也转换为 Hamilton方程
(2)          $\dot{q}^i=\partial H/\partial p_i, \dot{p}_i=-\partial H/\partial q^i$
写成 Poisson 括号形式则为
(3)         $\dot{q}^i=\{q^i,H\},  \dot{p}_i=\{p_i,H\}$
     
    积分方程(2),我们可以得到p,q在相空间的流动。进一步,我们研究相空间的Sympletic结构。
    考虑Q上的可微函数H,其微分为一1形式$dH=\partial H/\partial q^idq^i+\partial H/\partial p_idp_i$.将其拉回到TQ则得到Hamiltonian矢量$V_H=\omega^{-1}(dH)$,写成内积(interior product)则为
         $\omega(V_H,*)=i_{V_H}\omega=dH$
    由于我们要求 变换$\omega: TQ-->T^*Q$一一对应,变换$\omega$必须非退化。另外我们要求Hamiltonian守恒,即
        $dH(V_H)=\omega(V_H,V_H)=0$
则$\omega$须为2-形式,即$\omega$具有Sympletic结构(非退化的封闭的2-形式)
        $\omega=dp_i\wedge dq^i$

References:
1. R. Berndt: An Introduction to Sympletic Geometry, American Mathematical Society, 2001
2. Topics in Representation Theory:Hamiltonian Mechanics and Symplectic Geometry
http://www.math.columbia.edu/~woit/notes22.pdf
3.  SYMPLECTIC VECTOR FIELDS http://www-personal.umich.edu/~wangzuoq/437W13/Notes/Lec%2034.pdf


QWidget: Must construct a QApplication before a QWidget

There are instances that you download official examples from http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt. but got error like "QWidget: Must construct a QApplication before a QWidget" during runtime. It is most probably due to the debug and release conflict between Qt libaray and your exe file. Just rebuild your exe file by set CMAKE_BUILD_TYPE to Debug or Release correspondingly. It can be done by modifying CMakefile.txt as
--------------------------------------------
set(CMAKE_BUILD_TYPE Debug) or set(CMAKE_BUILD_TYPE Release)
-------------------------------------------
or running cmake like
-------------------------------------------
cmake -DCMAKE_BUILD_TYPE=Release
-------------------------------------------

应力张量为什么是对称的? 为什么是不对称的?(其二)

4 什么应力张量是不对称的
   如前文所指出, Cauchy应力张量的对称性得至于角动量平衡方程(2). 如果方程(2)不成立, 如将其改写为
$\int_\Omega x\times\rho \dot{u}dv=\int_\Omega x\times b dv+\int_{\partial\Omega} x\times t ds + \int_\Omega m dv$                     (10)
则Cauchy应力张量就会变得不对称性。这里增加的一项m的物理意义为外部体力矩。这是一种假设,至于如何在尺寸为零的点上施加力矩这样的问题比较难于回答,在这里我们先放过了。
   上述在古典连续体力学导入新的变量的想法其实并不新鲜,它 最早出现在1909年([17])。Cosserat理论可以说是现在渐渐变得时髦的nonlocal continuum或 generalize continuum mechanics的鼻祖。在上世纪60年代对类似理论有详细的研究。这样构筑的力学体系于古典连续体力学大不相同,它们有自己的平衡方程,本构方程,Lagrangian或Hamilton. 在这些理论体系中,Cauchy应力有些是对称的(如couple stress theory, strain graident theory),有些是不对称得(如micropolar theory)。本文无意讨论这些问题,下述文献[18]-[20]叙述的理论中的Cauchy应力都是不对称的。



5 结言:模型与现实
   在本文中,我们提到了至少两类连续体模型:一类的Cauchy应力是对称的,另一类则是不对称的。我们在构筑模型时,第一要求模型体系是自洽的,即不是自相矛盾的。  经典连续体力学就是一个这样的严格的数学体系,在该体系下不能也不可能得到不对称的Cauchy应力。第二我们要求模型可以解释已知并且可以预测物理现象。进一步,如果模型的结果与现实不相符,该模型就需要修正或者放弃重构。由于经典连续体力学在某些方面的预测结果的精度不够,nonlocal continuum或 generalize continuum mechanics正是对经典连续体力学的修正。


6 题外的话:为什么应变张量是对称的?
  在(8)式中,我们看到应变能为Cauchy应力和应变速率$\varepsilon=gradu$的积。这里定义的应变速率不是对称的,它可以分解为对称部分和反对称部分的和。考虑到Cauchy应力的对称性, 应力张量与反对称张量的乘积为零,应变能实际上只和$gradu$的对称部分有关,即$\sigma:gradu=\sigma:sym(gradu)$。这样应变速率可以定义为$\varepsilon=sym(gradu)$. 这是常见的应变张量定义方法。









参考文献


17 Cosserat; E. & F., Théorie de Corps déformables, Paris, 1909
18 Eringen, A.C; Theory of micropolar elasticity, Defense Technical Information Center, 1967
19 Nowacki, W; The linear theory of micropolar elasticity, 1972
http://bcpw.bg.pw.edu.pl/Content/970/Micropolar_Elasticity_str1_43.pdf
20 Nowacki, W; Theory of Asymmetric Elasticity, Elsevier Science & Technology, 1986

Build scotch6.0 in mingw64

1. Prerequisite
    Following tools and libraries install in mingw64: flex, yacc, zlib, pthread, mpi


2. Modify the Makefile.inc
    Based upon file Makfile.inc.i686_pc_mingw32, modify in follows
1)  Add -Drestrict=__restrict into CFLAGS_DEF
2)  Modify -lmpich2mt in LDFLAGS into -lmpicxx
3)  Modify pthread library into what you have installed


3. Add following into common.h
#ifndef HAVE_STDINT_H
#define HAVE_STDINT_H   1
#endif /* HAVE_STDINT_H */
#ifndef HAVE_UINT_T
#define HAVE_UINT_T   1
#endif /* HAVE_UINT_T */


Then, everything ok!

应力张量为什么是对称的? 为什么是不对称的?(其一)

  学过连续体力学(包括固体力学,流体力学等)都知道应力张量是对称的(下面将说明它是有条件的)。 对于初学者, 这似乎有些难于理解, 如
http://forum.simwe.com/forum.php?mod=viewthread&tid=503234&highlight=%E5%89%AA%E5%BA%94%E5%8A%9B%E4%BA%92%E7%AD%89


  奇妙的是, 有些专家也对此持疑。 如下图的例子([1] p.110)就出自中国力学院士的专著, 他给出了几乎与上面连接给出的同样的图来说明应力是不对称的。这就有点哭笑不得了。


  本文试图对应力张量的对称性做一个较直观的但有些深度的解释。 在此之前,先指出上图论证的问题- 我们不能对连续体的一点(它的体积→零,表 面积→为零)的某一面施加外力, 也就是说不能直接指定应力分量。外力边界条件,一般有称为第二边界条件([2],p50), 在这里你可以给出外力矢量(三个分量),而不是六个应力分量。因此上述论理是不成立的。

1  什么是应力?
   要理解应力当然先要理解什么是力。
  很多人认为牛顿第二定律给出了力的定义。但牛顿第二定律给出的力的计算式has no independent meaning([4])。 力的定义有一定的任意性, 它也许毫无道理,但并不奇怪(It may be gratuitous, but it is not bizarre[4])。Feynman先生认为上述定义是无用的([3]&12.1:The Newtonian statement above, however, seems to be a most precise definition of force, and one that appeals to the mathematician; nevertheless, it is completely useless), 似乎不存在力的精确定义([3]&12.1: If you insist upon a precise definition of force, you will never get it!)。既然两位诺贝尔奖获得者都这么说。 我们还是放弃在这里定义力, 假设它是一种基本物理量为好。 但是要注明的是, 在现代物理学中, 力不是基本物理量, 它一般被理解为能量的空间导数或动量的时间导数。 此时应力的定义也相应解释为能量密度的导数等(如[5])。 但本文不采用这种不直观的定义方法。
   记过连续体一点x的任意切面(法线方向n)的表面力矢量场为f(n,x)。Cauchy定理指出
$f(n,x)=\sigma(x)n$
这里的$\sigma(x)$即为Cauchy应力张量。


    几乎所有的连续体力学教程都会写下上述Cauchy定理的证明, 但严格的少见。建议阅读文献[6]p101-105,或[7]p26-27, [8]-[9]。Cauchy定理仍然有议论的余地, 如放松定理成立的光滑条件,考虑上述表面力矢量场是法线方向的空间导数的函数,将其导入微分几何学等([10]-[14])。

2 为什么Cauchy应力张量是对称的
   考虑一物体,其动量为$\int_\Omega \rho udv$, 所受体积力为$\int_\Omega b dv$ ,面力为$\int_{\partial\Omega} t ds$。则由牛顿第二定律
$\int_\Omega \rho \dot{u}dv=\int_\Omega b dv+\int_{\partial\Omega} t ds$                  (1)
其角动量平衡方程为
$\int_\Omega x\times\rho \dot{u}dv=\int_\Omega x\times b dv+\int_{\partial\Omega} x\times t ds$                     (2)
    由散度定理$\int_{\partial\Omega} t ds=\int_\Omega div\sigma dv$, 将其代入方程(1)得
$\int_\Omega (div\sigma+b-\rho \dot{v})dv=0$                  (3)
由于该式在连续体内任意一点都必须成立, 得到平衡方程
$div\sigma+b-\rho \dot{v}=0$                  (4)
   从方程(2)则可以得到应力张量的对称性。 方程(2)的最后一项$\int_{\partial\Omega} x\times t ds=\int_{\partial\Omega} x\times\sigma n ds=\int_\Omega(x \times div\sigma+\epsilon:\sigma^T)dv$     (5)
将此式代入(2)并使用方程(4),即可得到
$\epsilon:\sigma^T=0$             (6)
即Cauchy应力张量是对称。
  如上所述,Cauchy应力张量的对称性来源于角动量平衡条件,如果Cauchy定理成立,则Cauchy应力必然是对称的。

3  单独定义的应力没有什么实用意义(has no independent meaning)
   上节的平衡方程(4)和Cauchy应力张量的对称性条件实际上只是牛顿定律应用于连续体时的再述。上述方程并未给出关于连续体变形的任何信息。为此,我们需要导出于Cauchy应力张量
共轭的量,该张量与Cauchy应力张量的积表征连续体的变形能。或用现代物理学的语言来说,可以用来构筑变形体系统的Lagrangian或Hamilton。
  与上节相似,体积力所作的功为$\int_\Omega b.vdv$。表面力所作的功为$\int_{\partial\Omega} t.uds$。则外力的总功W为
$W=\int_\Omega b.udv+\int_{\partial\Omega} t.udv$       (7)
 其中, 表面力的功$\int_{\partial\Omega} t.udv=\int_{\partial\Omega} (\sigma n).udv=\int_\Omega div(\sigma^Tu)dv=\int_\Omega (div\sigma\cdot u+\sigma:gradu)dv$。因此
$W=\int_\Omega (\rho\dot{u}\cdot{u}+\sigma:gradu)dv+\int_{\Omega}(div\sigma+b-\rho \dot{u})\cdot uds=\int_\Omega (\rho\dot{u}\cdot{u}+\sigma:gradu)dv$    (8)
该式的倒数第二项为变形体的动能, 倒数第一项为变形能。记$\varepsilon=gradu$为应变速率,该应变速率张量为Cauchy应力的共轭量。

3.1 应力应变张量在不同构型(configuration)下的表达
    由于连续体的形状是变化的,如同物理量可以在不同的坐标系下表示一样,应力,应变也可以在不同构型下表达。 下面是一个例子
    考虑现在构型$\Omega$ 下的变形能,它由Cauchy应力,应变速率表达. 下面我们将其变换到构型$\Omega_0$. 两构型间的两点变换张量为F, Jocabian为J。
$W=\int_\Omega\sigma:\varepsilon dv=\int_\Omega\sigma:(\dot F F^{-1})dv=\int_\Omega\sigma F^{-T}:\dot Fdv=\int_{\Omega_0}J\sigma F^{-T}:\dot FdV$
   一般定义$P=J\sigma F^{-T}$为第一种Piola-Kirchhoff应力。它与$\dot F$共轭。 另外由于F不是对称的,所以第一种Piola-Kirchhoff应力不对称。

3.2 从能量表达式(7)推出平衡方程
    从现代物理学的观点来看, 整个连续体力学都可以建立于系统的能量表达式。我们可以从能量表达式(7)出发, 利用标架不变(frame-indifference)得出各守恒定理如式(2),(3)。可参见如[15],[16])。也许对基础坚实的古典连续体力学来说这样做的意义不大,但如要将古典连续体力学加以推广, 这是一个可靠的工具。


参考文献
1. 陈至达: 理性力学, 2000,重庆出版社
2  穆什海里什维利: 数学弹性力学的几个基本问题
3  费曼物理学讲义, http://www.feynmanlectures.caltech.edu/
4  Frank Wilczek: Whence the force of F=ma? http://ctpweb.lns.mit.edu/physics_today/phystoday/%20Whence_cshock.pdf
5 Robert G. Brown, 2013: Symmetric stress tensor; http://www.phy.duke.edu/~rgb/Class/Electrodynamics/Electrodynamics/node147.html
6. M.E.Gurtin: A introduction to Continuum mechanics, 1981, Academic press
7 J.T.Oden:A short course on nonlinear continuum mechanics, 2008 http://users.ices.utexas.edu/~arbogast/cam397/oden0908.pdf
8  Miroslav Šilhavy:On Cauchy's stress theory, http://www.bdim.eu/item?fmt=pdf&id=RLIN_1990_9_1_3_259_0
9 R.L.Fosdick, E.G.Virga: A viariaional proof of stress theroem of Cauchy, Archives of Rational mechanica and analysis, 1998, p95-103
10 G. RODNAY AND R. SEGEV: Cauchy's flux theorem in light of geometric integration theory. http://www.bgu.ac.il/~rsegev/Papers/FluxGeomIntegration.pdf
11 Francesco dell’Isola et al; How contact interactions may depend on the shape of Cauchy cuts in N-th gradient continua: approach; http://hal.archives-ouvertes.fr/docs/00/66/23/76/PDF/dellisola_seppecher_madeo.pdf
12 W. Noll: Thoughts on the concept of stress. http://repository.cmu.edu/cgi/viewcontent.cgi?article=1015&context=math
13 E.Kanso等:On geometric character of stress in continuum mechanics http://upcommons.upc.edu/e-prints/bitstream/2117/8516/1/kanso_on-the-geometric_2007.pdf
14 C.A.Trusdell: Cauchy and the modern mechanics of continua
http://www.persee.fr/web/revues/home/prescript/article/rhs_0151-4105_1992_num_45_1_4229
15 P.Germain; The method of virtual power in continuum mechanics, Part II; SIAM J. Appl. Math, Vol. 25(1973), p556-575
16  G D Piero; On the method of virtual power in coninuum mechanics. J. Mech. Mater. Struct., VOl.4(2009), p281-292 http://msp.org/jomms/2009/4-2/jomms-v4-n2-p07-p.pdf
17   G D Piero; Virtual power, pseudovalance and the law of action and reaction; http://www.fyffm2010.cnrs-mrs.fr/PDFs/Del_Piero_Gianpietro.pdf

从混合偏导到 李微分到 黎曼张量

连续混合偏导数与其求导顺序无关, 即
(1)       $\partial_{,xy}f=\partial_{,yx}f$
其几何意义是函数f从A点出发到B=A+dx再到C=B+dy和从A点出发到D=A+dy再到C=D+dx, 其函数值的变化是相同的.






图1




上式也可用李括号写为
(2)   $[\frac{\partial}{\partial\lambda},\frac{\partial}{\partial\mu}]f=(\frac{\partial}{\partial\lambda}\frac{\partial}{\partial\mu}-\frac{\partial}{\partial\lambda}\frac{\partial}{\partial\mu})f=0$
或者干脆写成
(3)  $[\frac{\partial}{\partial\lambda},\frac{\partial}{\partial\mu}]=0$
由于该式在任意坐标系下成立, 我们在这里不再用x,y为下标.反过来说,如果两个向量V=$d_{,\lambda}$和U=$d_{,\mu}$线性无关且其李括号为零,则这两个变量$\lambda$和$\mu$可为坐标基底(证明过程可参见[1]p47~49).
图2


方程式(3)的几何意义可解释为A点的切矢(当AB为无限小时,AB为A点的切矢)沿$d_{,\lambda}$方向被拖带到D时,如与D点的切矢方向相同,则$d_{,\lambda}$和$d_{,\mu}$的李括号为零([1]p46).

  图3
图4


从拖带的观点出发,李括号也可解释为向量U沿向量V方向的李微分
(4)    $L_VU=[V,U]$
上述李微分不一定为零. 图3的红线标明的向量就是李微分的值, 表征着某种不均匀性. 如图4所示的表征晶体内位错分布的Burgers向量([2]).

  注意到上述李微分的定义并没有用到长度(度规张量)和向量的平行移动概念. 如果把上面的向量的李拖带解释为向量的平行移动,我们可以得到下面的结果.
    现在考虑在曲面上平行移动的导数

将其代入上式可得

定义

称为挠度张量.

上述方程(1),(2)表示了函数f沿不同路径时的变化差, 而黎曼曲张量$R^i_{,jkl}$则用来表征向量V=$f^i$沿不同环路时的变化的差.
图5([3]p74)

(5)     $\delta V^\rho=\delta a\delta bA^\nu B^\mu R^\rho_{,\sigma\mu\nu}V^\sigma$
其几何意义见下图.黎曼张量表征向量Vc'(r)和Vc(r)间的差.更加详细的议论可参见文献[4]或文献[1]的6.9节.如写成李括号形式,为
(6)    $[\nabla_\mu,\nabla_\nu]V^\rho=R^\rho_{,\sigma\mu\nu}V^\sigma-S_{\mu\nu},^\lambda\nabla_\lambda V^\rho$




主要参考文献:
1. B.F.Schutz, Geometrical methods of mathematical physics, 1980, Cambridge Univeristy
2.郭仲衡, 梁浩云, 变形体非协调理论的理性理论, 力学进展, 1989, 19(1), p36~48
3. S.M.Carroll. Lecture Notes on General Relativity ( http://arxiv.org/pdf/gr-qc/9712019.pdf)
4. http://academic.reed.edu/physics/courses/Physics411/html/411/page2/files/Lecture.13.pdf

VS Code下cmake, c++编译,调试环境的构成步骤

1   下载必须extension      按[Ctrl+Shift+X]打开extension窗口,选择安装"C/C++", "CMake", "CMake Tools" 2   在VSCode下打开作业目录 ...