libmesh解析
本工作只是尝试解析原libmesh的代码,供学习使用
全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 
refinement_selector.h
浏览该文件的文档.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2023 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 
19 
20 #ifndef LIBMESH_REFINEMENT_SELECTOR_H
21 #define LIBMESH_REFINEMENT_SELECTOR_H
22 
23 // Local Includes
24 #include "libmesh/libmesh_common.h"
25 
26 // C++ includes
27 #include <vector>
28 
29 namespace libMesh
30 {
31 
32 // Forward Declarations
33 class EquationSystems;
34 class System;
35 
45 {
46 public:
47 
51  RefinementSelector() = default;
52 
56  virtual ~RefinementSelector() = default;
57 
63  virtual void select_refinement (const System & system);
64 
69  std::vector<float> component_scale;
70 };
71 
72 } // namespace libMesh
73 
74 #endif // LIBMESH_REFINEMENT_SELECTOR_H
virtual ~RefinementSelector()=default
析构函数。
这个抽象类提供了一个接口,用于选择在给定网格中的每个元素上要使用的细化类型。 目前我们假设一组元素已经被标记为 h 细化,而唯一的具体子类将会更改其中一些元素以标记为 p 细化。 未来的子类可能会处理各...
std::vector< float > component_scale
这个向量可以用于“缩放”系统中的某些变量。 如果掩码不为空,则每个组件的考虑将按组件比例 component_scale[c] 缩放。
RefinementSelector()=default
构造函数。
virtual void select_refinement(const System &system)
这个纯虚函数必须在派生类中重新定义,以接受一个已标记 h 细化的网格,并可能更改所需的细化类型。