⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeslabjacobian.cpp

📁 利用C
💻 CPP
字号:
// Copyright (C) 2005-2008 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added:  2005-01-28// Last changed: 2008-04-08#include "ODE.h"#include "Method.h"#include "TimeSlab.h"#include "TimeSlabJacobian.h"using namespace dolfin;//-----------------------------------------------------------------------------TimeSlabJacobian::TimeSlabJacobian(TimeSlab& timeslab)  : ode(timeslab.ode), method(*timeslab.method){  // Do nothing}//-----------------------------------------------------------------------------TimeSlabJacobian::~TimeSlabJacobian(){  // Do nothing}//-----------------------------------------------------------------------------void TimeSlabJacobian::init(){  // Do nothing}//-----------------------------------------------------------------------------void TimeSlabJacobian::update(){  cout << "Recomputing Jacobian" << endl;  // Initialize matrix if not already done  const uint N = ode.size();  A.init(N, N);  ej.init(N);  Aj.init(N);  // Reset unit vector  ej.zero();  // Compute columns of Jacobian  for (uint j = 0; j < ode.size(); j++)  {    ej[j] = 1.0;    //cout << ej << endl;    //cout << Aj << endl;        // Compute product Aj = Aej    mult(ej, Aj);        // Set column of A    column(A.mat(), j) = Aj.vec();        ej[j] = 0.0;  }}//-----------------------------------------------------------------------------const uBlasDenseMatrix& TimeSlabJacobian::matrix() const{  dolfin_assert(A.size(0) == ode.size());  return A;}//-----------------------------------------------------------------------------

⌨️ 快捷键说明

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