Logbook  (07-04-2025)
Static problems
project_Az_to_Bxy.hpp
1 /******************************************************************************
2  * Copyright (C) Siarhei Uzunbajakau, 2023.
3  *
4  * This program is free software. You can use, modify, and redistribute it under
5  * the terms of the GNU Lesser General Public License as published by the Free
6  * Software Foundation, either version 3 or (at your option) any later version.
7  * This program is distributed without any warranty.
8  *
9  * Refer to COPYING.LESSER for more details.
10  ******************************************************************************/
11 
12 #ifndef ProjectAzToBxy_H__
13 #define ProjectAzToBxy_H__
14 
15 #include "project_Hgrad_to_Hdiv.hpp"
16 
17 namespace StaticScalarSolver {
96 template<int stage = 1>
97 class ProjectAzToBxy : public ProjectHgradToHdiv<2, stage>
98 {
99 public:
100  ProjectAzToBxy() = delete;
142  ProjectAzToBxy(unsigned int p,
143  unsigned int mapping_degree,
144  const Triangulation<2>& triangulation_A,
145  const DoFHandler<2>& dof_handler_A,
146  const Vector<double>& solution_A,
147  std::string fname = "Bxy",
148  const Function<2>* exact_solution = nullptr,
149  bool print_time_tables = false,
150  bool project_exact_solution = false,
151  bool log_cg_convergence = false,
152  bool write_higher_order_cells = false)
153  : ProjectHgradToHdiv<2, stage>(p,
154  mapping_degree,
155  triangulation_A,
156  dof_handler_A,
157  solution_A,
158  fname,
159  exact_solution,
160  false, // axisymmetric
161  true, // vector potential
162  print_time_tables,
163  project_exact_solution,
164  log_cg_convergence,
165  write_higher_order_cells)
166  {
167  }
168 };
169 
170 } // namespace StaticScalarSolver
171 
172 #endif
Computes the two-dimensional magnetic field as a vector curl of the magnetic vector potential,...
ProjectAzToBxy(unsigned int p, unsigned int mapping_degree, const Triangulation< 2 > &triangulation_A, const DoFHandler< 2 > &dof_handler_A, const Vector< double > &solution_A, std::string fname="Bxy", const Function< 2 > *exact_solution=nullptr, bool print_time_tables=false, bool project_exact_solution=false, bool log_cg_convergence=false, bool write_higher_order_cells=false)
The only constructor.