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

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

How to avoid PATH type error when using cmake for Visual studio

When using cmake, you may find some "nod found" error for dll or exe files. Those can be avoided by add specific path into PATH definition of your PC. For visual studio c++, however, it is better to

1. Enter DOS command prompt and run vavars32.bat or vcvars64.bat, which is generally inside Microsoft Visual Studio XXX\VC\bin
        or
    Enter VSXXXX command prompt directly.
It would sets all variables needs for VC

2. Run cmake-gui.exe in command line afterwards.

Build Calculix2.6.1 in Mingw64

There is detailed description here http://mechanicalhacks.wordpress.com/2011/03/29/building-calculix-to-run-native-on-64-bit-windows/. But it doesnot works well, at least for ccx2.6.1. Here are some complemetation

1. Build  ARPACK.
    Modify ARmake.inc at follows
1) home="your current ARPACK home";
2) PLAT=anything you like. It would be appended in your library name.
3) Change the DIRS as
     DIRS = $(UTILdir)  $(SRCdir)
4) Make sure file second.f, which would in standard LAPACK library, in folder UTIL is not in your compile list.
5) RANLIB  = touch

2. Build spooles
   Following modifictions
1) Modify line 9 of SPOOLES.2.2/Tree/src/MakeGlobalLib from drawTree.c to draw.c
2) Modify line 204 of SPOOLES.2.2/MT/src/QRfactorMT.c from
   tids[myid]=0;
to memset(&tids[myid], 0, sizeof(pthread_t) );
3) Modify Make.inc
  THREAD_LIBS= -lpthread
4) Modify makefile
  uncomment
  #  cd MT               ; make lib
in make lib option

3. Build Calculix
1) Add #include "pthread.h" into file CalculiX.h
2) Modify Makefile as follows
  ・ Indicate where library of spooles, ARAPCK, BLAS and Lapack in in include in your LIBS, just like

DIR=../../../../solver/SPOOLES.2.2
BLASDIR = ../../../../solver/lapack-3.4.2
LIBDIR=/c/mingw64/x86_64-w64-mingw32/lib


LIBS = \
    $(DIR)/MT/src/spoolesMT.a \
       $(DIR)/spooles.a \
       ../../../../solver/ARPACK/libarpack_WIN64.a \
    $(BLASDIR)/liblapack.a $(BLASDIR)/librefblas.a \
       $(LIBDIR)/libpthread.a \
       $(LIBDIR)/libm.a


 Then just make it. That's all!


 


矢量沿曲线的平移

话说黄帝蚩尤大战于涿鹿, 其时浓雾弥漫, 不知东西. 黄帝造指南車辨识道路......
Fig.1 Parralel transport of a vector along a great circle of the sphere

现在考虑A部落的士兵在指南車的指引下向正南C, D部落的士兵在指南車的指引下也向正南C前进, 当他们在C点汇合时发现A,D指南車的指向是不同的!这一结果与我们在欧式空间的平行的概念大不相同.

  1. 曲面上的"平行移动"・协变导数
  上面的例子说明我们需要重新定义所谓平行这一概念. 不与欧式空间的平行的概念相冲突, 我们小心地定义所谓平行是矢量V沿曲线U的方向导数为零

  注意到上述导数其实尚未有明确的定义,我们把球面上的矢量V写成球坐标形式
,其在欧式空间中沿 轴的方向导数为

将基矢的偏导表述为基矢和球面法向n的线性函数

该式称为高斯方程. 这里为克氏符,为Weingarten方程. 注意到, K和$\Gamma$的两个下标是对称的.

   但对于黄帝部落而言,他们只知道球面上的东西,对球面外的法线一无所知! 在球面世界上来看, 上述方向导数为

在这里称为矢量V沿$\nu$轴的协变或绝对导数, 与欧式空间中方向导数相比较, 它去掉了球面法向的变化, 如下图
Fig.2 欧式空间的平行移动(V->V')和曲面空间的平行移动(V->V'')([1]p.102)

   矢量沿曲线的协变导数为零就是矢量沿曲线的平行移动条件.

   现在把矢量V沿方向U的协变导数写成.可以看出是一(1,1)张量, 称为协变导数.

   2. 克氏符・联络
   在欧式空间中克氏符的计算方法在高斯方程中给出.在曲面(黎曼)空间中,我们先要定义其度规, 然后设度规沿任一曲线的协变导数为零,由此推出克氏符的计算方法,称为与度规相适配的克氏符.

交换上式下标abc的顺序可的


由此可以得到

称为Levi-Civita联络. 克氏联络还有一个简单的表达式([3]p106-108)

由此


   3. 1形式的协变导数
   考虑一标量

可定义

为1形式的协变导数.由于上面方程的左边和倒数第二项都是张量, 该1形式的协变导数也是张量. 此时



主要参考文献
1. A. Zee, Einstein Gravity in a Nutshell, 2013, Princeton University
2. B.F.Schutz, Geometrical methods of mathematical physics, 1980, Cambridge Univeristy
3. S. Weinberg, Gravitation and cosmology: Principles and applications of the general theory of relativity, 1971, John Wiley & Sons

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

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