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

📄 multiadaptivefixedpointsolver.h

📁 利用C
💻 H
字号:
// Copyright (C) 2005-2006 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added:  2005-01-27// Last changed: 2006-08-08#ifndef __MULTI_ADAPTIVE_FIXED_POINT_SOLVER_H#define __MULTI_ADAPTIVE_FIXED_POINT_SOLVER_H#include <dolfin/common/types.h>#include "TimeSlabSolver.h"namespace dolfin{  class MultiAdaptiveTimeSlab;    /// This class implements fixed-point iteration on multi-adaptive  /// time slabs. In each iteration, the solution is updated according  /// to the fixed-point iteration x = g(x). The iteration is  /// performed forward in time Gauss-Seidel style, i.e., the degrees  /// of freedom on an element are updated according to x = g(x) and  /// the new values are used when updating the remaining elements.  class MultiAdaptiveFixedPointSolver : public TimeSlabSolver  {  public:    /// Constructor    MultiAdaptiveFixedPointSolver(MultiAdaptiveTimeSlab& timeslab);    /// Destructor    ~MultiAdaptiveFixedPointSolver();  protected:    /// Retry solution of system by switching strategy    bool retry();    // Start iterations    void start();    // End iterations    void end();    // Make an iteration    real iteration(real tol, uint iter, real d0, real d1);    /// Size of system    uint size() const;  private:    // The time slab    MultiAdaptiveTimeSlab& ts;    // Values of right-hand side at quadrature points    real* f;     // Total number of elements    uint num_elements;        // Estimated number of elements for mono-adaptive system    real num_elements_mono;    // Maximum number of local iterations    uint maxiter_local;        // True if we should use diagonal Newton damping    bool diagonal_newton_damping;    // Diagonal of Jacobian df/du    real* dfdu;  };}#endif

⌨️ 快捷键说明

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