精华内容
下载资源
问答
  • 张量散度
    千次阅读
    2020-07-20 23:18:43

    在OpenFOAM中,我们用函数divDevReffdivDevRhoReff来计算剪切应力。

    1.函数名称含义

    下面,解释这两个函数名称的由来:
    ∇ ⋅ τ = ∇ ⋅ σ d e v \nabla \cdot \tau=\nabla \cdot \sigma^{dev} τ=σdev

    关于这个公示的推导可查看Cauchy应力张量、剪切力张量与压力的关系

    • div:散度(divergence);
    • dev:每个二阶张量都可分解为 dev 部分(deviatoric)和 hyd 部分(hydrostatic);
    • R:雷诺时均(Reynolds-Average Simulation);
    • eff:有效的(effective)流动方式,包括 层流(laminar)或湍流(turbulent);
    • rho:取决于流体密度是否发生变化。

    由此,不难判断divDevReff 用于不可压缩流体,divDevRhoReff用于可压缩流体 。

    2.不可压缩流

    2.1代码解读

    对于turbulence->divDevReff(U),即操作对象turbulence通过指针调用名为divDevReff(U)的函数。该函数声明如下:
    (文件位置:)

    tmp<fvVectorMatrix>laminar::divDevReff(volVectorField &U) const 
    {
    	Return
    	(
    		-fvm::laplacian(nuEff(), U)
    		-fvc::div(nuEff()*dev(T(fvc::grad(U))))
    	)
    }
    

    注意:计算过程中,采用的是运动粘度。方程一部分用了隐式(fvm),而另一部分用了显式(fvc)。此外,还调用了一个名为dev()的函数:

    //- Return the deviatoric part of a tensor
    template<class Cmpt>
    inline Tensor<Cmpt> dev(const Tensor<Cmpt>& t)
    {
        return t - SphericalTensor<Cmpt>::oneThirdI*tr(t);
    }
    

    (文件位置:$FOAM_SRC/turbulenceModel/incompressible/RAS/laminar/laminar.C)

    2.2函数方程

    关于函数dev(),可以简单地理解为一个矩阵的dev(deviatoric part)部分:
    A d e v = A − A h y d = A − 1 3 t r ( A ) I \mathbf A^{dev}=\mathbf A-\mathbf A^{hyd}=\mathbf A-\frac13 tr(\mathbf A)\mathbf I Adev=AAhyd=A31tr(A)I

    函数dev()的参数为速度场的转置梯度矩阵:
    A = [ ∇ U ] T \mathbf A =[\nabla \mathbf U]^T A=[U]T

    我们对代码进行重写:

    -fvm::laplacian(nuEff(), U)= − ∇ ⋅ ( ν e f f ( ∇ U ) ) -\nabla\cdot\left(\nu^{eff}(\nabla \mathbf U)\right) (νeff(U))

    -fvc::div(nuEff()*dev(T(fvc::grad(U))))= − ∇ ⋅ ( ν e f f ∗ d e v ( ( ∇ U ) T ) ) -\nabla\cdot\left(\nu^{eff}*dev((\nabla \mathbf U)^T)\right) (νeffdev((U)T))

    d e v ( ( ∇ U ) T ) = ( ∇ U ) T − 1 3 t r ( ( ∇ U ) T ) I dev((\nabla \mathbf U)^T)=(\nabla \mathbf U)^T-\frac 13 tr((\nabla \mathbf U)^T)\mathbf I dev((U)T)=(U)T31tr((U)T)I

    将上述代码整合在一起,有:
    − ∇ ⋅ R e f f = − ∇ ⋅ ( ν e f f ( ∇ U ) ) − ∇ ⋅ ( ν e f f [ ( ∇ U ) T − 1 3 t r ( ( ∇ U ) T ) I ] ) -\nabla\cdot \mathbf R^{eff}=-\nabla\cdot\left(\nu^{eff}(\nabla \mathbf U)\right)-\nabla\cdot \left(\nu^{eff} \left[ (\nabla \mathbf U)^T-\frac 13 tr((\nabla \mathbf U)^T)\mathbf I \right] \right) Reff=(νeff(U))(νeff[(U)T31tr((U)T)I])
    整理,可得:
    − ∇ ⋅ R e f f = − ∇ ⋅ ( ν e f f [ ∇ U + ( ∇ U ) T − 1 3 t r ( ( ∇ U ) T ) I ] ) -\nabla\cdot \mathbf R^{eff}=-\nabla\cdot \left( \nu^{eff} \left[ \nabla \mathbf U+(\nabla \mathbf U)^T-\frac 13 tr((\nabla \mathbf U)^T)\mathbf I \right] \right) Reff=(νeff[U+(U)T31tr((U)T)I])
    根据CFD张量公式
    t r ( ∇ U ) I = t r ( ( ∇ U ) T ) I = ( ∇ ⋅ U ) I \mathrm{tr}\left(\nabla\mathbf{U}\right)\mathbf I=\mathrm{tr}\left((\nabla\mathbf{U})^{\mathrm{T}}\right)\mathbf I=\left(\nabla\cdot\mathbf{U}\right)\bf I tr(U)I=tr((U)T)I=(U)I
    对于不可压缩流连续性方程 ∇ ⋅ U = 0 \nabla\cdot \mathbf U=0 U=0,则:
    − ∇ ⋅ R e f f = − ∇ ⋅ ( ν e f f [ ∇ U + ( ∇ U ) T ] ) = − ∇ ⋅ ( 2 ν e f f [ 1 2 ( ∇ U + ( ∇ U ) T ) ] ⏟ ‘ 形 变 率 D ‘ ) = ∇ ⋅ τ -\nabla\cdot \mathbf R^{eff}=-\nabla\cdot \left( \nu^{eff} \left[ \nabla \mathbf U+(\nabla \mathbf U)^T \right] \right)=-\nabla\cdot \left( 2\nu^{eff} \underbrace{\left[\frac12 \left( \nabla \mathbf U+(\nabla \mathbf U)^T \right) \right] }_{`形变率 \mathbf D`} \right)=\nabla\cdot \tau Reff=(νeff[U+(U)T])=2νeffD [21(U+(U)T)]=τ

    对于不可压缩流, 1 3 t r ( ( ∇ U ) T ) \frac 13 tr((\nabla \mathbf U)^T) 31tr((U)T) 应该恒等于零,是可以忽略的,但考虑到连续性不可能百分百为零,这里我们将其作为误差引入进去。

    3.可压缩流

    对于可压缩流,调用turbulence->divDevRhoReff(U)函数。该函数包含关键字Rho,这说明在计算可压缩流的剪切应力时,需要考虑由密度变化引起的膨胀粘度项

    3.1代码解读

    函数divDevRhoReff(U)

    tmp<fvVectorMatrix>laminar::divDevRhoReff(volVectorField &U) const
    {
    	 Return
    	(
    		 -fvm::laplacian(muEff(), U) 
    		 -fvc::div(muEff()*dev2(T(fvc::grad(U)))) 
    	)
    }
    

    注意,这里我们应用的是dev2()函数,这种新函数的代码如下:

    //- Return the deviatoric part of a tensor
    template<class Cmpt>
    inline Tensor<Cmpt> dev(const Tensor<Cmpt>& t)
    {
        return t - SphericalTensor<Cmpt>::twoThirdI*tr(t);
    }
    

    3.2 函数方程

    关于函数dev2(),可以理解为一个矩阵减去两次hyd部分

    A d e v 2 = A − 2 A h y d = A − 2 3 t r ( A ) I \mathbf A^{dev2}=\mathbf A-2\mathbf A^{hyd}=\mathbf A-\frac23 tr(\mathbf A)\mathbf I Adev2=A2Ahyd=A32tr(A)I
    经整理(方法同上),其方程为:
    − ∇ ⋅ R e f f = − ∇ ⋅ ( 2 ν e f f [ 1 2 ( ∇ U + ( ∇ U ) T ) ] ⏟ ‘ 形 变 率 D ‘ − 2 3 μ e f f ( ∇ ⋅ U ) I ) = ∇ ⋅ τ -\nabla\cdot \mathbf R^{eff}=-\nabla\cdot \left( 2\nu^{eff} \underbrace{\left[\frac12 \left( \nabla \mathbf U+(\nabla \mathbf U)^T \right) \right] }_{`形变率 \mathbf D`}-\frac23\mu^{eff}(\nabla \cdot \mathbf U)\mathbf I \right)=\nabla\cdot \tau Reff=2νeffD [21(U+(U)T)]32μeff(U)I=τ

    更多相关内容
  • 张量散度

    千次阅读 2020-05-24 17:24:48
    张量的几个物理场景 应力状态 材料内部受力状况就是应力状态,应力在不同方向的大小不同,并且与感应面有关。如图所示材料某点的应力状态,可用矩阵表示 σ=(σxτxyτxzτyxσyτyzτzxτzyσz)\sigma=\begin{...

    张量的几个物理场景

    应力状态

    材料内部受力状况就是应力状态,应力在不同方向的大小不同,并且与感应面有关。在这里插入图片描述如图所示材料某点的应力状态,可用矩阵表示
    σ = ( σ x τ x y τ x z τ y x σ y τ y z τ z x τ z y σ z ) \sigma=\begin{pmatrix} \sigma_x&\tau_{xy}&\tau_{xz}\\ \tau_{yx}&\sigma_y&\tau_{yz}\\ \tau_{zx}&\tau_{zy}&\sigma_z \end{pmatrix} σ=σxτyxτzxτxyσyτzyτxzτyzσz
    这是个对称矩阵,即 τ x y = τ y x , τ x z = τ z x , τ y z = τ z y \tau_{xy}=\tau_{yx},\tau_{xz}=\tau_{zx},\tau_{yz}=\tau_{zy} τxy=τyx,τxz=τzx,τyz=τzy
    现在已知某任意平面,那么怎么求该平面上的应力状态呢?如下图所示,以平面示意
    在这里插入图片描述红色的箭头是该平面的总的应力,该总应力可以分解成垂直于平面的正应力和平行于平面的切应力。若已知平面的法矢为 n = ( n x , n y , n z ) n=(n_x,n_y,n_z) n=(nx,ny,nz),其总应力计算如下
    σ ′ = n ⋅ σ = ( n x , n y , n z ) ( σ x τ x y τ x z τ y x σ y τ y z τ z x τ z y σ z ) \sigma'=n\cdot \sigma=(n_x,n_y,n_z) \begin{pmatrix} \sigma_x&\tau_{xy}&\tau_{xz}\\ \tau_{yx}&\sigma_y&\tau_{yz}\\ \tau_{zx}&\tau_{zy}&\sigma_z \end{pmatrix} σ=nσ=(nx,ny,nz)σxτyxτzxτxyσyτzyτxzτyzσz
    那么正应力为
    σ n ′ = σ ′ / n ⋅ n = σ ′ ⋅ n ⋅ n = ( n x , n y , n z ) ( σ x τ x y τ x z τ y x σ y τ y z τ z x τ z y σ z ) ( n x n y n z ) ( n x , n y , n z ) \sigma'_n=\sigma'/n\cdot n=\sigma'\cdot n\cdot n\\=(n_x,n_y,n_z) \begin{pmatrix} \sigma_x&\tau_{xy}&\tau_{xz}\\ \tau_{yx}&\sigma_y&\tau_{yz}\\ \tau_{zx}&\tau_{zy}&\sigma_z \end{pmatrix} \begin{pmatrix} n_x\\n_y\\ n_z \end{pmatrix}(n_x,n_y,n_z) σn=σ/nn=σnn=(nx,ny,nz)σxτyxτzxτxyσyτzyτxzτyzσznxnynz(nx,ny,nz)
    切应力的为
    σ τ ′ = σ ′ ÷ n = σ ′ − σ n ′ \sigma'_\tau=\sigma'\div n=\sigma'-\sigma'_n στ=σ÷n=σσn

    转动惯量

    一个物体的转动,和平移一样,也存在惯性。转动惯量就是衡量这个惯性的大小。对于规则的物体,其转动比较容易求得,如下图所示
    在这里插入图片描述该立方块绕 x x x轴的转动惯量为 J x J_x Jx,绕 y y y轴的转动惯量为 J y J_y Jy,绕 z z z轴的转动惯量为 J z J_z Jz。那么如何求得其绕任意轴 n n n的转动惯量 J ′ J' J,如图红色所示。转动惯量也是一种张量,其数学形式如下
    J = ( J x 0 0 0 J y 0 0 0 J z ) J=\begin{pmatrix} J_x&0&0\\0&J_y&0\\ 0& 0&J_z \end{pmatrix} J=Jx000Jy000Jz
    那么绕 n n n的总转动惯量计算如下
    J ′ = n ⋅ J = ( n x , n y , n z ) ( J x 0 0 0 J y 0 0 0 J z ) J'=n\cdot J=(n_x,n_y,n_z)\begin{pmatrix} J_x&0&0\\0&J_y&0\\ 0& 0&J_z \end{pmatrix} J=nJ=(nx,ny,nz)Jx000Jy000Jz
    总的转动惯量到转轴的投影就是绕这个轴的转动惯量
    J n ′ = J ′ / n ⋅ n J'_n=J'/n\cdot n Jn=J/nn
    总的转动惯量垂直于这个轴的投影为
    J τ ′ = J ′ ÷ n J'_\tau=J'\div n Jτ=J÷n
    有个疑问,为什么会有这个垂直的转动惯量。这是因为,在物体转动的时候,两端会甩开远离轴,或者聚拢越来越接近轴,而这个转动的转动惯量就是总转动惯量垂直于这个轴的分量。

    各向异性的感应电场

    我们知道,一个电荷在真空中形成的电场是向各个方向发散,并且每个方向等强度,即等势面是球形。但如果在物质内部呢?这个电荷在物质内部形成的是感应电场(也常称为电位移矢量),并且由于很多物质都是各向异性的,也就是说电荷在不同方向的感应效果不一样,所以等势面试是椭球,如下图所示
    在这里插入图片描述
    其实所有三维张量都可以用椭球表示,二维张量可以用椭圆表示。
    电荷在真空发出的电场为
    E = Q 4 π r 2 ( ϵ 0 0 0 ϵ 0 0 0 ϵ ) E=\frac{Q}{4\pi r^2}\begin{pmatrix} \epsilon&0&0\\0&\epsilon&0\\0&0&\epsilon \end{pmatrix} E=4πr2Qϵ000ϵ000ϵ
    电荷在各向异性物质内感应的电场为
    D = Q 4 π r 2 ( ϵ x x ϵ x y ϵ x z ϵ y x ϵ y y ϵ y z ϵ z x ϵ z y ϵ z z ) D=\frac{Q}{4\pi r^2}\begin{pmatrix} \epsilon_{xx}&\epsilon_{xy}&\epsilon_{xz}\\\epsilon_{yx}&\epsilon_{yy}&\epsilon_{yz}\\\epsilon_{zx}&\epsilon_{zy}&\epsilon_{zz} \end{pmatrix} D=4πr2Qϵxxϵyxϵzxϵxyϵyyϵzyϵxzϵyzϵzz
    该式中的矩阵为对称矩阵,即 ϵ x y = ϵ y x , ϵ x z = ϵ z x , ϵ y z = ϵ z y \epsilon_{xy}=\epsilon_{yx},\epsilon_{xz}=\epsilon_{zx},\epsilon_{yz}=\epsilon_{zy} ϵxy=ϵyx,ϵxz=ϵzx,ϵyz=ϵzy。矩阵中 ϵ i j = ϵ i j r ϵ \epsilon_{ij}=\epsilon^r_{ij}\epsilon ϵij=ϵijrϵ,其中 ϵ i j r \epsilon^r_{ij} ϵijr为方向 i j ij ij的相对介电系数,所以任意方向的感应电场强度为
    D ′ = n ⋅ D = ( n x , n y , n z ) ( ϵ x x ϵ x y ϵ x z ϵ y x ϵ y y ϵ y z ϵ z x ϵ z y ϵ z z ) D'=n\cdot D=(n_x,n_y,n_z)\begin{pmatrix} \epsilon_{xx}&\epsilon_{xy}&\epsilon_{xz}\\\epsilon_{yx}&\epsilon_{yy}&\epsilon_{yz}\\\epsilon_{zx}&\epsilon_{zy}&\epsilon_{zz} \end{pmatrix} D=nD=(nx,ny,nz)ϵxxϵyxϵzxϵxyϵyyϵzyϵxzϵyzϵzz
    其大小为
    ∣ D ′ ∣ = D ′ / n = D ′ ⋅ n = ( n x , n y , n z ) ( ϵ x x ϵ x y ϵ x z ϵ y x ϵ y y ϵ y z ϵ z x ϵ z y ϵ z z ) ( n x n y n z ) |D'|=D'/n=D'\cdot n=(n_x,n_y,n_z)\begin{pmatrix} \epsilon_{xx}&\epsilon_{xy}&\epsilon_{xz}\\\epsilon_{yx}&\epsilon_{yy}&\epsilon_{yz}\\\epsilon_{zx}&\epsilon_{zy}&\epsilon_{zz} \end{pmatrix} \begin{pmatrix} n_x\\n_y\\n_z \end{pmatrix} D=D/n=Dn=(nx,ny,nz)ϵxxϵyxϵzxϵxyϵyyϵzyϵxzϵyzϵzznxnynz
    这就是一个二次型,其图像就是椭球,所以说张量可以用椭球表示。

    张量的散度

    我们知道张量可以表示感应电场,其实他可以表示任意种不同方向不同大小和方向的场,也就是张量场。既然有场,那就有散度的概念。已知下面的张量
    M = ( a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ) M=\begin{pmatrix} a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33} \end{pmatrix} M=a11a21a31a12a22a32a13a23a33
    那么该场为
    f = ( x , y , z ) ( a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ) f=(x,y,z)\begin{pmatrix} a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33} \end{pmatrix} f=(x,y,z)a11a21a31a12a22a32a13a23a33
    散度有两种计算方式,一种是极限的计算方式
    d i v f = lim ⁡ v → 0 ∮ s f d s / v div f=\lim_{v \to 0}\oint_{s}fds/v divf=v0limsfds/v
    还有一种方式为 d i v f = ∇ ⋅ f = ∂ f ∂ x + ∂ f ∂ y + ∂ f ∂ z div f=\nabla \cdot f=\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}+\frac{\partial f}{\partial z} divf=f=xf+yf+zf
    采用第二种比较容易计算,那么张量场的散度为
    d i v f = ∇ ⋅ f = a 11 + a 22 + a 33 div f=\nabla \cdot f=a_{11}+a_{22}+a_{33} divf=f=a11+a22+a33
    也就是说张量的散度就是张量的迹,可知一个方阵无论经过什么样的相似变换,它的迹不变;也就是说场无论经过什么样的坐标变换,它的散度不变。

    展开全文
  • 散度、梯度、张量相关的数学公式

    千次阅读 2021-11-02 20:57:14
    本文是关于梯度、散度、旋度、张量相关的数学表达式和相关运算。其相关的物理意义以后来写。 对相关记号做一下说明: 浅色

    本文是关于梯度、散度、旋度、张量相关的数学表达式和相关运算。相关的物理意义以后来写。

    对相关记号做一下说明:
    黑体希腊文表示张量,比如 τ \pmb{\tau} τττ;
    浅色斜体表示标量,比如 u , v , w u,v,w u,v,w等;
    下黑体小罗马字符表示向量,比如 u , v , w \pmb{\mathrm{u}},\pmb{\mathrm{v}},\pmb{\mathrm{w}} uuu,vvv,www等;
    下黑体大罗马字符表示矩阵,比如 A , B , C \pmb{\mathrm{A}},\pmb{\mathrm{B}},\pmb{\mathrm{C}} AAA,BBB,CCC等。

    除此之外,小括号 " ( ) " "()" "()"内的是标量;中括号 " [ ] " "[]" "[]"内的是向量;大括号 " { } " "\{\}" "{}"内的是张量。

    ①点积: i ⋅ j = j ⋅ k = i ⋅ k = 0 i ⋅ i = j ⋅ j = k ⋅ k = 1 \pmb{\mathrm{i}}\cdot\pmb{\mathrm{j}}=\pmb{\mathrm{j}}\cdot\pmb{\mathrm{k}}=\pmb{\mathrm{i}}\cdot\pmb{\mathrm{k}}=0\qquad\qquad\pmb{\mathrm{i}}\cdot\pmb{\mathrm{i}}=\pmb{\mathrm{j}}\cdot\pmb{\mathrm{j}}=\pmb{\mathrm{k}}\cdot\pmb{\mathrm{k}}=1 iiijjj=jjjkkk=iiikkk=0iiiiii=jjjjjj=kkkkkk=1

    ②叉积:
    i × i = j × j = k × k = 0 i × j = k = − i × j j × k = i = − k × j k × i = j = − i × k \begin{aligned}&\pmb{\mathrm{i}}\times\pmb{\mathrm{i}}=\pmb{\mathrm{j}}\times\pmb{\mathrm{j}}=\pmb{\mathrm{k}}\times\pmb{\mathrm{k}}=0 \qquad\qquad\pmb{\mathrm{i}}\times\pmb{\mathrm{j}}=\pmb{\mathrm{k}}=-\pmb{\mathrm{i}}\times\pmb{\mathrm{j}} \\&\pmb{\mathrm{j}}\times\pmb{\mathrm{k}}=\pmb{\mathrm{i}}=-\pmb{\mathrm{k}}\times\pmb{\mathrm{j}} \qquad\qquad\qquad\quad\pmb{\mathrm{k}}\times\pmb{\mathrm{i}}=\pmb{\mathrm{j}}=-\pmb{\mathrm{i}}\times\pmb{\mathrm{k}}\end{aligned} iii×iii=jjj×jjj=kkk×kkk=0iii×jjj=kkk=iii×jjjjjj×kkk=iii=kkk×jjjkkk×iii=jjj=iii×kkk

    有了上面基本的计算式,下面的操作就比较简单理解了:

    对标量求梯度变为向量: [ ∇ s ] = ∂ s ∂ x i + ∂ s ∂ y j + ∂ s ∂ z k ( ∇ = ∂ ∂ x i + ∂ ∂ y j + ∂ ∂ z k ) [\nabla s]=\frac{\partial s}{\partial x}\pmb{\mathrm{i}}+\frac{\partial s}{\partial y}\pmb{\mathrm{j}}+\frac{\partial s}{\partial z}\pmb{\mathrm{k}}\qquad (\nabla =\frac{\partial }{\partial x}\pmb{\mathrm{i}}+\frac{\partial }{\partial y}\pmb{\mathrm{j}}+\frac{\partial }{\partial z}\pmb{\mathrm{k}}) [s]=xsiii+ysjjj+zskkk(=xiii+yjjj+zkkk)
    对向量求散度为标量:
    ( ∇ ⋅ v ) = ( ∂ ∂ x i + ∂ ∂ y j + ∂ ∂ z k ) ⋅ ( u i + v j + w k ) = ∂ u ∂ x + ∂ v ∂ y + ∂ w ∂ z \begin{aligned} (\nabla \cdot\pmb{\mathrm{v}})&=(\frac{\partial}{\partial x}\pmb{\mathrm{i}}+\frac{\partial}{\partial y}\pmb{\mathrm{j}}+\frac{\partial}{\partial z}\pmb{\mathrm{k}})\cdot(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\\&=\frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}+\frac{\partial w}{\partial z} \end{aligned} (vvv)=(xiii+yjjj+zkkk)(uiii+vjjj+wkkk)=xu+yv+zw
    对向量求旋度:
    [ ∇ × v ] = ( ∂ ∂ x i + ∂ ∂ y j + ∂ ∂ z k ) × ( u i + v j + w k ) = ∣ i j k ∂ ∂ x ∂ ∂ y ∂ ∂ z u v w ∣ \begin{aligned} [\nabla \times\pmb{\mathrm{v}}]&=(\frac{\partial}{\partial x}\pmb{\mathrm{i}}+\frac{\partial}{\partial y}\pmb{\mathrm{j}}+\frac{\partial}{\partial z}\pmb{\mathrm{k}})\times(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\\&=\begin{vmatrix} \pmb{\mathrm{i}}&\pmb{\mathrm{j}}&\pmb{\mathrm{k}}\\ \frac{\partial}{\partial x}&\frac{\partial}{\partial y}&\frac{\partial}{\partial z}\\ u&v&w \end{vmatrix} \end{aligned} [×vvv]=(xiii+yjjj+zkkk)×(uiii+vjjj+wkkk)=iiixujjjyvkkkzw
    以上是基本的运算表达式,下面是几个常用的公式:
    ( ∇ ⋅ ( ∇ s ) ) = ∇ 2 s = ∂ 2 s ∂ x 2 + ∂ 2 s ∂ y 2 + ∂ 2 s ∂ z 2 (\nabla\cdot(\nabla s))={\nabla}^2s=\frac{\partial^2 s}{\partial x^2}+\frac{\partial^2 s}{\partial y^2}+\frac{\partial^2 s}{\partial z^2} ((s))=2s=x22s+y22s+z22s
    [ ∇ ⋅ ( ∇ v ) ] = ∇ 2 v = ( ∇ 2 u ) i + ( ∇ 2 v ) j + ( ∇ 2 w ) k [\nabla\cdot(\nabla \pmb{\mathrm{v}})]={\nabla}^2\pmb{\mathrm{v}}=({\nabla}^2u)\pmb{\mathrm{i}}+({\nabla}^2v)\pmb{\mathrm{j}}+({\nabla}^2w)\pmb{\mathrm{k}} [(vvv)]=2vvv=(2u)iii+(2v)jjj+(2w)kkk
    [ ( v ⋅ ∇ ) v ] = ( u i + v j + w k ) ⋅ ( ∂ ∂ x i + ∂ ∂ y j + ∂ ∂ z k ) ( u i + v j + w k ) = ( u ∂ u ∂ x + v ∂ v ∂ y + w ∂ w ∂ z ) i + ( u ∂ u ∂ x + v ∂ v ∂ y + w ∂ w ∂ z ) j + ( u ∂ u ∂ x + v ∂ v ∂ y + w ∂ w ∂ z ) k \begin{aligned}[(\pmb{\mathrm{v}}\cdot\nabla)\pmb{\mathrm{v}}]&=(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\cdot(\frac{\partial}{\partial x}\pmb{\mathrm{i}}+\frac{\partial}{\partial y}\pmb{\mathrm{j}}+\frac{\partial}{\partial z}\pmb{\mathrm{k}})(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\\&=(u\frac{\partial u}{\partial x}+v\frac{\partial v}{\partial y}+w\frac{\partial w}{\partial z})\pmb{\mathrm{i}}+(u\frac{\partial u}{\partial x}+v\frac{\partial v}{\partial y}+w\frac{\partial w}{\partial z})\pmb{\mathrm{j}}\\&+(u\frac{\partial u}{\partial x}+v\frac{\partial v}{\partial y}+w\frac{\partial w}{\partial z})\pmb{\mathrm{k}}\end{aligned} [(vvv)vvv]=(uiii+vjjj+wkkk)(xiii+yjjj+zkkk)(uiii+vjjj+wkkk)=(uxu+vyv+wzw)iii+(uxu+vyv+wzw)jjj+(uxu+vyv+wzw)kkk
    张量:
    { v v } = ( u i + v j + w k ) ( u i + v j + w k ) = u u i i + u v i j + u w i k + v u j i + v v j j + v w j k + w u k i + w v k j + w w k k = [ u u u v u w v u v v v w w u w v w w ] \begin{aligned} \{\pmb{\mathrm{v}}\pmb{\mathrm{v}}\}&=(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\\&= uu\pmb{\mathrm{i}}\pmb{\mathrm{i}}+uv\pmb{\mathrm{i}}\pmb{\mathrm{j}}+uw\pmb{\mathrm{i}}\pmb{\mathrm{k}}+vu\pmb{\mathrm{j}}\pmb{\mathrm{i}}+vv\pmb{\mathrm{j}}\pmb{\mathrm{j}}+vw\pmb{\mathrm{j}}\pmb{\mathrm{k}}+wu\pmb{\mathrm{k}}\pmb{\mathrm{i}}+wv\pmb{\mathrm{k}}\pmb{\mathrm{j}}+ww\pmb{\mathrm{k}}\pmb{\mathrm{k}}\\&=\begin{bmatrix} uu&uv&uw\\ vu&vv&vw\\ wu&wv&ww \end{bmatrix} \end{aligned} {vvvvvv}=(uiii+vjjj+wkkk)(uiii+vjjj+wkkk)=uuiiiiii+uviiijjj+uwiiikkk+vujjjiii+vvjjjjjj+vwjjjkkk+wukkkiii+wvkkkjjj+wwkkkkkk=uuvuwuuvvvwvuwvwww
    对向量求梯度为张量:
    { ∇ v } = ( ∂ ∂ x i + ∂ ∂ y j + ∂ ∂ z k ) ( u i + v j + w k ) = [ ∂ u ∂ x ∂ v ∂ x ∂ w ∂ x ∂ u ∂ y ∂ v ∂ y ∂ w ∂ y ∂ u ∂ z ∂ v ∂ z ∂ w ∂ z ] \begin{aligned} \{\nabla \pmb{\mathrm{v}}\}&=(\frac{\partial}{\partial x}\pmb{\mathrm{i}}+\frac{\partial}{\partial y}\pmb{\mathrm{j}}+\frac{\partial}{\partial z}\pmb{\mathrm{k}})(u\pmb{\mathrm{i}}+v\pmb{\mathrm{j}}+w\pmb{\mathrm{k}})\\&= \begin{bmatrix} \frac{\partial u}{\partial x}&\frac{\partial v}{\partial x}&\frac{\partial w}{\partial x}\\ \frac{\partial u}{\partial y}&\frac{\partial v}{\partial y}&\frac{\partial w}{\partial y}\\ \frac{\partial u}{\partial z}&\frac{\partial v}{\partial z}&\frac{\partial w}{\partial z} \end{bmatrix} \end{aligned} {vvv}=(xiii+yjjj+zkkk)(uiii+vjjj+wkkk)=xuyuzuxvyvzvxwywzw

    以上便是这篇文章全部内容,难免有些错误~~~。


    封面图来自网络。

    展开全文
  • 梯度、散度、旋度的简单总结

    千次阅读 2020-05-09 22:06:58
    梯度、散度、旋度的简单总结梯度散度旋度 梯度 ![梯度公式]](https://img-blog.csdnimg.cn/20200509215050880.png) 梯度是哈密尔顿算子直接作用于函数F得到的,不论F是标量还是向量,标量的梯度是向量,也即也即一阶...

    梯度、散度、旋度的简单总结

    梯度

    在这里插入图片描述

    梯度是哈密尔顿算子直接作用于函数F得到的,不论F是标量还是向量,标量的梯度是向量,也即也即一阶张量,向量函数的梯度为二阶张量。
    在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。更严格的说,从欧氏空间Rn到R的函数的梯度是在Rn某一点最佳的线性近似。在这个意义上,梯度是雅戈比矩阵的一个特殊情况。
    在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。
    梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。可以通过取向量梯度和所研究的方向的点积来得到斜度。梯度的数值有时也被成为梯度。

    散度

    在这里插入图片描述
    在这里插入图片描述

    旋度

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 该程序使用 tKL 找到一组张量的中心参考: Baba C. Vemuri, Meizhu Liu, Shun-Ichi Amari 和 Frank Nielsen, 总 Bregman 散度及其在 DTI 分析中的应用, IEEE 医学影像学报 (TMI'10),2010 年。 Meizhu Liu、Baba C...
  • 该方法利用张量图像的散度算子构造新的外力,引导水平集函数的自适应运动,使得其可以初始为常值函数,消失其演化对初始轮廓的需要;在偏微分方程中引入张量迹信息,减少噪声对其演化的影响,避免轮廓在弱边缘处泄露...
  • 张量张量相乘:新张量每一个分量=张量一的每一个分量与张量二的每一个分量相乘,阶数为两个张量阶数和。 哈密顿算子Hamiltonian,矢量,只对右边的量发生微分作用。 ▽后面跟标量场f,表示梯度Grad,梯度的...
  • 该方法利用张量图像的散度算子构造新的外力,引导水平集函数的自适应运动,使得其可以初始为常值函数,消失其演化对初始轮廓的需要;在偏微分方程中引入张量迹信息,减少噪声对其演化的影响,避免轮廓在弱边缘处泄露...
  • 主要研究结构张量驱动的变分偏微分方程( variational Partial Differential Equation; variational PDE) 图像建 模方法的滤波性能. 基于角形强度度量和水平线演化理论, 设计了一种具有角点增强性能的角形冲击...
  • 旋度的散度恒为0

    2021-10-07 22:02:58
    ∇×A=∣lx^y^z^∂∂x∂∂y∂∂zAxAyAz∣=x^⋅∂Az∂y+y^⋅∂Ax∂z+z^⋅∂Ay∂x−z^⋅∂Ax∂y−x^⋅∂Ay∂z−y^⋅∂Az∂x=x^(∂Az∂y−∂Ay∂z)+y^(∂Ax∂z−∂Az∂x)+z^(∂Ay∂x−∂Ax∂y)\nabla \times A = \begin...
  • 张量分解浅谈(二 CP NMF 张量秩)

    千次阅读 多人点赞 2020-07-18 22:59:26
    欢迎大家来到这一期的张量分解博客学习,本期博客的主要内容就是标题,难度会加大,本人也有写的错误的地方,烦请大家不吝赐教!
  • 安装从PyPi $ pip install gs_divergence来自GitHub $ git clone https://github.com/nocotan/geodesical_skew_divergence$ python setup.py install用法计算两个张量的差异import torchfrom gs_divergence import ...
  • 1) runco​​ord 绘制了几个典型坐标系的相交坐标面2) runmetric 计算并打印用户定义函数(例如 sphr.m)中指定的一般曲线坐标系的度量张量属性3) rundivcrl 验证在笛卡尔坐标和曲线坐标中计算的任意向量的散度和旋...
  • 旋度的散度恒为0公式推导

    千次阅读 2021-10-07 22:30:40
  • KL散度是一种衡量两个分布(比如两条线)之间的匹配程度的方法。 KL 散度在形式上定义如下: p和q分别是两个分布的概率值,挺好理解的。但这是离散的。 举个例子: KL散度越大越好。这就讲完了,KL散度好...
  • 现在假设你要用tensorflow计算两个多元高斯分布之间的KL散度,用闭式解,该如何用tensorflow2.x实现。 看到这个公式,相比大家都是头疼的,尤其在训练时候,还要考虑Batch的维度。今天就用tensorflow实现一下。 1. ...
  • KL散度

    2021-02-06 18:38:31
    Reference 信息熵, 相对熵与交叉熵
  • 【数学】张量通俗入门

    千次阅读 2022-03-17 20:25:55
    1 张量 张量就是一组有序数。 或者说,张量就是一组有序数的表现方式,或者说是记号。比如向量是一种表现方式,矩阵是一种表现方式,张量同样也是一种表现方式。它本质就是一组有序的数字而已。 值得指出的是,张量...
  • 一文搞懂散度

    万次阅读 多人点赞 2018-09-29 23:27:28
    Divergence Measures 介绍 在机器学习中,我们常常需要用一...而这一个目标函数,正是Divergence(散度),比如常见的KL-Divergence,JS-Divergence等等。通过这个散度的计算我们就能不断地去优化我们的Q,寻找一个最...
  • 研究List流上梯度ShrinkingSolitons的广义Ricci张量和广义数量曲率的增长行为。通过选取适当的截断函数,利用散度定理,得到了广义Ricci张量的积分上界估计。另外,还得到了广义数量曲率的积分上界估计。
  • matlab张量积代码RBM火炬工具箱 RBM工具箱是用于在线培训RBM的Torch7工具箱。 MATLAB版本位于。 支持以下内容: 支持对带有等级标签的RBM进行培训,包括: 生成培训目标[2,7] 歧视性培训目标[2,7] 混合训练目标[2,7]...
  • 梯度和散度那些事

    千次阅读 2018-11-02 17:15:46
    1 .基本知识 2.曲率漂移 3.梯度漂移 4.张量散度
  • 剪切应力张量

    千次阅读 2020-07-18 18:50:40
    本文介绍了N-S方程中的剪切张量,并介绍了膨胀粘度项,应变率以及相应的剪切应力化简形式
  • 贝叶斯和KL散度

    2019-04-22 19:07:31
  • 本文介绍了熵、信息量、交叉熵、KL散度,通俗易懂。并给出pytorch中torch.nn.CrossEntropyLoss,NLLLoss(),torch.nn.KLDivLoss的使用。利用pytorch实现了一个基于标签平滑的KL损失。
  • 哈密顿算子与梯度、散度、旋度

    万次阅读 多人点赞 2020-05-20 11:41:07
    3、矢量场的散度 ∇ ∙ V ⃗ = ∂ V x ∂ x + ∂ V y ∂ y + ∂ V z ∂ z = d i v V ⃗ \nabla \bullet \vec{V}=\frac{\partial V_{x}}{\partial x}+\frac{\partial V_{y}}{\partial y}+\frac{\partial V_{z}}{\...
  • Duf=▽f⋅u⃗D_{u}f= \triangledown f\cdot\vec{u}Du​f=▽f⋅u 矢量场的散度与通量 根据矢量点乘的运算规则, ▽\triangledown▽与一个矢量的点乘是一个标量,它代表了矢量场的散度 divF⃗=▽⋅F⃗=∂∂xiei⃗⋅F...
  • 【数学】张量

    2020-12-31 15:43:47
    网站、 https://wenku.baidu.com/view/ab76fe504b73f242336c5f81.html (介绍二阶张量的梯度和散度

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,175
精华内容 470
关键字:

张量散度

友情链接: DAC8571(16位DA).zip