The finite element method using deal.II - 2021/2022
|
|
template<int dim>
class Step4< dim >
Definition at line 49 of file step-4.cc.
◆ Step4()
◆ run()
Definition at line 233 of file step-4.cc.
235 std::cout <<
"Solving problem in " << dim <<
" space dimensions."
◆ make_grid()
template<int dim>
void Step4< dim >::make_grid |
|
private |
◆ setup_system()
template<int dim>
void Step4< dim >::setup_system |
|
private |
◆ assemble_system()
template<int dim>
void Step4< dim >::assemble_system |
|
private |
Definition at line 154 of file step-4.cc.
160 update_values | update_gradients |
161 update_quadrature_points | update_JxW_values);
168 fe_values.reinit(cell);
171 for (
const unsigned int q_index : fe_values.quadrature_point_indices())
172 for (
const unsigned int i : fe_values.dof_indices())
174 for (
const unsigned int j : fe_values.dof_indices())
176 (fe_values.shape_grad(i, q_index) *
177 fe_values.shape_grad(j, q_index) *
178 fe_values.JxW(q_index));
179 const auto x_q = fe_values.quadrature_point(q_index);
180 cell_rhs(i) += (fe_values.shape_value(i, q_index) *
181 right_hand_side.
value(x_q) *
182 fe_values.JxW(q_index));
184 cell->get_dof_indices(local_dof_indices);
185 for (
const unsigned int i : fe_values.dof_indices())
187 for (
const unsigned int j : fe_values.dof_indices())
189 local_dof_indices[j],
191 system_rhs(local_dof_indices[i]) += cell_rhs(i);
194 std::map<types::global_dof_index, double> boundary_values;
◆ solve()
Definition at line 208 of file step-4.cc.
213 std::cout <<
" " << solver_control.last_step()
214 <<
" CG iterations needed to obtain convergence." << std::endl;
◆ output_results()
template<int dim>
void Step4< dim >::output_results |
|
private |
Definition at line 220 of file step-4.cc.
226 std::ofstream
output(dim == 2 ?
"solution-2d.vtk" :
"solution-3d.vtk");
◆ triangulation
◆ fe
◆ dof_handler
◆ sparsity_pattern
◆ system_matrix
◆ solution
◆ system_rhs
The documentation for this class was generated from the following file:
void add(const size_type i, const size_type j, const double value)
std::vector< types::global_dof_index > local_dof_indices
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
void refine_global(const unsigned int times=1)
void output_results() const
void write_vtk(std::ostream &out) const
void cell_matrix(FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, const ArrayView< const std::vector< double >> &velocity, const double factor=1.)
void attach_dof_handler(const DoFHandler< dim, spacedim > &)
SparsityPattern sparsity_pattern
void distribute_dofs(const FiniteElement< dim, spacedim > &fe)
const unsigned int degree
void make_sparsity_pattern(const DoFHandler< dim, spacedim > &dof_handler, SparsityPatternType &sparsity_pattern, const AffineConstraints< number > &constraints=AffineConstraints< number >(), const bool keep_constrained_dofs=true, const types::subdomain_id subdomain_id=numbers::invalid_subdomain_id)
DoFHandler< dim > dof_handler
virtual void reinit(const SparsityPattern &sparsity)
const unsigned int dofs_per_cell
virtual void build_patches(const unsigned int n_subdivisions=0)
Vector< double > system_rhs
virtual void reinit(const size_type N, const bool omit_zeroing_entries=false)
void copy_from(const size_type n_rows, const size_type n_cols, const ForwardIterator begin, const ForwardIterator end)
void hyper_cube(Triangulation< dim, spacedim > &tria, const double left=0., const double right=1., const bool colorize=false)
void add_data_vector(const VectorType &data, const std::vector< std::string > &names, const DataVectorType type=type_automatic, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation={})
Triangulation< dim > triangulation
Vector< double > solution
unsigned int n_active_cells() const
IteratorRange< active_cell_iterator > active_cell_iterators() const
unsigned int n_cells() const
SparseMatrix< double > system_matrix
types::global_dof_index n_dofs() const