PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
assembler_PCC_2D_functions.hpp
Go to the documentation of this file.
1// _LICENSE_HEADER_
2//
3// Copyright (C) 2019 - 2025.
4// Terms register on the GPL-3.0 license.
5//
6// This file can be redistributed and/or modified under the license terms.
7//
8// See top level LICENSE file for more details.
9//
10// This file can be used citing references in CITATION.cff file.
11
12#ifndef __PDETOOLS_ASSEMBLER_assembler_PCC_2D_functions_HPP
13#define __PDETOOLS_ASSEMBLER_assembler_PCC_2D_functions_HPP
14
16#include "DOFsManager.hpp"
17#include "LocalSpace_PCC_2D.hpp"
18#include "MeshUtilities.hpp"
19
21
22namespace Polydim
23{
24namespace PDETools
25{
26namespace Assembler_Utilities
27{
28namespace PCC_2D
29{
30// ***************************************************************************
31Eigen::VectorXd assemble_source_term(const Gedim::GeometryUtilities &geometry_utilities,
32 const Gedim::MeshMatricesDAO &mesh,
33 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
35 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
36 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
37 const std::function<double(const double &, const double &, const double &)> &source_term_function);
38// ***************************************************************************
39Eigen::VectorXd assemble_source_term(
40 const Gedim::GeometryUtilities &geometry_utilities,
41 const Gedim::MeshMatricesDAO &mesh,
42 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
45 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
46 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
47 const Eigen::VectorXd &numerical_solution,
48 const Eigen::VectorXd &numerical_solution_strong,
49 const std::function<double(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &source_term_function);
50// ***************************************************************************
51Eigen::VectorXd assemble_source_term_gradients(
52 const Gedim::GeometryUtilities &geometry_utilities,
53 const Gedim::MeshMatricesDAO &mesh,
54 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
57 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
58 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
59 const Eigen::VectorXd &numerical_solution,
60 const Eigen::VectorXd &numerical_solution_strong,
61 const std::function<std::array<double, 3>(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &source_term_function);
62// ***************************************************************************
64 const Gedim::GeometryUtilities &geometry_utilities,
65 const Gedim::MeshMatricesDAO &mesh,
66 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
69 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
70 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
71 const std::function<std::array<double, 9>(const double &, const double &, const double &)> &diffusion_term_function,
72 const std::function<std::array<double, 3>(const double &, const double &, const double &)> &advection_term_function,
73 const std::function<double(const double &, const double &, const double &)> &reaction_term_function);
74// ***************************************************************************
76 const Gedim::GeometryUtilities &geometry_utilities,
77 const Gedim::MeshMatricesDAO &mesh,
78 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
81 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
82 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
83 const std::function<double(const double &, const double &, const double &)> &diffusion_term_function);
84// ***************************************************************************
86 const Gedim::GeometryUtilities &geometry_utilities,
87 const Gedim::MeshMatricesDAO &mesh,
88 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
91 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
92 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
93 const std::function<std::array<double, 9>(const double &, const double &, const double &)> &diffusion_term_function)
94{
95 return assemble_elliptic_operator(geometry_utilities,
96 mesh,
97 mesh_geometric_data,
98 trial_dofs_data,
99 test_dofs_data,
100 trial_reference_element_data,
101 test_reference_element_data,
102 diffusion_term_function,
103 nullptr,
104 nullptr);
105}
106// ***************************************************************************
108 const Gedim::GeometryUtilities &geometry_utilities,
109 const Gedim::MeshMatricesDAO &mesh,
110 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
113 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
114 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
115 const std::function<double(const double &, const double &, const double &)> &reaction_term_function)
116{
117 return assemble_elliptic_operator(geometry_utilities,
118 mesh,
119 mesh_geometric_data,
120 trial_dofs_data,
121 test_dofs_data,
122 trial_reference_element_data,
123 test_reference_element_data,
124 nullptr,
125 nullptr,
126 reaction_term_function);
127}
128// ***************************************************************************
130 const Gedim::GeometryUtilities &geometry_utilities,
131 const Gedim::MeshMatricesDAO &mesh,
132 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
135 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
136 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
137 const std::function<std::array<double, 3>(const double &, const double &, const double &)> &advection_term_function)
138{
139 return assemble_elliptic_operator(geometry_utilities,
140 mesh,
141 mesh_geometric_data,
142 trial_dofs_data,
143 test_dofs_data,
144 trial_reference_element_data,
145 test_reference_element_data,
146 nullptr,
147 advection_term_function,
148 nullptr);
149}
150// ***************************************************************************
152 const Gedim::GeometryUtilities &geometry_utilities,
153 const Gedim::MeshMatricesDAO &mesh,
154 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
157 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
158 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
159 const Eigen::VectorXd &numerical_solution,
160 const Eigen::VectorXd &numerical_solution_strong,
161 const std::function<double(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &diffusion_term_function,
162 const std::function<std::array<double, 3>(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &advection_term_function,
163 const std::function<double(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &reaction_term_function);
164// ***************************************************************************
166 const Gedim::GeometryUtilities &geometry_utilities,
167 const Gedim::MeshMatricesDAO &mesh,
168 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
171 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
172 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
173 const Eigen::VectorXd &numerical_solution,
174 const Eigen::VectorXd &numerical_solution_strong,
175 const std::function<double(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &diffusion_term_function)
176{
177 return assemble_elliptic_operator(geometry_utilities,
178 mesh,
179 mesh_geometric_data,
180 trial_dofs_data,
181 test_dofs_data,
182 trial_reference_element_data,
183 test_reference_element_data,
184 numerical_solution,
185 numerical_solution_strong,
186 diffusion_term_function,
187 nullptr,
188 nullptr);
189}
190// ***************************************************************************
192 const Gedim::GeometryUtilities &geometry_utilities,
193 const Gedim::MeshMatricesDAO &mesh,
194 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
197 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
198 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
199 const Eigen::VectorXd &numerical_solution,
200 const Eigen::VectorXd &numerical_solution_strong,
201 const std::function<double(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &reaction_term_function)
202{
203 return assemble_elliptic_operator(geometry_utilities,
204 mesh,
205 mesh_geometric_data,
206 trial_dofs_data,
207 test_dofs_data,
208 trial_reference_element_data,
209 test_reference_element_data,
210 numerical_solution,
211 numerical_solution_strong,
212 nullptr,
213 nullptr,
214 reaction_term_function);
215}
216// ***************************************************************************
218 const Gedim::GeometryUtilities &geometry_utilities,
219 const Gedim::MeshMatricesDAO &mesh,
220 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
223 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
224 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
225 const Eigen::VectorXd &numerical_solution,
226 const Eigen::VectorXd &numerical_solution_strong,
227 const std::function<std::array<double, 3>(const double &, const double &, const double &, const double &, const std::array<double, 3> &)> &advection_term_function)
228{
229 return assemble_elliptic_operator(geometry_utilities,
230 mesh,
231 mesh_geometric_data,
232 trial_dofs_data,
233 test_dofs_data,
234 trial_reference_element_data,
235 test_reference_element_data,
236 numerical_solution,
237 numerical_solution_strong,
238 nullptr,
239 advection_term_function,
240 nullptr);
241}
242// ***************************************************************************
243Eigen::VectorXd assemble_strong_solution(
244 const Gedim::GeometryUtilities &geometry_utilities,
245 const Gedim::MeshMatricesDAO &mesh,
246 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
247 const Polydim::PDETools::DOFs::DOFsManager::MeshDOFsInfo &trial_mesh_dofs_info,
249 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
250 const std::function<double(const unsigned int, const double &, const double &, const double &)> &strong_solution_function);
251// ***************************************************************************
252Evaluate_Function_On_DOFs_Data evaluate_function_on_dofs(
253 const Gedim::GeometryUtilities &geometry_utilities,
254 const Gedim::MeshMatricesDAO &mesh,
255 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
257 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
258 const std::function<double(const double &, const double &, const double &)> &evaluation_function);
259// ***************************************************************************
261 const Gedim::GeometryUtilities &geometry_utilities,
262 const Gedim::MeshMatricesDAO &mesh,
263 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
265 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
266 const std::function<double(const double &, const double &, const double &)> &exact_solution_function)
267{
268 return evaluate_function_on_dofs(geometry_utilities, mesh, mesh_geometric_data, trial_dofs_data, trial_reference_element_data, exact_solution_function);
269}
270// ***************************************************************************
271Eigen::VectorXd assemble_weak_term(
272 const Gedim::GeometryUtilities &geometry_utilities,
273 const Gedim::MeshMatricesDAO &mesh,
274 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
275 const Polydim::PDETools::DOFs::DOFsManager::MeshDOFsInfo &trial_mesh_dofs_info,
277 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
278 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data,
279 const std::function<double(const unsigned int, const double &, const double &, const double &)> &weak_term_function);
280// ***************************************************************************
282 const Gedim::MeshMatricesDAO &mesh,
284 const Eigen::VectorXd &numerical_solution,
285 const Eigen::VectorXd &numerical_solution_strong,
286 const std::function<double(const double &, const double &, const double &)> &exact_solution_function = nullptr,
287 const std::function<std::array<double, 3>(const double &, const double &, const double &)> &exact_gradient_solution_function = nullptr);
288// ***************************************************************************
290 const Gedim::GeometryUtilities &geometry_utilities,
291 const Gedim::MeshMatricesDAO &mesh,
292 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
294 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
295 const Eigen::VectorXd &numerical_solution,
296 const Eigen::VectorXd &numerical_solution_strong,
297 const std::function<double(const double &, const double &, const double &)> &exact_solution_function);
298// ***************************************************************************
300 const Gedim::GeometryUtilities &geometry_utilities,
301 const Gedim::MeshMatricesDAO &mesh,
302 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
304 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
305 const Eigen::VectorXd &numerical_solution,
306 const Eigen::VectorXd &numerical_solution_strong)
307{
308 return compute_error_L2(geometry_utilities,
309 mesh,
310 mesh_geometric_data,
311 trial_dofs_data,
312 trial_reference_element_data,
313 numerical_solution,
314 numerical_solution_strong,
315 nullptr);
316}
317// ***************************************************************************
319 const Gedim::GeometryUtilities &geometry_utilities,
320 const Gedim::MeshMatricesDAO &mesh,
321 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
323 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
324 const Eigen::VectorXd &numerical_solution,
325 const Eigen::VectorXd &numerical_solution_strong,
326 const std::function<std::array<double, 3>(const double &, const double &, const double &)> &exact_gradient_solution_function);
327// ***************************************************************************
329 const Gedim::GeometryUtilities &geometry_utilities,
330 const Gedim::MeshMatricesDAO &mesh,
331 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
333 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
334 const Eigen::VectorXd &numerical_solution,
335 const Eigen::VectorXd &numerical_solution_strong)
336{
337 return compute_error_H1(geometry_utilities,
338 mesh,
339 mesh_geometric_data,
340 trial_dofs_data,
341 trial_reference_element_data,
342 numerical_solution,
343 numerical_solution_strong,
344 nullptr);
345}
346// ***************************************************************************
348 const Gedim::GeometryUtilities &geometry_utilities,
349 const Gedim::MeshMatricesDAO &mesh,
350 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
352 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data,
353 const Eigen::VectorXd &numerical_solution,
354 const Eigen::VectorXd &numerical_solution_strong,
355 const std::function<double(const double &, const double &, const double &)> &exact_solution_function = nullptr,
356 const std::function<std::array<double, 3>(const double &, const double &, const double &)> &exact_gradient_solution_function = nullptr);
357// ***************************************************************************
359 const Gedim::GeometryUtilities &geometry_utilities,
360 const Gedim::MeshMatricesDAO &mesh,
361 const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data,
362 const Polydim::PDETools::DOFs::DOFsManager::DOFsData &speed_component_dofs_data,
363 const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &speed_component_reference_element_data,
364 const Eigen::VectorXd &numerical_speed_x_solution,
365 const Eigen::VectorXd &numerical_speed_y_solution,
366 const Eigen::VectorXd &numerical_speed_x_solution_strong,
367 const Eigen::VectorXd &numerical_speed_y_solution_strong);
368
369// ***************************************************************************
370} // namespace PCC_2D
371} // namespace Assembler_Utilities
372} // namespace PDETools
373} // namespace Polydim
374
375#endif
The GeometryUtilities class intersects 3D segments.
Definition GeometryUtilities.hpp:37
Definition IMeshDAO.hpp:1068
Method-specific reference-element data for the 2D PCC local space.
Definition LocalSpace_PCC_2D.hpp:59
Polydim::PDETools::Assembler_Utilities::PCC_2D::Variational_Operator assemble_advection_operator(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &trial_dofs_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &test_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< std::array< double, 3 >(const double &, const double &, const double &)> &advection_term_function)
Definition assembler_PCC_2D_functions.hpp:129
Variational_Operator assemble_elliptic_operator(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const DOFs::DOFsManager::DOFsData &test_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< std::array< double, 9 >(const double &, const double &, const double &)> &diffusion_term_function, const std::function< std::array< double, 3 >(const double &, const double &, const double &)> &advection_term_function, const std::function< double(const double &, const double &, const double &)> &reaction_term_function)
Definition assembler_PCC_2D_functions.cpp:207
Post_Process_Data_Cell0Ds extract_solution_on_cell0Ds(const Gedim::MeshMatricesDAO &mesh, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const Eigen::VectorXd &numerical_solution, const Eigen::VectorXd &numerical_solution_strong, const std::function< double(const double &, const double &, const double &)> &exact_solution_function, const std::function< std::array< double, 3 >(const double &, const double &, const double &)> &exact_gradient_solution_function)
Definition assembler_PCC_2D_functions.cpp:699
Eigen::VectorXd assemble_source_term_gradients(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const DOFs::DOFsManager::DOFsData &test_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const Eigen::VectorXd &numerical_solution, const Eigen::VectorXd &numerical_solution_strong, const std::function< std::array< double, 3 >(const double &, const double &, const double &, const double &, const std::array< double, 3 > &)> &source_term_function)
Definition assembler_PCC_2D_functions.cpp:1133
Eigen::VectorXd assemble_strong_solution(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::MeshDOFsInfo &trial_mesh_dofs_info, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const std::function< double(const unsigned int, const double &, const double &, const double &)> &strong_solution_function)
Definition assembler_PCC_2D_functions.cpp:335
Evaluate_Solution_On_Quadrature_Points_Data evaluate_solution_on_quadrature_points(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Eigen::VectorXd &numerical_solution, const Eigen::VectorXd &numerical_solution_strong, const std::function< double(const double &, const double &, const double &)> &exact_solution_function, const std::function< std::array< double, 3 >(const double &, const double &, const double &)> &exact_gradient_solution_function)
Definition assembler_PCC_2D_functions.cpp:920
Polydim::PDETools::Assembler_Utilities::PCC_2D::Variational_Operator assemble_reaction_operator(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &trial_dofs_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &test_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< double(const double &, const double &, const double &)> &reaction_term_function)
Definition assembler_PCC_2D_functions.hpp:107
Variational_Operator assemble_diffusion_operator(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const DOFs::DOFsManager::DOFsData &test_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< double(const double &, const double &, const double &)> &diffusion_term_function)
Definition assembler_PCC_2D_functions.cpp:1556
Post_Process_Data_ErrorL2 compute_error_L2(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Eigen::VectorXd &numerical_solution, const Eigen::VectorXd &numerical_solution_strong, const std::function< double(const double &, const double &, const double &)> &exact_solution_function)
Definition assembler_PCC_2D_functions.cpp:757
Eigen::VectorXd assemble_weak_term(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::MeshDOFsInfo &trial_mesh_dofs_info, const DOFs::DOFsManager::DOFsData &test_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< double(const unsigned int, const double &, const double &, const double &)> &weak_term_function)
Definition assembler_PCC_2D_functions.cpp:579
Post_Process_Data_ErrorH1 compute_error_H1(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Eigen::VectorXd &numerical_solution, const Eigen::VectorXd &numerical_solution_strong, const std::function< std::array< double, 3 >(const double &, const double &, const double &)> &exact_gradient_solution_function)
Definition assembler_PCC_2D_functions.cpp:832
Polydim::PDETools::Assembler_Utilities::PCC_2D::Evaluate_Function_On_DOFs_Data assemble_exact_solution(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &trial_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const std::function< double(const double &, const double &, const double &)> &exact_solution_function)
Definition assembler_PCC_2D_functions.hpp:260
Eigen::VectorXd assemble_source_term(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &test_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< double(const double &, const double &, const double &)> &source_term_function)
Definition assembler_PCC_2D_functions.cpp:144
Evaluate_Function_On_DOFs_Data evaluate_function_on_dofs(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const DOFs::DOFsManager::DOFsData &trial_dofs_data, const LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const std::function< double(const double &, const double &, const double &)> &evaluation_function)
Definition assembler_PCC_2D_functions.cpp:442
Polydim::PDETools::Assembler_Utilities::PCC_2D::Variational_Operator assemble_anysotropic_diffusion_operator(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &trial_dofs_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &test_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &trial_reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &test_reference_element_data, const std::function< std::array< double, 9 >(const double &, const double &, const double &)> &diffusion_term_function)
Definition assembler_PCC_2D_functions.hpp:85
Polydim::PDETools::Assembler_Utilities::PCC_2D::NS_Operators assemble_NS_operators(const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &speed_component_dofs_data, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &speed_component_reference_element_data, const Eigen::VectorXd &numerical_speed_x_solution, const Eigen::VectorXd &numerical_speed_y_solution, const Eigen::VectorXd &numerical_speed_x_solution_strong, const Eigen::VectorXd &numerical_speed_y_solution_strong)
Definition assembler_PCC_2D_functions.cpp:1414
Definition FEM_MCC_2D_LocalSpace.cpp:17
Definition MeshUtilities.hpp:149
Definition assembler_PCC_2D_functions_data.hpp:54
Definition assembler_PCC_2D_functions_data.hpp:70
Definition assembler_PCC_2D_functions_data.hpp:87
Definition assembler_PCC_2D_functions_data.hpp:77
Definition assembler_PCC_2D_functions_data.hpp:48
Full DOF numbering produced for a mesh: local/global indices and aggregate counts.
Definition DOFsManager.hpp:116