The finite element method using deal.II - 2021/2022
step-3.h
Go to the documentation of this file.
1 /* ---------------------------------------------------------------------
2  *
3  * Copyright (C) 1999 - 2020 by the deal.II authors
4  *
5  * This file is part of the deal.II library.
6  *
7  * The deal.II library is free software; you can use it, redistribute
8  * it, and/or modify it under the terms of the GNU Lesser General
9  * Public License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  * The full text of the license can be found in the file LICENSE.md at
12  * the top level directory of deal.II.
13  *
14  * ---------------------------------------------------------------------
15  *
16  * Authors: Wolfgang Bangerth, 1999,
17  * Guido Kanschat, 2011
18  * Luca Heltai, 2021
19  */
20 
21 // Make sure we don't redefine things
22 #ifndef step3_include_file
23 #define step3_include_file
24 
25 #include <deal.II/base/function.h>
27 
29 #include <deal.II/dofs/dof_tools.h>
30 
31 #include <deal.II/fe/fe_q.h>
32 #include <deal.II/fe/fe_values.h>
33 
35 #include <deal.II/grid/tria.h>
36 
40 #include <deal.II/lac/solver_cg.h>
42 #include <deal.II/lac/vector.h>
43 
47 
48 #include <fstream>
49 #include <iostream>
50 
51 // Forward declare the tester class
52 class Step3Tester;
53 
54 using namespace dealii;
55 class Step3
56 {
57 public:
58  Step3();
59  void
60  run();
61 
62 protected:
63  void
64  make_grid();
65  void
66  setup_system();
67  void
68  assemble_system();
69  void
70  solve();
71  void
72  output_results() const;
73 
81 
82  friend class Step3Tester;
83 };
84 
85 #endif
dynamic_sparsity_pattern.h
Step3::fe
FE_Q< 2 > fe
Definition: step-3.h:75
FE_Q< 2 >
dealii
grid_generator.h
Step3::system_rhs
Vector< double > system_rhs
Definition: step-3.h:80
Triangulation< 2 >
SparseMatrix< double >
Step3::dof_handler
DoFHandler< 2 > dof_handler
Definition: step-3.h:76
matrix_tools.h
DoFHandler< 2 >
fe_values.h
function.h
Step3::sparsity_pattern
SparsityPattern sparsity_pattern
Definition: step-3.h:77
sparse_matrix.h
vector_tools.h
tria.h
run
virtual void run(ParameterHandler &prm)=0
SparsityPattern
data_out.h
Step3::triangulation
Triangulation< 2 > triangulation
Definition: step-3.h:74
make_grid
void make_grid(Triangulation< 2 > &triangulation)
Definition: step-2.cc:41
Step3
Definition: step-3.h:55
fe_q.h
dof_tools.h
precondition.h
Step3::system_matrix
SparseMatrix< double > system_matrix
Definition: step-3.h:78
Step3Tester
Definition: step-3-tester.cc:10
full_matrix.h
dof_handler.h
Vector< double >
vector.h
solver_cg.h
Step3::solution
Vector< double > solution
Definition: step-3.h:79
quadrature_lib.h