Logbook  (07-04-2025)
Static problems
project_Aphi_to_Brz.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 ProjectAphiToBrz_H__
13 #define ProjectAphiToBrz_H__
14 
15 #include "project_Hgrad_to_Hdiv.hpp"
16 
17 namespace StaticScalarSolver {
101 template<int stage = 1>
102 class ProjectAphiToBrz : public ProjectHgradToHdiv<2, stage>
103 {
104 public:
105  ProjectAphiToBrz() = delete;
147  ProjectAphiToBrz(unsigned int p,
148  unsigned int mapping_degree,
149  const Triangulation<2>& triangulation_A,
150  const DoFHandler<2>& dof_handler_A,
151  const Vector<double>& solution_A,
152  std::string fname = "Brz",
153  const Function<2>* exact_solution = nullptr,
154  bool print_time_tables = false,
155  bool project_exact_solution = false,
156  bool log_cg_convergence = false,
157  bool write_higher_order_cells = false)
158  : ProjectHgradToHdiv<2, stage>(p,
159  mapping_degree,
160  triangulation_A,
161  dof_handler_A,
162  solution_A,
163  fname,
164  exact_solution,
165  true, // axisymmetric
166  true, // vector potential
167  print_time_tables,
168  project_exact_solution,
169  log_cg_convergence,
170  write_higher_order_cells)
171  {
172  }
173 };
174 
175 } // namespace StaticScalarSolver
176 
177 #endif
Computes the two-dimensional scaled magnetic field as a vector curl of the scaled magnetic vector po...
ProjectAphiToBrz(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="Brz", 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.