initialv.cpp

来自「OFELI is an object oriented library of C」· C++ 代码 · 共 52 行

CPP
52
字号
/*==============================================================================

   Copyright (C) 1998 - 2004 Rachid Touzani

   This program is free software; you can redistribute it and/or modify it under
   the terms of the GNU General Public License as published by the Free 
   Software Foundation; Version 2 of the License.

   This program is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
   FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
   details.

   You should have received a copy of the GNU General Public License 
   along with this program; if not, write to the :

   Free Software Foundation
   Inc., 59 Temple Place - Suite 330
   Boston, MA  02111-1307, USA

  ==============================================================================*/

#include "main.h"

using namespace OFELI;

void InitialV(double deltat, Mesh &ms, SpMatrix<> &A, const Vect<> &M,
              const ILUPrec< double,SpMatrix<> > &P, Vect<> &b, Vect<> &u,
              Vect<> &ub, Vect<> &p, Vect<> &q)
//------------------------------------------------------------------------------
//                             Update velocity field
//------------------------------------------------------------------------------
{
   Element *e;
   LocalVect<double,3> dx, dy;

// Calculate initial bubble velocities
   for (ms.TopElement(); (e=ms.GetElement());) {
      ub(2*e->Label()-1) = u(2*e->NodeLabel(1)-1) + u(2*e->NodeLabel(2)-1) + 
                           u(2*e->NodeLabel(3)-1);
      ub(2*e->Label()  ) = u(2*e->NodeLabel(1)  ) + u(2*e->NodeLabel(2)  ) +
                           u(2*e->NodeLabel(3)  );
   }
   Scale(OFELI_THIRD,ub);

// Calculate initial pressure
   CalPres(deltat, ms, A, P, u, ub, p, q);

// Project velocity
   UpdateV(ms, deltat, M, q, u, ub);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?