ngsolve 6.2.2506.post74.dev0__cp314-cp314-macosx_10_15_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ngsolve might be problematic. Click here for more details.
- netgen/include/analytic_integrals.hpp +10 -0
- netgen/include/arnoldi.hpp +55 -0
- netgen/include/bandmatrix.hpp +334 -0
- netgen/include/basematrix.hpp +957 -0
- netgen/include/basevector.hpp +1268 -0
- netgen/include/bdbequations.hpp +2805 -0
- netgen/include/bdbintegrator.hpp +1660 -0
- netgen/include/bem_diffops.hpp +475 -0
- netgen/include/bessel.hpp +1064 -0
- netgen/include/bilinearform.hpp +963 -0
- netgen/include/bla.hpp +29 -0
- netgen/include/blockalloc.hpp +95 -0
- netgen/include/blockjacobi.hpp +328 -0
- netgen/include/bspline.hpp +116 -0
- netgen/include/calcinverse.hpp +141 -0
- netgen/include/cg.hpp +368 -0
- netgen/include/chebyshev.hpp +44 -0
- netgen/include/cholesky.hpp +720 -0
- netgen/include/clapack.h +7254 -0
- netgen/include/code_generation.hpp +296 -0
- netgen/include/coefficient.hpp +2033 -0
- netgen/include/coefficient_impl.hpp +19 -0
- netgen/include/coefficient_stdmath.hpp +167 -0
- netgen/include/commutingAMG.hpp +106 -0
- netgen/include/comp.hpp +79 -0
- netgen/include/compatibility.hpp +41 -0
- netgen/include/complex_wrapper.hpp +73 -0
- netgen/include/compressedfespace.hpp +110 -0
- netgen/include/contact.hpp +235 -0
- netgen/include/diagonalmatrix.hpp +154 -0
- netgen/include/differentialoperator.hpp +276 -0
- netgen/include/diffop.hpp +1286 -0
- netgen/include/diffop_impl.hpp +328 -0
- netgen/include/diffopwithfactor.hpp +123 -0
- netgen/include/discontinuous.hpp +84 -0
- netgen/include/dump.hpp +949 -0
- netgen/include/ectypes.hpp +121 -0
- netgen/include/eigen.hpp +60 -0
- netgen/include/eigensystem.hpp +18 -0
- netgen/include/elasticity_equations.hpp +595 -0
- netgen/include/elementbyelement.hpp +195 -0
- netgen/include/elementtopology.hpp +1760 -0
- netgen/include/elementtransformation.hpp +339 -0
- netgen/include/evalfunc.hpp +405 -0
- netgen/include/expr.hpp +1686 -0
- netgen/include/facetfe.hpp +175 -0
- netgen/include/facetfespace.hpp +180 -0
- netgen/include/facethofe.hpp +111 -0
- netgen/include/facetsurffespace.hpp +112 -0
- netgen/include/fe_interfaces.hpp +32 -0
- netgen/include/fem.hpp +87 -0
- netgen/include/fesconvert.hpp +14 -0
- netgen/include/fespace.hpp +1449 -0
- netgen/include/finiteelement.hpp +286 -0
- netgen/include/globalinterfacespace.hpp +77 -0
- netgen/include/globalspace.hpp +115 -0
- netgen/include/gridfunction.hpp +525 -0
- netgen/include/h1amg.hpp +124 -0
- netgen/include/h1hofe.hpp +188 -0
- netgen/include/h1hofe_impl.hpp +1262 -0
- netgen/include/h1hofefo.hpp +148 -0
- netgen/include/h1hofefo_impl.hpp +185 -0
- netgen/include/h1hofespace.hpp +167 -0
- netgen/include/h1lofe.hpp +1240 -0
- netgen/include/h1lumping.hpp +41 -0
- netgen/include/hcurl_equations.hpp +1381 -0
- netgen/include/hcurlcurlfe.hpp +2241 -0
- netgen/include/hcurlcurlfespace.hpp +78 -0
- netgen/include/hcurlfe.hpp +259 -0
- netgen/include/hcurlfe_utils.hpp +107 -0
- netgen/include/hcurlhdiv_dshape.hpp +857 -0
- netgen/include/hcurlhdivfes.hpp +308 -0
- netgen/include/hcurlhofe.hpp +175 -0
- netgen/include/hcurlhofe_impl.hpp +1871 -0
- netgen/include/hcurlhofespace.hpp +193 -0
- netgen/include/hcurllofe.hpp +1146 -0
- netgen/include/hdiv_equations.hpp +880 -0
- netgen/include/hdivdivfe.hpp +2923 -0
- netgen/include/hdivdivsurfacespace.hpp +76 -0
- netgen/include/hdivfe.hpp +206 -0
- netgen/include/hdivfe_utils.hpp +717 -0
- netgen/include/hdivfes.hpp +75 -0
- netgen/include/hdivhofe.hpp +447 -0
- netgen/include/hdivhofe_impl.hpp +1107 -0
- netgen/include/hdivhofefo.hpp +229 -0
- netgen/include/hdivhofespace.hpp +177 -0
- netgen/include/hdivhosurfacefespace.hpp +106 -0
- netgen/include/hdivlofe.hpp +773 -0
- netgen/include/hidden.hpp +74 -0
- netgen/include/householder.hpp +181 -0
- netgen/include/hypre_ams_precond.hpp +123 -0
- netgen/include/hypre_precond.hpp +73 -0
- netgen/include/integrator.hpp +2012 -0
- netgen/include/integratorcf.hpp +253 -0
- netgen/include/interpolate.hpp +49 -0
- netgen/include/intrule.hpp +2542 -0
- netgen/include/intrules_SauterSchwab.hpp +25 -0
- netgen/include/irspace.hpp +49 -0
- netgen/include/jacobi.hpp +153 -0
- netgen/include/kernels.hpp +762 -0
- netgen/include/l2hofe.hpp +194 -0
- netgen/include/l2hofe_impl.hpp +564 -0
- netgen/include/l2hofefo.hpp +542 -0
- netgen/include/l2hofespace.hpp +344 -0
- netgen/include/la.hpp +38 -0
- netgen/include/linearform.hpp +266 -0
- netgen/include/matrix.hpp +2140 -0
- netgen/include/memusage.hpp +41 -0
- netgen/include/meshaccess.hpp +1359 -0
- netgen/include/mgpre.hpp +204 -0
- netgen/include/mp_coefficient.hpp +145 -0
- netgen/include/mptools.hpp +2281 -0
- netgen/include/multigrid.hpp +42 -0
- netgen/include/multivector.hpp +447 -0
- netgen/include/mumpsinverse.hpp +187 -0
- netgen/include/mycomplex.hpp +361 -0
- netgen/include/ng_lapack.hpp +1661 -0
- netgen/include/ngblas.hpp +1232 -0
- netgen/include/ngs_defines.hpp +30 -0
- netgen/include/ngs_stdcpp_include.hpp +106 -0
- netgen/include/ngs_utils.hpp +121 -0
- netgen/include/ngsobject.hpp +1019 -0
- netgen/include/ngsstream.hpp +113 -0
- netgen/include/ngstd.hpp +72 -0
- netgen/include/nodalhofe.hpp +96 -0
- netgen/include/nodalhofe_impl.hpp +141 -0
- netgen/include/normalfacetfe.hpp +223 -0
- netgen/include/normalfacetfespace.hpp +98 -0
- netgen/include/normalfacetsurfacefespace.hpp +84 -0
- netgen/include/order.hpp +251 -0
- netgen/include/parallel_matrices.hpp +222 -0
- netgen/include/paralleldofs.hpp +340 -0
- netgen/include/parallelngs.hpp +23 -0
- netgen/include/parallelvector.hpp +269 -0
- netgen/include/pardisoinverse.hpp +200 -0
- netgen/include/periodic.hpp +129 -0
- netgen/include/plateaufespace.hpp +25 -0
- netgen/include/pml.hpp +275 -0
- netgen/include/pmltrafo.hpp +631 -0
- netgen/include/postproc.hpp +142 -0
- netgen/include/potentialtools.hpp +22 -0
- netgen/include/precomp.hpp +60 -0
- netgen/include/preconditioner.hpp +602 -0
- netgen/include/prolongation.hpp +377 -0
- netgen/include/python_comp.hpp +107 -0
- netgen/include/python_fem.hpp +89 -0
- netgen/include/python_linalg.hpp +58 -0
- netgen/include/python_ngstd.hpp +386 -0
- netgen/include/recursive_pol.hpp +4896 -0
- netgen/include/recursive_pol_tet.hpp +395 -0
- netgen/include/recursive_pol_trig.hpp +492 -0
- netgen/include/reorderedfespace.hpp +81 -0
- netgen/include/sample_sort.hpp +105 -0
- netgen/include/scalarfe.hpp +335 -0
- netgen/include/shapefunction_utils.hpp +113 -0
- netgen/include/simd_complex.hpp +329 -0
- netgen/include/smoother.hpp +253 -0
- netgen/include/solve.hpp +89 -0
- netgen/include/sparsecholesky.hpp +313 -0
- netgen/include/sparsematrix.hpp +1038 -0
- netgen/include/sparsematrix_dyn.hpp +90 -0
- netgen/include/sparsematrix_impl.hpp +1013 -0
- netgen/include/special_matrix.hpp +463 -0
- netgen/include/specialelement.hpp +125 -0
- netgen/include/statushandler.hpp +33 -0
- netgen/include/stringops.hpp +12 -0
- netgen/include/superluinverse.hpp +136 -0
- netgen/include/symbolicintegrator.hpp +850 -0
- netgen/include/symmetricmatrix.hpp +144 -0
- netgen/include/tangentialfacetfe.hpp +224 -0
- netgen/include/tangentialfacetfespace.hpp +91 -0
- netgen/include/tensor.hpp +522 -0
- netgen/include/tensorcoefficient.hpp +446 -0
- netgen/include/tensorproductintegrator.hpp +113 -0
- netgen/include/thcurlfe.hpp +128 -0
- netgen/include/thcurlfe_impl.hpp +380 -0
- netgen/include/thdivfe.hpp +80 -0
- netgen/include/thdivfe_impl.hpp +492 -0
- netgen/include/tpdiffop.hpp +461 -0
- netgen/include/tpfes.hpp +133 -0
- netgen/include/tpintrule.hpp +224 -0
- netgen/include/triangular.hpp +465 -0
- netgen/include/tscalarfe.hpp +245 -0
- netgen/include/tscalarfe_impl.hpp +1029 -0
- netgen/include/umfpackinverse.hpp +148 -0
- netgen/include/vector.hpp +1273 -0
- netgen/include/voxelcoefficientfunction.hpp +41 -0
- netgen/include/vtkoutput.hpp +198 -0
- netgen/include/vvector.hpp +208 -0
- netgen/include/webgui.hpp +92 -0
- netgen/libngbla.dylib +0 -0
- netgen/libngcomp.dylib +0 -0
- netgen/libngfem.dylib +0 -0
- netgen/libngla.dylib +0 -0
- netgen/libngsbem.dylib +0 -0
- netgen/libngsolve.dylib +0 -0
- netgen/libngstd.dylib +0 -0
- ngsolve/TensorProductTools.py +210 -0
- ngsolve/__console.py +94 -0
- ngsolve/__expr.py +181 -0
- ngsolve/__init__.py +148 -0
- ngsolve/__init__.pyi +233 -0
- ngsolve/_scikit_build_core_dependencies.py +30 -0
- ngsolve/bla.pyi +1153 -0
- ngsolve/bvp.py +78 -0
- ngsolve/bvp.pyi +32 -0
- ngsolve/cmake/NGSolveConfig.cmake +102 -0
- ngsolve/cmake/ngsolve-targets-release.cmake +79 -0
- ngsolve/cmake/ngsolve-targets.cmake +163 -0
- ngsolve/comp/__init__.pyi +5449 -0
- ngsolve/comp/pml.pyi +89 -0
- ngsolve/config/__init__.py +1 -0
- ngsolve/config/__init__.pyi +43 -0
- ngsolve/config/__main__.py +4 -0
- ngsolve/config/config.py +60 -0
- ngsolve/config/config.pyi +45 -0
- ngsolve/demos/TensorProduct/__init__.py +0 -0
- ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
- ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
- ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
- ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
- ngsolve/demos/__init__.py +0 -0
- ngsolve/demos/howto/__init__.py +0 -0
- ngsolve/demos/howto/hhj.py +44 -0
- ngsolve/demos/howto/hybrid_dg.py +53 -0
- ngsolve/demos/howto/mixed.py +30 -0
- ngsolve/demos/howto/nonlin.py +29 -0
- ngsolve/demos/howto/pickling.py +26 -0
- ngsolve/demos/howto/pml.py +31 -0
- ngsolve/demos/howto/taskmanager.py +20 -0
- ngsolve/demos/howto/tdnns.py +47 -0
- ngsolve/demos/howto/timeDG-skeleton.py +45 -0
- ngsolve/demos/howto/timeDG.py +38 -0
- ngsolve/demos/howto/timeDGlap.py +42 -0
- ngsolve/demos/howto/timeDGwave.py +61 -0
- ngsolve/demos/intro/__init__.py +0 -0
- ngsolve/demos/intro/adaptive.py +123 -0
- ngsolve/demos/intro/cmagnet.py +59 -0
- ngsolve/demos/intro/elasticity.py +76 -0
- ngsolve/demos/intro/navierstokes.py +74 -0
- ngsolve/demos/intro/poisson.ipynb +170 -0
- ngsolve/demos/intro/poisson.py +41 -0
- ngsolve/demos/mpi/__init__.py +0 -0
- ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
- ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
- ngsolve/demos/mpi/mpi_poisson.py +89 -0
- ngsolve/demos/mpi/mpi_timeDG.py +82 -0
- ngsolve/directsolvers.py +26 -0
- ngsolve/directsolvers.pyi +15 -0
- ngsolve/eigenvalues.py +364 -0
- ngsolve/eigenvalues.pyi +30 -0
- ngsolve/fem.pyi +1647 -0
- ngsolve/internal.py +89 -0
- ngsolve/krylovspace.py +1013 -0
- ngsolve/krylovspace.pyi +298 -0
- ngsolve/la.pyi +1230 -0
- ngsolve/meshes.py +748 -0
- ngsolve/ngs2petsc.py +310 -0
- ngsolve/ngscxx.py +42 -0
- ngsolve/ngslib.so +0 -0
- ngsolve/ngstd.pyi +59 -0
- ngsolve/nonlinearsolvers.py +203 -0
- ngsolve/nonlinearsolvers.pyi +95 -0
- ngsolve/preconditioners.py +11 -0
- ngsolve/preconditioners.pyi +7 -0
- ngsolve/solve.pyi +109 -0
- ngsolve/solve_implementation.py +168 -0
- ngsolve/solve_implementation.pyi +42 -0
- ngsolve/solvers.py +7 -0
- ngsolve/solvers.pyi +14 -0
- ngsolve/timestepping.py +185 -0
- ngsolve/timestepping.pyi +28 -0
- ngsolve/timing.py +108 -0
- ngsolve/timing.pyi +54 -0
- ngsolve/utils.py +167 -0
- ngsolve/utils.pyi +273 -0
- ngsolve/webgui.py +670 -0
- ngsolve-6.2.2506.post74.dev0.data/data/Netgen.icns +0 -0
- ngsolve-6.2.2506.post74.dev0.data/data/bin/ngscxx +17 -0
- ngsolve-6.2.2506.post74.dev0.data/data/bin/ngsld +13 -0
- ngsolve-6.2.2506.post74.dev0.data/data/bin/ngsolve.tcl +648 -0
- ngsolve-6.2.2506.post74.dev0.data/data/bin/ngspy +2 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.geo +17 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/beam.vol +240 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.in2d +41 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/chip.vol +614 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.geo +12 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coil.vol +2560 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.geo +19 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/cube.vol +1832 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.geo +73 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.in2d +17 -0
- ngsolve-6.2.2506.post74.dev0.data/data/share/ngsolve/square.vol +149 -0
- ngsolve-6.2.2506.post74.dev0.dist-info/METADATA +13 -0
- ngsolve-6.2.2506.post74.dev0.dist-info/RECORD +315 -0
- ngsolve-6.2.2506.post74.dev0.dist-info/WHEEL +5 -0
- ngsolve-6.2.2506.post74.dev0.dist-info/licenses/LICENSE +504 -0
- ngsolve-6.2.2506.post74.dev0.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
#ifndef FILE_POSTPROC
|
|
2
|
+
#define FILE_POSTPROC
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: postproc.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 25. Mar. 2000 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
namespace ngcomp
|
|
11
|
+
{
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
Postprocessing functions
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
template <class SCAL>
|
|
18
|
+
extern NGS_DLL_HEADER void CalcFlux (const S_GridFunction<SCAL> & u,
|
|
19
|
+
S_GridFunction<SCAL> & flux,
|
|
20
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
21
|
+
bool applyd, bool add,
|
|
22
|
+
int domain);
|
|
23
|
+
|
|
24
|
+
extern NGS_DLL_HEADER
|
|
25
|
+
void CalcFluxProject (const GridFunction & u,
|
|
26
|
+
GridFunction & flux,
|
|
27
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
28
|
+
bool applyd, int domain,
|
|
29
|
+
LocalHeap & lh);
|
|
30
|
+
|
|
31
|
+
template <class SCAL>
|
|
32
|
+
extern NGS_DLL_HEADER void CalcFluxProject (const S_GridFunction<SCAL> & u,
|
|
33
|
+
S_GridFunction<SCAL> & flux,
|
|
34
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
35
|
+
bool applyd, const BitArray & domains, LocalHeap & lh);
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
extern NGS_DLL_HEADER
|
|
39
|
+
void SetValues (shared_ptr<CoefficientFunction> coef,
|
|
40
|
+
GridFunction & u,
|
|
41
|
+
VorB vb,
|
|
42
|
+
DifferentialOperator * diffop, // NULL is FESpace evaluator
|
|
43
|
+
LocalHeap & clh,
|
|
44
|
+
bool dualdiffop = false, bool use_simd = true, int mdcomp=0,
|
|
45
|
+
optional<shared_ptr<BitArray>> definedonelements = nullopt,
|
|
46
|
+
int bonus_intorder=0);
|
|
47
|
+
|
|
48
|
+
extern NGS_DLL_HEADER
|
|
49
|
+
void SetValues (shared_ptr<CoefficientFunction> coef,
|
|
50
|
+
GridFunction & u,
|
|
51
|
+
const Region & region,
|
|
52
|
+
DifferentialOperator * diffop, // NULL is FESpace evaluator
|
|
53
|
+
LocalHeap & clh,
|
|
54
|
+
bool dualdiffop = false, bool use_simd = true, int mdcomp=0,
|
|
55
|
+
optional<shared_ptr<BitArray>> definedonelements = nullopt,
|
|
56
|
+
int bonus_intorder=0);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
template <class SCAL>
|
|
60
|
+
extern NGS_DLL_HEADER
|
|
61
|
+
int CalcPointFlux (const GridFunction & u,
|
|
62
|
+
const FlatVector<double> & point,
|
|
63
|
+
FlatVector<SCAL> & flux,
|
|
64
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
65
|
+
bool applyd,
|
|
66
|
+
LocalHeap & lh,
|
|
67
|
+
int component = 0);
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
template <class SCAL>
|
|
71
|
+
extern NGS_DLL_HEADER
|
|
72
|
+
int CalcPointFlux (const GridFunction & u,
|
|
73
|
+
const FlatVector<double> & point,
|
|
74
|
+
const Array<int> & domains,
|
|
75
|
+
FlatVector<SCAL> & flux,
|
|
76
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
77
|
+
bool applyd,
|
|
78
|
+
LocalHeap & lh,
|
|
79
|
+
int component = 0);
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
extern NGS_DLL_HEADER
|
|
83
|
+
void CalcError (const GridFunction & bu,
|
|
84
|
+
const GridFunction & bflux,
|
|
85
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
86
|
+
FlatVector<double> & err,
|
|
87
|
+
int domain,
|
|
88
|
+
LocalHeap & lh);
|
|
89
|
+
|
|
90
|
+
template <class SCAL>
|
|
91
|
+
extern NGS_DLL_HEADER void CalcError (const S_GridFunction<SCAL> & u,
|
|
92
|
+
const S_GridFunction<SCAL> & flux,
|
|
93
|
+
shared_ptr<BilinearFormIntegrator> bli,
|
|
94
|
+
FlatVector<double> & err,
|
|
95
|
+
const BitArray & domains, LocalHeap & lh);
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
template <class SCAL>
|
|
99
|
+
NGS_DLL_HEADER void CalcDifference (const S_GridFunction<SCAL> & u1,
|
|
100
|
+
const S_GridFunction<SCAL> & u2,
|
|
101
|
+
shared_ptr<BilinearFormIntegrator> bli1,
|
|
102
|
+
shared_ptr<BilinearFormIntegrator> bli2,
|
|
103
|
+
FlatVector<double> & diff,
|
|
104
|
+
int domain, LocalHeap & lh);
|
|
105
|
+
|
|
106
|
+
NGS_DLL_HEADER void CalcDifference (const GridFunction & u1,
|
|
107
|
+
shared_ptr<BilinearFormIntegrator> bli1,
|
|
108
|
+
shared_ptr<CoefficientFunction> coef,
|
|
109
|
+
FlatVector<double> & diff,
|
|
110
|
+
int domain, LocalHeap & lh);
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
template <class SCAL>
|
|
115
|
+
extern NGS_DLL_HEADER void CalcGradient (shared_ptr<MeshAccess> ma,
|
|
116
|
+
const FESpace & fesh1,
|
|
117
|
+
const S_BaseVector<SCAL> & vech1,
|
|
118
|
+
const FESpace & feshcurl,
|
|
119
|
+
S_BaseVector<SCAL> & vechcurl);
|
|
120
|
+
|
|
121
|
+
template <class SCAL>
|
|
122
|
+
extern NGS_DLL_HEADER void CalcGradientT (shared_ptr<MeshAccess> ma,
|
|
123
|
+
const FESpace & feshcurl,
|
|
124
|
+
const S_BaseVector<SCAL> & vechcurl,
|
|
125
|
+
const FESpace & fesh1,
|
|
126
|
+
S_BaseVector<SCAL> & vech1);
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
template <class SCAL>
|
|
130
|
+
extern NGS_DLL_HEADER
|
|
131
|
+
void CalcErrorHierarchical (const S_BilinearForm<SCAL> & bfa,
|
|
132
|
+
const S_BilinearForm<SCAL> & bfa2,
|
|
133
|
+
const S_LinearForm<SCAL> & lff,
|
|
134
|
+
S_GridFunction<SCAL> & gfu,
|
|
135
|
+
const FESpace & festest,
|
|
136
|
+
FlatVector<double> & err,
|
|
137
|
+
LocalHeap & lh);
|
|
138
|
+
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
#endif
|
|
142
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#ifndef FILE_POTENTIALS
|
|
2
|
+
#define FILE_POTENTIALS
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
tools for computing with potentials using multipoles
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include <mptools.hpp>
|
|
10
|
+
#include <meshaccess.hpp>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
namespace ngsbem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
extern void AddChargeDensity (SingularMLExpansion<Complex> & mp, shared_ptr<CoefficientFunction> current, ngcomp::Region reg);
|
|
17
|
+
|
|
18
|
+
extern void AddCurrentDensity (SingularMLExpansion<Vec<3,Complex>> & mp, shared_ptr<CoefficientFunction> current, ngcomp::Region reg);
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
#endif
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
namespace ngfem
|
|
2
|
+
{
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class DefaultHash
|
|
6
|
+
{
|
|
7
|
+
int classnr;
|
|
8
|
+
int order;
|
|
9
|
+
int intorder;
|
|
10
|
+
public:
|
|
11
|
+
DefaultHash (int aclassnr, int aorder, int aintorder)
|
|
12
|
+
: classnr(aclassnr), order(aorder), intorder(aintorder) { ; }
|
|
13
|
+
|
|
14
|
+
int ClassNr() const { return classnr; }
|
|
15
|
+
int Order() const { return order; }
|
|
16
|
+
int IntOrder() const { return intorder; }
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
inline int HashValue (const DefaultHash & hash, int size)
|
|
20
|
+
{
|
|
21
|
+
return (hash.ClassNr() + 32 * (hash.Order()+hash.IntOrder()) ) % size;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
inline bool operator== (const DefaultHash & hash1, const DefaultHash & hash2)
|
|
25
|
+
{
|
|
26
|
+
return (hash1.ClassNr() == hash2.ClassNr() &&
|
|
27
|
+
hash1.Order() == hash2.Order() &&
|
|
28
|
+
hash1.IntOrder() == hash2.IntOrder());
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
template <typename T, typename T_HASH = DefaultHash>
|
|
36
|
+
class PrecomputedShapesContainer
|
|
37
|
+
{
|
|
38
|
+
HashTable<T_HASH, T*> shapes;
|
|
39
|
+
|
|
40
|
+
public:
|
|
41
|
+
PrecomputedShapesContainer ()
|
|
42
|
+
: shapes(640) // 32 classes, roughly up to order+intorder 20
|
|
43
|
+
{ ; }
|
|
44
|
+
|
|
45
|
+
void Add (int classnr, int order, int intorder, T * pre)
|
|
46
|
+
{
|
|
47
|
+
shapes.Set (T_HASH (classnr, order, intorder), pre);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
T * Get (int classnr, int order, int intorder)
|
|
51
|
+
{
|
|
52
|
+
if (shapes.Used (T_HASH (classnr, order, intorder)))
|
|
53
|
+
return shapes.Get(T_HASH (classnr, order, intorder));
|
|
54
|
+
else
|
|
55
|
+
return NULL;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
}
|