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
ngsolve/fem.pyi
ADDED
|
@@ -0,0 +1,1647 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pybind fem
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import collections.abc
|
|
6
|
+
import ngsolve.bla
|
|
7
|
+
import ngsolve.ngstd
|
|
8
|
+
import numpy
|
|
9
|
+
import numpy.typing
|
|
10
|
+
import pyngcore.pyngcore
|
|
11
|
+
import typing
|
|
12
|
+
__all__: list[str] = ['BFI', 'BSpline', 'BSpline2D', 'BaseMappedIntegrationPoint', 'BlockBFI', 'BlockLFI', 'CELL', 'CacheCF', 'CoefficientFunction', 'Cof', 'CompilePythonModule', 'CompoundBFI', 'CompoundLFI', 'Conj', 'CoordCF', 'CoordinateTrafo', 'Cross', 'Det', 'DifferentialOperator', 'EDGE', 'ELEMENT', 'ET', 'Einsum', 'ElementTopology', 'ElementTransformation', 'FACE', 'FACET', 'FiniteElement', 'GenerateL2ElementCode', 'H1FE', 'HCurlFE', 'HDivDivFE', 'HDivFE', 'HEX', 'Id', 'IfPos', 'IntegrationPoint', 'IntegrationRule', 'Inv', 'L2FE', 'LFI', 'LeviCivitaSymbol', 'LoggingCF', 'MeshPoint', 'MinimizationCF', 'MixedFE', 'NODE_TYPE', 'NewtonCF', 'POINT', 'PRISM', 'PYRAMID', 'Parameter', 'ParameterC', 'PlaceholderCF', 'PointEvaluationFunctional', 'QUAD', 'SEGM', 'ScalarFE', 'SetPMLParameters', 'Skew', 'SpecialCFCreator', 'Sym', 'TET', 'TRIG', 'Trace', 'VERTEX', 'VoxelCoefficient', 'Zero', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'erf', 'exp', 'floor', 'log', 'pow', 'sin', 'sinh', 'specialcf', 'sqrt', 'tan']
|
|
13
|
+
class BFI:
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
Bilinear Form Integrator
|
|
17
|
+
|
|
18
|
+
Parameters:
|
|
19
|
+
|
|
20
|
+
name : string
|
|
21
|
+
Name of the bilinear form integrator.
|
|
22
|
+
|
|
23
|
+
py_coef : object
|
|
24
|
+
CoefficientFunction of the bilinear form.
|
|
25
|
+
|
|
26
|
+
dim : int
|
|
27
|
+
dimension of the bilinear form integrator
|
|
28
|
+
|
|
29
|
+
imag : bool
|
|
30
|
+
Multiplies BFI with 1J
|
|
31
|
+
|
|
32
|
+
filename : string
|
|
33
|
+
filename
|
|
34
|
+
|
|
35
|
+
kwargs : kwargs
|
|
36
|
+
For a description of the possible kwargs have a look a bit further down.
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
@staticmethod
|
|
40
|
+
def __flags_doc__() -> dict:
|
|
41
|
+
...
|
|
42
|
+
@staticmethod
|
|
43
|
+
def __special_treated_flags__() -> dict:
|
|
44
|
+
...
|
|
45
|
+
def ApplyElementMatrix(self, fel: FiniteElement, vec: ngsolve.bla.FlatVectorD, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000) -> typing.Any:
|
|
46
|
+
"""
|
|
47
|
+
Apply element matrix of a specific element.
|
|
48
|
+
|
|
49
|
+
Parameters:
|
|
50
|
+
|
|
51
|
+
fel : ngsolve.fem.FiniteElement
|
|
52
|
+
input finite element
|
|
53
|
+
|
|
54
|
+
vec : Vector
|
|
55
|
+
evaluation argument
|
|
56
|
+
|
|
57
|
+
trafo : ngsolve.fem.ElementTransformation
|
|
58
|
+
input element transformation
|
|
59
|
+
|
|
60
|
+
heapsize : int
|
|
61
|
+
input heapsize
|
|
62
|
+
"""
|
|
63
|
+
def CalcElementMatrix(self, fel: FiniteElement, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000, complex: bool = False) -> typing.Any:
|
|
64
|
+
"""
|
|
65
|
+
Calculate element matrix of a specific element.
|
|
66
|
+
|
|
67
|
+
Parameters:
|
|
68
|
+
|
|
69
|
+
fel : ngsolve.fem.FiniteElement
|
|
70
|
+
input finite element
|
|
71
|
+
|
|
72
|
+
trafo : ngsolve.fem.ElementTransformation
|
|
73
|
+
input element transformation
|
|
74
|
+
|
|
75
|
+
heapsize : int
|
|
76
|
+
input heapsize
|
|
77
|
+
|
|
78
|
+
complex : bool
|
|
79
|
+
input complex
|
|
80
|
+
"""
|
|
81
|
+
def CalcLinearizedElementMatrix(self, fel: FiniteElement, vec: ngsolve.bla.FlatVectorD, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000) -> typing.Any:
|
|
82
|
+
"""
|
|
83
|
+
Calculate (linearized) element matrix of a specific element.
|
|
84
|
+
|
|
85
|
+
Parameters:
|
|
86
|
+
|
|
87
|
+
fel : ngsolve.fem.FiniteElement
|
|
88
|
+
input finite element
|
|
89
|
+
|
|
90
|
+
vec : Vector
|
|
91
|
+
linearization argument
|
|
92
|
+
|
|
93
|
+
trafo : ngsolve.fem.ElementTransformation
|
|
94
|
+
input element transformation
|
|
95
|
+
|
|
96
|
+
heapsize : int
|
|
97
|
+
input heapsize
|
|
98
|
+
"""
|
|
99
|
+
def Evaluator(self, name: str) -> DifferentialOperator:
|
|
100
|
+
"""
|
|
101
|
+
Returns requested evaluator
|
|
102
|
+
|
|
103
|
+
Parameters:
|
|
104
|
+
|
|
105
|
+
name : string
|
|
106
|
+
input name of requested evaluator
|
|
107
|
+
"""
|
|
108
|
+
def GetDefinedOn(self) -> pyngcore.pyngcore.BitArray:
|
|
109
|
+
"""
|
|
110
|
+
Returns a BitArray where the bilinear form is defined on
|
|
111
|
+
"""
|
|
112
|
+
def SetDefinedOnElements(self, bitarray: pyngcore.pyngcore.BitArray) -> None:
|
|
113
|
+
"""
|
|
114
|
+
Set the elements on which the bilinear form is defined on.
|
|
115
|
+
|
|
116
|
+
Parameters:
|
|
117
|
+
|
|
118
|
+
bitarray : ngsolve.ngstd.BitArray
|
|
119
|
+
input bitarray
|
|
120
|
+
"""
|
|
121
|
+
def SetIntegrationRule(self, et: ET, intrule: IntegrationRule) -> BFI:
|
|
122
|
+
"""
|
|
123
|
+
Set integration rule of the bilinear form.
|
|
124
|
+
|
|
125
|
+
Parameters:
|
|
126
|
+
|
|
127
|
+
et : ngsolve.fem.Element_Type
|
|
128
|
+
input element type
|
|
129
|
+
|
|
130
|
+
intrule : ngsolve.fem.Integrationrule
|
|
131
|
+
input integration rule
|
|
132
|
+
"""
|
|
133
|
+
def __init__(self, name: str = '', coef: typing.Any, dim: typing.SupportsInt = -1, imag: bool = False, filename: str = '', **kwargs) -> None:
|
|
134
|
+
...
|
|
135
|
+
def __initialize__(self, **kwargs) -> None:
|
|
136
|
+
...
|
|
137
|
+
def __str__(self) -> str:
|
|
138
|
+
...
|
|
139
|
+
@property
|
|
140
|
+
def simd_evaluate(self) -> bool:
|
|
141
|
+
"""
|
|
142
|
+
SIMD evaluate ?
|
|
143
|
+
"""
|
|
144
|
+
@simd_evaluate.setter
|
|
145
|
+
def simd_evaluate(self, arg1: bool) -> None:
|
|
146
|
+
...
|
|
147
|
+
class BSpline:
|
|
148
|
+
"""
|
|
149
|
+
|
|
150
|
+
BSpline of arbitrary order
|
|
151
|
+
|
|
152
|
+
Parameters:
|
|
153
|
+
|
|
154
|
+
order : int
|
|
155
|
+
order of the BSpline
|
|
156
|
+
|
|
157
|
+
knots : list
|
|
158
|
+
list of float
|
|
159
|
+
|
|
160
|
+
vals : list
|
|
161
|
+
list of float
|
|
162
|
+
|
|
163
|
+
"""
|
|
164
|
+
def Differentiate(self) -> BSpline:
|
|
165
|
+
"""
|
|
166
|
+
Differentiate the BSpline
|
|
167
|
+
"""
|
|
168
|
+
def Integrate(self) -> BSpline:
|
|
169
|
+
"""
|
|
170
|
+
Integrate the BSpline
|
|
171
|
+
"""
|
|
172
|
+
@typing.overload
|
|
173
|
+
def __call__(self, pt: typing.SupportsFloat) -> float:
|
|
174
|
+
...
|
|
175
|
+
@typing.overload
|
|
176
|
+
def __call__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
177
|
+
...
|
|
178
|
+
def __init__(self, order: typing.SupportsInt, knots: list, vals: list) -> None:
|
|
179
|
+
"""
|
|
180
|
+
B-Spline of a certain order, provide knot and value vectors
|
|
181
|
+
"""
|
|
182
|
+
def __str__(self) -> str:
|
|
183
|
+
...
|
|
184
|
+
class BSpline2D:
|
|
185
|
+
"""
|
|
186
|
+
|
|
187
|
+
Bilinear intepolation of data given on a regular grid
|
|
188
|
+
|
|
189
|
+
"""
|
|
190
|
+
@typing.overload
|
|
191
|
+
def __call__(self, x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
192
|
+
...
|
|
193
|
+
@typing.overload
|
|
194
|
+
def __call__(self, cx: CoefficientFunction, cy: CoefficientFunction) -> CoefficientFunction:
|
|
195
|
+
...
|
|
196
|
+
def __getstate__(self) -> tuple:
|
|
197
|
+
...
|
|
198
|
+
def __init__(self, x: list, y: list, vals: list, order: typing.SupportsInt = 1, extrapolate: bool = True) -> None:
|
|
199
|
+
"""
|
|
200
|
+
x : list, y: list
|
|
201
|
+
sorted list of grid coordinates
|
|
202
|
+
|
|
203
|
+
vals : list
|
|
204
|
+
list of values at (x0,y0), (x0,y1), ...
|
|
205
|
+
|
|
206
|
+
order: int
|
|
207
|
+
interpolation order (only order=1 is supported)
|
|
208
|
+
|
|
209
|
+
extrapolate: bool = True
|
|
210
|
+
extrapolate values if outside given x/y coordinates (instead of throwing an exception)
|
|
211
|
+
"""
|
|
212
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
213
|
+
...
|
|
214
|
+
def __str__(self) -> str:
|
|
215
|
+
...
|
|
216
|
+
class BaseMappedIntegrationPoint:
|
|
217
|
+
def __init__(self, arg0: MeshPoint) -> None:
|
|
218
|
+
...
|
|
219
|
+
def __str__(self) -> str:
|
|
220
|
+
...
|
|
221
|
+
@property
|
|
222
|
+
def elementid(self) -> ...:
|
|
223
|
+
"""
|
|
224
|
+
Element ID of the mapped integration point
|
|
225
|
+
"""
|
|
226
|
+
@property
|
|
227
|
+
def jacobi(self) -> ngsolve.bla.FlatMatrixD:
|
|
228
|
+
"""
|
|
229
|
+
jacobian of the mapped integration point
|
|
230
|
+
"""
|
|
231
|
+
@property
|
|
232
|
+
def measure(self) -> float:
|
|
233
|
+
"""
|
|
234
|
+
Measure of the mapped integration point
|
|
235
|
+
"""
|
|
236
|
+
@property
|
|
237
|
+
def point(self) -> ngsolve.bla.FlatVectorD:
|
|
238
|
+
"""
|
|
239
|
+
Point of the mapped integration point
|
|
240
|
+
"""
|
|
241
|
+
@property
|
|
242
|
+
def trafo(self) -> ...:
|
|
243
|
+
"""
|
|
244
|
+
Transformation of the mapped integration point
|
|
245
|
+
"""
|
|
246
|
+
class CoefficientFunction:
|
|
247
|
+
"""
|
|
248
|
+
A CoefficientFunction (CF) is some function defined on a mesh.
|
|
249
|
+
Examples are coordinates x, y, z, domain-wise constants, solution-fields, ...
|
|
250
|
+
CFs can be combined by mathematical operations (+,-,sin(), ...) to form new CFs
|
|
251
|
+
Parameters:
|
|
252
|
+
|
|
253
|
+
val : can be one of the following:
|
|
254
|
+
|
|
255
|
+
scalar (float or complex):
|
|
256
|
+
Creates a constant CoefficientFunction with value val
|
|
257
|
+
|
|
258
|
+
tuple of scalars or CoefficientFunctions:
|
|
259
|
+
Creates a vector or matrix valued CoefficientFunction, use dims=(h,w)
|
|
260
|
+
for matrix valued CF
|
|
261
|
+
list of scalars or CoefficientFunctions:
|
|
262
|
+
Creates a domain-wise CF, use with generator expressions and mesh.GetMaterials()
|
|
263
|
+
and mesh.GetBoundaries()
|
|
264
|
+
"""
|
|
265
|
+
def Compile(self, realcompile: bool = False, maxderiv: typing.SupportsInt = 2, wait: bool = False, keep_files: bool = False) -> CoefficientFunction:
|
|
266
|
+
"""
|
|
267
|
+
Compile list of individual steps, experimental improvement for deep trees
|
|
268
|
+
|
|
269
|
+
Parameters:
|
|
270
|
+
|
|
271
|
+
realcompile : bool
|
|
272
|
+
True -> Compile to C++ code
|
|
273
|
+
|
|
274
|
+
maxderiv : int
|
|
275
|
+
input maximal derivative
|
|
276
|
+
|
|
277
|
+
wait : bool
|
|
278
|
+
True -> Waits until the previous Compile call is finished before start compiling
|
|
279
|
+
|
|
280
|
+
keep_files : bool
|
|
281
|
+
True -> Keep temporary files
|
|
282
|
+
"""
|
|
283
|
+
def Derive(self, variable: CoefficientFunction, direction: CoefficientFunction = 1.0) -> CoefficientFunction:
|
|
284
|
+
"""
|
|
285
|
+
depricated: use 'Diff' instead
|
|
286
|
+
"""
|
|
287
|
+
def Diff(self, variable: CoefficientFunction, direction: CoefficientFunction = None) -> CoefficientFunction:
|
|
288
|
+
"""
|
|
289
|
+
Compute directional derivative with respect to variable
|
|
290
|
+
"""
|
|
291
|
+
def DiffShape(self, direction: CoefficientFunction = 1.0, Eulerian: collections.abc.Sequence[CoefficientFunction] = []) -> CoefficientFunction:
|
|
292
|
+
"""
|
|
293
|
+
Compute shape derivative in direction
|
|
294
|
+
"""
|
|
295
|
+
def Eig(self) -> CoefficientFunction:
|
|
296
|
+
"""
|
|
297
|
+
Returns eigenvectors and eigenvalues of matrix-valued CF
|
|
298
|
+
"""
|
|
299
|
+
def ExtendDimension(self, dims: tuple, pos: tuple | None = None, stride: tuple | None = None) -> CoefficientFunction:
|
|
300
|
+
"""
|
|
301
|
+
Extend shape by 0-padding
|
|
302
|
+
"""
|
|
303
|
+
def Freeze(self) -> CoefficientFunction:
|
|
304
|
+
"""
|
|
305
|
+
don't differentiate this expression
|
|
306
|
+
"""
|
|
307
|
+
def InnerProduct(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
308
|
+
"""
|
|
309
|
+
Returns InnerProduct with another CoefficientFunction.
|
|
310
|
+
|
|
311
|
+
Parameters:
|
|
312
|
+
|
|
313
|
+
cf : ngsolve.CoefficientFunction
|
|
314
|
+
input CoefficientFunction
|
|
315
|
+
"""
|
|
316
|
+
def MakeVariable(self) -> CoefficientFunction:
|
|
317
|
+
"""
|
|
318
|
+
make node a variable, by which we can differentiate
|
|
319
|
+
"""
|
|
320
|
+
def Norm(self) -> CoefficientFunction:
|
|
321
|
+
"""
|
|
322
|
+
Returns Norm of the CF
|
|
323
|
+
"""
|
|
324
|
+
def Operator(self, arg0: str) -> CoefficientFunction:
|
|
325
|
+
...
|
|
326
|
+
def Other(self) -> CoefficientFunction:
|
|
327
|
+
"""
|
|
328
|
+
Evaluate on other element, as needed for DG jumps
|
|
329
|
+
"""
|
|
330
|
+
def Replace(self, arg0: collections.abc.Mapping[CoefficientFunction, CoefficientFunction]) -> CoefficientFunction:
|
|
331
|
+
...
|
|
332
|
+
def Reshape(self, arg0: tuple) -> CoefficientFunction:
|
|
333
|
+
"""
|
|
334
|
+
reshape CF: (dim) for vector, (h,w) for matrix
|
|
335
|
+
"""
|
|
336
|
+
def TensorTranspose(self, arg0: tuple) -> CoefficientFunction:
|
|
337
|
+
...
|
|
338
|
+
def _BuildFieldLines(self, mesh: ..., start_points: collections.abc.Sequence[tuple[typing.SupportsFloat, typing.SupportsFloat, typing.SupportsFloat]], num_fieldlines: typing.SupportsInt = 100, length: typing.SupportsFloat = 0.5, max_points: typing.SupportsFloat = 500, thickness: typing.SupportsFloat = 0.0015, tolerance: typing.SupportsFloat = 0.0005, direction: typing.SupportsInt = 0, randomized: bool = True, critical_value: typing.SupportsFloat = -1) -> dict:
|
|
339
|
+
...
|
|
340
|
+
@typing.overload
|
|
341
|
+
def __add__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
342
|
+
...
|
|
343
|
+
@typing.overload
|
|
344
|
+
def __add__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
345
|
+
...
|
|
346
|
+
@typing.overload
|
|
347
|
+
def __add__(self, value: complex) -> CoefficientFunction:
|
|
348
|
+
...
|
|
349
|
+
@typing.overload
|
|
350
|
+
def __call__(self, mip: BaseMappedIntegrationPoint) -> typing.Any:
|
|
351
|
+
"""
|
|
352
|
+
evaluate CF at a mapped integrationpoint mip. mip can be generated by calling mesh(x,y,z)
|
|
353
|
+
"""
|
|
354
|
+
@typing.overload
|
|
355
|
+
def __call__(self, x: typing.SupportsFloat, y: typing.SupportsFloat | None = None, z: typing.SupportsFloat | None = None) -> ...:
|
|
356
|
+
...
|
|
357
|
+
@typing.overload
|
|
358
|
+
def __call__(self, arg0: CoordinateTrafo) -> CoefficientFunction:
|
|
359
|
+
...
|
|
360
|
+
@typing.overload
|
|
361
|
+
def __call__(self, arg0: MeshPoint) -> typing.Any:
|
|
362
|
+
...
|
|
363
|
+
@typing.overload
|
|
364
|
+
def __call__(self, arg0: typing.Annotated[numpy.typing.ArrayLike, MeshPoint]) -> numpy.ndarray:
|
|
365
|
+
...
|
|
366
|
+
@typing.overload
|
|
367
|
+
def __getitem__(self, comp: typing.SupportsInt) -> CoefficientFunction:
|
|
368
|
+
"""
|
|
369
|
+
returns component comp of vectorial CF
|
|
370
|
+
"""
|
|
371
|
+
@typing.overload
|
|
372
|
+
def __getitem__(self, components: slice) -> CoefficientFunction:
|
|
373
|
+
...
|
|
374
|
+
@typing.overload
|
|
375
|
+
def __getitem__(self, arg0: tuple) -> CoefficientFunction:
|
|
376
|
+
...
|
|
377
|
+
def __getstate__(self) -> tuple:
|
|
378
|
+
...
|
|
379
|
+
@typing.overload
|
|
380
|
+
def __init__(self, arg0: dict) -> None:
|
|
381
|
+
...
|
|
382
|
+
@typing.overload
|
|
383
|
+
def __init__(self, coef: typing.Any, dims: tuple | None = None) -> None:
|
|
384
|
+
"""
|
|
385
|
+
Construct a CoefficientFunction from either one of
|
|
386
|
+
a scalar (float or complex)
|
|
387
|
+
a tuple of scalars and or CFs to define a vector-valued CF
|
|
388
|
+
use dims=(h,w) to define matrix-valued CF
|
|
389
|
+
a list of scalars and or CFs to define a domain-wise CF
|
|
390
|
+
"""
|
|
391
|
+
@typing.overload
|
|
392
|
+
def __mul__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
393
|
+
...
|
|
394
|
+
@typing.overload
|
|
395
|
+
def __mul__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
396
|
+
...
|
|
397
|
+
@typing.overload
|
|
398
|
+
def __mul__(self, value: complex) -> CoefficientFunction:
|
|
399
|
+
...
|
|
400
|
+
@typing.overload
|
|
401
|
+
def __mul__(self, arg0: ...) -> ...:
|
|
402
|
+
...
|
|
403
|
+
def __neg__(self) -> CoefficientFunction:
|
|
404
|
+
...
|
|
405
|
+
@typing.overload
|
|
406
|
+
def __or__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
407
|
+
...
|
|
408
|
+
@typing.overload
|
|
409
|
+
def __or__(self, cf: ...) -> typing.Any:
|
|
410
|
+
...
|
|
411
|
+
@typing.overload
|
|
412
|
+
def __pow__(self, exponent: typing.SupportsInt) -> CoefficientFunction:
|
|
413
|
+
...
|
|
414
|
+
@typing.overload
|
|
415
|
+
def __pow__(self, arg0: typing.SupportsFloat) -> typing.Any:
|
|
416
|
+
...
|
|
417
|
+
@typing.overload
|
|
418
|
+
def __pow__(self, arg0: CoefficientFunction) -> typing.Any:
|
|
419
|
+
...
|
|
420
|
+
@typing.overload
|
|
421
|
+
def __radd__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
422
|
+
...
|
|
423
|
+
@typing.overload
|
|
424
|
+
def __radd__(self, value: complex) -> CoefficientFunction:
|
|
425
|
+
...
|
|
426
|
+
@typing.overload
|
|
427
|
+
def __rmul__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
428
|
+
...
|
|
429
|
+
@typing.overload
|
|
430
|
+
def __rmul__(self, value: complex) -> CoefficientFunction:
|
|
431
|
+
...
|
|
432
|
+
def __rpow__(self, arg0: typing.SupportsFloat) -> typing.Any:
|
|
433
|
+
...
|
|
434
|
+
def __rsub__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
435
|
+
...
|
|
436
|
+
@typing.overload
|
|
437
|
+
def __rtruediv__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
438
|
+
...
|
|
439
|
+
@typing.overload
|
|
440
|
+
def __rtruediv__(self, value: complex) -> CoefficientFunction:
|
|
441
|
+
...
|
|
442
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
443
|
+
...
|
|
444
|
+
def __str__(self) -> str:
|
|
445
|
+
...
|
|
446
|
+
@typing.overload
|
|
447
|
+
def __sub__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
448
|
+
...
|
|
449
|
+
@typing.overload
|
|
450
|
+
def __sub__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
451
|
+
...
|
|
452
|
+
@typing.overload
|
|
453
|
+
def __truediv__(self, cf: CoefficientFunction) -> CoefficientFunction:
|
|
454
|
+
...
|
|
455
|
+
@typing.overload
|
|
456
|
+
def __truediv__(self, value: typing.SupportsFloat) -> CoefficientFunction:
|
|
457
|
+
...
|
|
458
|
+
@typing.overload
|
|
459
|
+
def __truediv__(self, value: complex) -> CoefficientFunction:
|
|
460
|
+
...
|
|
461
|
+
@property
|
|
462
|
+
def data(self) -> dict:
|
|
463
|
+
...
|
|
464
|
+
@property
|
|
465
|
+
def dim(self) -> int:
|
|
466
|
+
"""
|
|
467
|
+
number of components of CF
|
|
468
|
+
"""
|
|
469
|
+
@property
|
|
470
|
+
def dims(self) -> pyngcore.pyngcore.Array_I_S:
|
|
471
|
+
"""
|
|
472
|
+
shape of CF: (dim) for vector, (h,w) for matrix
|
|
473
|
+
"""
|
|
474
|
+
@dims.setter
|
|
475
|
+
def dims(self, arg1: tuple) -> None:
|
|
476
|
+
...
|
|
477
|
+
@property
|
|
478
|
+
def imag(self) -> CoefficientFunction:
|
|
479
|
+
"""
|
|
480
|
+
imaginary part of CF
|
|
481
|
+
"""
|
|
482
|
+
@property
|
|
483
|
+
def is_complex(self) -> bool:
|
|
484
|
+
"""
|
|
485
|
+
is CoefficientFunction complex-valued ?
|
|
486
|
+
"""
|
|
487
|
+
@property
|
|
488
|
+
def real(self) -> CoefficientFunction:
|
|
489
|
+
"""
|
|
490
|
+
real part of CF
|
|
491
|
+
"""
|
|
492
|
+
@property
|
|
493
|
+
def shape(self) -> typing.Any:
|
|
494
|
+
"""
|
|
495
|
+
shape of CF
|
|
496
|
+
"""
|
|
497
|
+
@property
|
|
498
|
+
def spacedim(self) -> int:
|
|
499
|
+
...
|
|
500
|
+
@spacedim.setter
|
|
501
|
+
def spacedim(self, arg1: typing.SupportsInt) -> None:
|
|
502
|
+
...
|
|
503
|
+
@property
|
|
504
|
+
def trans(self) -> CoefficientFunction:
|
|
505
|
+
"""
|
|
506
|
+
transpose of matrix-valued CF
|
|
507
|
+
"""
|
|
508
|
+
class CoordinateTrafo:
|
|
509
|
+
def __init__(self, arg0: ..., arg1: ...) -> None:
|
|
510
|
+
...
|
|
511
|
+
class DifferentialOperator:
|
|
512
|
+
def __call__(self, arg0: FiniteElement, arg1: MeshPoint) -> ngsolve.bla.MatrixD:
|
|
513
|
+
...
|
|
514
|
+
def __timing__(self, arg0: FiniteElement, arg1: ElementTransformation, arg2: IntegrationRule) -> list[tuple[str, float]]:
|
|
515
|
+
...
|
|
516
|
+
class ET:
|
|
517
|
+
"""
|
|
518
|
+
Enumeration of all supported element types.
|
|
519
|
+
|
|
520
|
+
Members:
|
|
521
|
+
|
|
522
|
+
POINT
|
|
523
|
+
|
|
524
|
+
SEGM
|
|
525
|
+
|
|
526
|
+
TRIG
|
|
527
|
+
|
|
528
|
+
QUAD
|
|
529
|
+
|
|
530
|
+
TET
|
|
531
|
+
|
|
532
|
+
PRISM
|
|
533
|
+
|
|
534
|
+
PYRAMID
|
|
535
|
+
|
|
536
|
+
HEX
|
|
537
|
+
"""
|
|
538
|
+
HEX: typing.ClassVar[ET] # value = <ET.HEX: 24>
|
|
539
|
+
POINT: typing.ClassVar[ET] # value = <ET.POINT: 0>
|
|
540
|
+
PRISM: typing.ClassVar[ET] # value = <ET.PRISM: 22>
|
|
541
|
+
PYRAMID: typing.ClassVar[ET] # value = <ET.PYRAMID: 21>
|
|
542
|
+
QUAD: typing.ClassVar[ET] # value = <ET.QUAD: 11>
|
|
543
|
+
SEGM: typing.ClassVar[ET] # value = <ET.SEGM: 1>
|
|
544
|
+
TET: typing.ClassVar[ET] # value = <ET.TET: 20>
|
|
545
|
+
TRIG: typing.ClassVar[ET] # value = <ET.TRIG: 10>
|
|
546
|
+
__members__: typing.ClassVar[dict[str, ET]] # value = {'POINT': <ET.POINT: 0>, 'SEGM': <ET.SEGM: 1>, 'TRIG': <ET.TRIG: 10>, 'QUAD': <ET.QUAD: 11>, 'TET': <ET.TET: 20>, 'PRISM': <ET.PRISM: 22>, 'PYRAMID': <ET.PYRAMID: 21>, 'HEX': <ET.HEX: 24>}
|
|
547
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
548
|
+
...
|
|
549
|
+
def __getstate__(self) -> int:
|
|
550
|
+
...
|
|
551
|
+
def __hash__(self) -> int:
|
|
552
|
+
...
|
|
553
|
+
def __index__(self) -> int:
|
|
554
|
+
...
|
|
555
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
556
|
+
...
|
|
557
|
+
def __int__(self) -> int:
|
|
558
|
+
...
|
|
559
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
560
|
+
...
|
|
561
|
+
def __repr__(self) -> str:
|
|
562
|
+
...
|
|
563
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
564
|
+
...
|
|
565
|
+
def __str__(self) -> str:
|
|
566
|
+
...
|
|
567
|
+
@property
|
|
568
|
+
def name(self) -> str:
|
|
569
|
+
...
|
|
570
|
+
@property
|
|
571
|
+
def value(self) -> int:
|
|
572
|
+
...
|
|
573
|
+
class ElementTopology:
|
|
574
|
+
"""
|
|
575
|
+
|
|
576
|
+
Element Topology
|
|
577
|
+
|
|
578
|
+
Parameters:
|
|
579
|
+
|
|
580
|
+
et : ngsolve.fem.ET
|
|
581
|
+
input element type
|
|
582
|
+
|
|
583
|
+
"""
|
|
584
|
+
def __init__(self, et: ET) -> None:
|
|
585
|
+
...
|
|
586
|
+
@property
|
|
587
|
+
def name(self) -> str:
|
|
588
|
+
"""
|
|
589
|
+
Name of the element topology
|
|
590
|
+
"""
|
|
591
|
+
@property
|
|
592
|
+
def vertices(self) -> list:
|
|
593
|
+
"""
|
|
594
|
+
Vertices of the element topology
|
|
595
|
+
"""
|
|
596
|
+
class ElementTransformation:
|
|
597
|
+
@typing.overload
|
|
598
|
+
def __call__(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0, z: typing.SupportsFloat = 0) -> BaseMappedIntegrationPoint:
|
|
599
|
+
...
|
|
600
|
+
@typing.overload
|
|
601
|
+
def __call__(self, ip: IntegrationPoint) -> BaseMappedIntegrationPoint:
|
|
602
|
+
...
|
|
603
|
+
@typing.overload
|
|
604
|
+
def __call__(self, arg0: IntegrationRule) -> numpy.typing.NDArray[MeshPoint]:
|
|
605
|
+
...
|
|
606
|
+
def __init__(self, et: ET = ..., vertices: list) -> None:
|
|
607
|
+
...
|
|
608
|
+
@property
|
|
609
|
+
def VB(self) -> ...:
|
|
610
|
+
"""
|
|
611
|
+
VorB (VOL, BND, BBND, BBBND)
|
|
612
|
+
"""
|
|
613
|
+
@property
|
|
614
|
+
def curved(self) -> bool:
|
|
615
|
+
"""
|
|
616
|
+
Is mapping non-affine ?
|
|
617
|
+
"""
|
|
618
|
+
@property
|
|
619
|
+
def elementid(self) -> ...:
|
|
620
|
+
"""
|
|
621
|
+
Element ID of the element transformation
|
|
622
|
+
"""
|
|
623
|
+
@property
|
|
624
|
+
def spacedim(self) -> int:
|
|
625
|
+
"""
|
|
626
|
+
Space dimension of the element transformation
|
|
627
|
+
"""
|
|
628
|
+
class FiniteElement:
|
|
629
|
+
"""
|
|
630
|
+
any finite element
|
|
631
|
+
"""
|
|
632
|
+
def __str__(self) -> str:
|
|
633
|
+
...
|
|
634
|
+
def __timing__(self) -> list[tuple[str, float]]:
|
|
635
|
+
...
|
|
636
|
+
@property
|
|
637
|
+
def classname(self) -> str:
|
|
638
|
+
"""
|
|
639
|
+
name of element family
|
|
640
|
+
"""
|
|
641
|
+
@property
|
|
642
|
+
def dim(self) -> int:
|
|
643
|
+
"""
|
|
644
|
+
spatial dimension of element
|
|
645
|
+
"""
|
|
646
|
+
@property
|
|
647
|
+
def ndof(self) -> int:
|
|
648
|
+
"""
|
|
649
|
+
number of degrees of freedom of element
|
|
650
|
+
"""
|
|
651
|
+
@property
|
|
652
|
+
def order(self) -> int:
|
|
653
|
+
"""
|
|
654
|
+
maximal polynomial order of element
|
|
655
|
+
"""
|
|
656
|
+
@property
|
|
657
|
+
def type(self) -> ET:
|
|
658
|
+
"""
|
|
659
|
+
geometric type of element
|
|
660
|
+
"""
|
|
661
|
+
class HCurlFE(FiniteElement):
|
|
662
|
+
"""
|
|
663
|
+
an H(curl) finite element
|
|
664
|
+
"""
|
|
665
|
+
def CalcCurlShape(self, mip: ...) -> ngsolve.bla.MatrixD:
|
|
666
|
+
...
|
|
667
|
+
@typing.overload
|
|
668
|
+
def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
|
|
669
|
+
...
|
|
670
|
+
@typing.overload
|
|
671
|
+
def CalcShape(self, mip: ...) -> ngsolve.bla.MatrixD:
|
|
672
|
+
...
|
|
673
|
+
class HDivDivFE(FiniteElement):
|
|
674
|
+
"""
|
|
675
|
+
an H(div div) finite element
|
|
676
|
+
"""
|
|
677
|
+
def CalcDivShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
|
|
678
|
+
...
|
|
679
|
+
def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
|
|
680
|
+
...
|
|
681
|
+
class HDivFE(FiniteElement):
|
|
682
|
+
"""
|
|
683
|
+
an H(div) finite element
|
|
684
|
+
"""
|
|
685
|
+
def CalcDivShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.VectorD:
|
|
686
|
+
...
|
|
687
|
+
def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
|
|
688
|
+
...
|
|
689
|
+
class IntegrationPoint:
|
|
690
|
+
@property
|
|
691
|
+
def point(self) -> tuple:
|
|
692
|
+
"""
|
|
693
|
+
Integration point coordinates as tuple, has always x,y and z component, which do not have meaning in lesser dimensions
|
|
694
|
+
"""
|
|
695
|
+
@property
|
|
696
|
+
def weight(self) -> float:
|
|
697
|
+
"""
|
|
698
|
+
Weight of the integration point
|
|
699
|
+
"""
|
|
700
|
+
class IntegrationRule:
|
|
701
|
+
"""
|
|
702
|
+
|
|
703
|
+
Integration rule
|
|
704
|
+
|
|
705
|
+
2 __init__ overloads
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
1)
|
|
709
|
+
|
|
710
|
+
Parameters:
|
|
711
|
+
|
|
712
|
+
element type : ngsolve.fem.ET
|
|
713
|
+
input element type
|
|
714
|
+
|
|
715
|
+
order : int
|
|
716
|
+
input order of integration rule
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
2)
|
|
720
|
+
|
|
721
|
+
Parameters:
|
|
722
|
+
|
|
723
|
+
points : list
|
|
724
|
+
input list of integration points
|
|
725
|
+
|
|
726
|
+
weights : list
|
|
727
|
+
input list of integration weights
|
|
728
|
+
|
|
729
|
+
"""
|
|
730
|
+
@staticmethod
|
|
731
|
+
@typing.overload
|
|
732
|
+
def __init__(*args, **kwargs) -> None:
|
|
733
|
+
...
|
|
734
|
+
def Integrate(self, func: typing.Any) -> typing.Any:
|
|
735
|
+
"""
|
|
736
|
+
Integrates a given function
|
|
737
|
+
"""
|
|
738
|
+
def __getitem__(self, nr: typing.SupportsInt) -> IntegrationPoint:
|
|
739
|
+
"""
|
|
740
|
+
Return integration point at given position
|
|
741
|
+
"""
|
|
742
|
+
@typing.overload
|
|
743
|
+
def __init__(self, points: list, weights: list = []) -> None:
|
|
744
|
+
...
|
|
745
|
+
def __len__(self) -> int:
|
|
746
|
+
...
|
|
747
|
+
def __str__(self) -> str:
|
|
748
|
+
...
|
|
749
|
+
@property
|
|
750
|
+
def points(self) -> list:
|
|
751
|
+
"""
|
|
752
|
+
Points of IntegrationRule as tuple
|
|
753
|
+
"""
|
|
754
|
+
@property
|
|
755
|
+
def weights(self) -> list:
|
|
756
|
+
"""
|
|
757
|
+
Weights of IntegrationRule
|
|
758
|
+
"""
|
|
759
|
+
class LFI:
|
|
760
|
+
"""
|
|
761
|
+
|
|
762
|
+
Linear Form Integrator
|
|
763
|
+
|
|
764
|
+
Parameters:
|
|
765
|
+
|
|
766
|
+
name : string
|
|
767
|
+
Name of the linear form integrator.
|
|
768
|
+
|
|
769
|
+
dim : int
|
|
770
|
+
dimension of the linear form integrator
|
|
771
|
+
|
|
772
|
+
coef : object
|
|
773
|
+
CoefficientFunction of the bilinear form.
|
|
774
|
+
|
|
775
|
+
definedon : object
|
|
776
|
+
input region where the linear form is defined on
|
|
777
|
+
|
|
778
|
+
imag : bool
|
|
779
|
+
Multiplies LFI with 1J
|
|
780
|
+
|
|
781
|
+
flags : ngsolve.ngstd.Flags
|
|
782
|
+
input flags
|
|
783
|
+
|
|
784
|
+
definedonelem : object
|
|
785
|
+
input definedonelem
|
|
786
|
+
|
|
787
|
+
"""
|
|
788
|
+
@typing.overload
|
|
789
|
+
def CalcElementVector(self, fel: FiniteElement, trafo: ElementTransformation, vec: ngsolve.bla.FlatVectorD, lh: ngsolve.ngstd.LocalHeap) -> None:
|
|
790
|
+
...
|
|
791
|
+
@typing.overload
|
|
792
|
+
def CalcElementVector(self, fel: FiniteElement, trafo: ElementTransformation, heapsize: typing.SupportsInt = 10000, complex: bool = False) -> typing.Any:
|
|
793
|
+
...
|
|
794
|
+
def GetDefinedOn(self) -> pyngcore.pyngcore.BitArray:
|
|
795
|
+
"""
|
|
796
|
+
Reterns regions where the lienar form integrator is defined on.
|
|
797
|
+
"""
|
|
798
|
+
def SetDefinedOnElements(self, ba: pyngcore.pyngcore.BitArray) -> None:
|
|
799
|
+
"""
|
|
800
|
+
Set the elements on which the linear form integrator is defined on
|
|
801
|
+
|
|
802
|
+
Parameters:
|
|
803
|
+
|
|
804
|
+
ba : ngsolve.ngstd.BitArray
|
|
805
|
+
input bit array ( 1-> defined on, 0 -> not defoned on)
|
|
806
|
+
"""
|
|
807
|
+
def SetIntegrationRule(self, et: ET, ir: IntegrationRule) -> LFI:
|
|
808
|
+
"""
|
|
809
|
+
Set a different integration rule for elements of type et
|
|
810
|
+
|
|
811
|
+
Parameters:
|
|
812
|
+
|
|
813
|
+
et : ngsolve.fem.ET
|
|
814
|
+
input element type
|
|
815
|
+
|
|
816
|
+
ir : ngsolve.fem.IntegrationRule
|
|
817
|
+
input integration rule
|
|
818
|
+
"""
|
|
819
|
+
def __init__(self, name: str = 'lfi', dim: typing.SupportsInt = -1, coef: typing.Any, definedon: ... | list | None = None, imag: bool = False, flags: pyngcore.pyngcore.Flags = {}, definedonelements: pyngcore.pyngcore.BitArray = None) -> None:
|
|
820
|
+
...
|
|
821
|
+
def __str__(self) -> str:
|
|
822
|
+
...
|
|
823
|
+
@property
|
|
824
|
+
def simd_evaluate(self) -> bool:
|
|
825
|
+
"""
|
|
826
|
+
SIMD evaluate ?
|
|
827
|
+
"""
|
|
828
|
+
@simd_evaluate.setter
|
|
829
|
+
def simd_evaluate(self, arg1: bool) -> None:
|
|
830
|
+
...
|
|
831
|
+
class MeshPoint:
|
|
832
|
+
@property
|
|
833
|
+
def mesh(self) -> ...:
|
|
834
|
+
...
|
|
835
|
+
@property
|
|
836
|
+
def nr(self) -> int:
|
|
837
|
+
...
|
|
838
|
+
@property
|
|
839
|
+
def pnt(self) -> tuple:
|
|
840
|
+
"""
|
|
841
|
+
Gives coordinates of point on reference triangle. One can create a MappedIntegrationPoint using the ngsolve.fem.BaseMappedIntegrationPoint constructor. For physical coordinates the coordinate CoefficientFunctions x,y,z can be evaluated in the MeshPoint
|
|
842
|
+
"""
|
|
843
|
+
@property
|
|
844
|
+
def vb(self) -> ...:
|
|
845
|
+
...
|
|
846
|
+
class MixedFE(FiniteElement):
|
|
847
|
+
"""
|
|
848
|
+
pair of finite elements for trial and test-functions
|
|
849
|
+
"""
|
|
850
|
+
def __init__(self, arg0: FiniteElement, arg1: FiniteElement) -> None:
|
|
851
|
+
...
|
|
852
|
+
class NODE_TYPE:
|
|
853
|
+
"""
|
|
854
|
+
Enumeration of all supported node types.
|
|
855
|
+
|
|
856
|
+
Members:
|
|
857
|
+
|
|
858
|
+
VERTEX
|
|
859
|
+
|
|
860
|
+
EDGE
|
|
861
|
+
|
|
862
|
+
FACE
|
|
863
|
+
|
|
864
|
+
CELL
|
|
865
|
+
|
|
866
|
+
ELEMENT
|
|
867
|
+
|
|
868
|
+
FACET
|
|
869
|
+
"""
|
|
870
|
+
CELL: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.CELL: 3>
|
|
871
|
+
EDGE: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.EDGE: 1>
|
|
872
|
+
ELEMENT: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.ELEMENT: 4>
|
|
873
|
+
FACE: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.FACE: 2>
|
|
874
|
+
FACET: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.FACET: 5>
|
|
875
|
+
VERTEX: typing.ClassVar[NODE_TYPE] # value = <NODE_TYPE.VERTEX: 0>
|
|
876
|
+
__members__: typing.ClassVar[dict[str, NODE_TYPE]] # value = {'VERTEX': <NODE_TYPE.VERTEX: 0>, 'EDGE': <NODE_TYPE.EDGE: 1>, 'FACE': <NODE_TYPE.FACE: 2>, 'CELL': <NODE_TYPE.CELL: 3>, 'ELEMENT': <NODE_TYPE.ELEMENT: 4>, 'FACET': <NODE_TYPE.FACET: 5>}
|
|
877
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
878
|
+
...
|
|
879
|
+
def __getstate__(self) -> int:
|
|
880
|
+
...
|
|
881
|
+
def __hash__(self) -> int:
|
|
882
|
+
...
|
|
883
|
+
def __index__(self) -> int:
|
|
884
|
+
...
|
|
885
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
886
|
+
...
|
|
887
|
+
def __int__(self) -> int:
|
|
888
|
+
...
|
|
889
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
890
|
+
...
|
|
891
|
+
def __repr__(self) -> str:
|
|
892
|
+
...
|
|
893
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
894
|
+
...
|
|
895
|
+
def __str__(self) -> str:
|
|
896
|
+
...
|
|
897
|
+
@property
|
|
898
|
+
def name(self) -> str:
|
|
899
|
+
...
|
|
900
|
+
@property
|
|
901
|
+
def value(self) -> int:
|
|
902
|
+
...
|
|
903
|
+
class Parameter(CoefficientFunction):
|
|
904
|
+
"""
|
|
905
|
+
|
|
906
|
+
CoefficientFunction with a modifiable value
|
|
907
|
+
|
|
908
|
+
Parameters:
|
|
909
|
+
|
|
910
|
+
value : float
|
|
911
|
+
Parameter value
|
|
912
|
+
|
|
913
|
+
"""
|
|
914
|
+
def Get(self) -> float:
|
|
915
|
+
"""
|
|
916
|
+
return parameter value
|
|
917
|
+
"""
|
|
918
|
+
def Set(self, value: typing.SupportsFloat) -> None:
|
|
919
|
+
"""
|
|
920
|
+
Modify parameter value.
|
|
921
|
+
|
|
922
|
+
Parameters:
|
|
923
|
+
|
|
924
|
+
value : double
|
|
925
|
+
input scalar
|
|
926
|
+
"""
|
|
927
|
+
def __ge__(self, arg0: typing.SupportsFloat) -> bool:
|
|
928
|
+
...
|
|
929
|
+
def __getstate__(self) -> tuple:
|
|
930
|
+
...
|
|
931
|
+
def __gt__(self, arg0: typing.SupportsFloat) -> bool:
|
|
932
|
+
...
|
|
933
|
+
def __iadd__(self, arg0: typing.SupportsFloat) -> Parameter:
|
|
934
|
+
...
|
|
935
|
+
def __imul__(self, arg0: typing.SupportsFloat) -> Parameter:
|
|
936
|
+
...
|
|
937
|
+
def __init__(self, value: typing.SupportsFloat) -> None:
|
|
938
|
+
"""
|
|
939
|
+
Construct a ParameterCF from a scalar
|
|
940
|
+
"""
|
|
941
|
+
def __isub__(self, arg0: typing.SupportsFloat) -> Parameter:
|
|
942
|
+
...
|
|
943
|
+
def __itruediv__(self, arg0: typing.SupportsFloat) -> Parameter:
|
|
944
|
+
...
|
|
945
|
+
def __le__(self, arg0: typing.SupportsFloat) -> bool:
|
|
946
|
+
...
|
|
947
|
+
def __lt__(self, arg0: typing.SupportsFloat) -> bool:
|
|
948
|
+
...
|
|
949
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
950
|
+
...
|
|
951
|
+
class ParameterC(CoefficientFunction):
|
|
952
|
+
"""
|
|
953
|
+
|
|
954
|
+
CoefficientFunction with a modifiable complex value
|
|
955
|
+
|
|
956
|
+
Parameters:
|
|
957
|
+
|
|
958
|
+
value : complex
|
|
959
|
+
Parameter value
|
|
960
|
+
|
|
961
|
+
"""
|
|
962
|
+
def Get(self) -> complex:
|
|
963
|
+
"""
|
|
964
|
+
return parameter value
|
|
965
|
+
"""
|
|
966
|
+
def Set(self, value: complex) -> None:
|
|
967
|
+
"""
|
|
968
|
+
Modify parameter value.
|
|
969
|
+
|
|
970
|
+
Parameters:
|
|
971
|
+
|
|
972
|
+
value : complex
|
|
973
|
+
input scalar
|
|
974
|
+
"""
|
|
975
|
+
def __getstate__(self) -> tuple:
|
|
976
|
+
...
|
|
977
|
+
def __init__(self, value: complex) -> None:
|
|
978
|
+
"""
|
|
979
|
+
Construct a ParameterCF from a scalar
|
|
980
|
+
"""
|
|
981
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
982
|
+
...
|
|
983
|
+
class PlaceholderCF(CoefficientFunction):
|
|
984
|
+
def Set(self, arg0: CoefficientFunction) -> None:
|
|
985
|
+
...
|
|
986
|
+
def __init__(self, arg0: CoefficientFunction) -> None:
|
|
987
|
+
...
|
|
988
|
+
class PointEvaluationFunctional:
|
|
989
|
+
def Assemble(self) -> ngsolve.bla.SparseVector:
|
|
990
|
+
...
|
|
991
|
+
class ScalarFE(FiniteElement):
|
|
992
|
+
"""
|
|
993
|
+
a scalar-valued finite element
|
|
994
|
+
"""
|
|
995
|
+
@typing.overload
|
|
996
|
+
def CalcDShape(self, mip: ...) -> ngsolve.bla.MatrixD:
|
|
997
|
+
"""
|
|
998
|
+
Computes derivative of the shape in an integration point.
|
|
999
|
+
|
|
1000
|
+
Parameters:
|
|
1001
|
+
|
|
1002
|
+
mip : ngsolve.BaseMappedIntegrationPoint
|
|
1003
|
+
input mapped integration point
|
|
1004
|
+
"""
|
|
1005
|
+
@typing.overload
|
|
1006
|
+
def CalcDShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.MatrixD:
|
|
1007
|
+
"""
|
|
1008
|
+
Computes derivative of the shape in an integration point.
|
|
1009
|
+
|
|
1010
|
+
Parameters:
|
|
1011
|
+
|
|
1012
|
+
x : double
|
|
1013
|
+
input x value
|
|
1014
|
+
|
|
1015
|
+
y : double
|
|
1016
|
+
input y value
|
|
1017
|
+
|
|
1018
|
+
z : double
|
|
1019
|
+
input z value
|
|
1020
|
+
"""
|
|
1021
|
+
@typing.overload
|
|
1022
|
+
def CalcShape(self, x: typing.SupportsFloat, y: typing.SupportsFloat = 0.0, z: typing.SupportsFloat = 0.0) -> ngsolve.bla.VectorD:
|
|
1023
|
+
"""
|
|
1024
|
+
Parameters:
|
|
1025
|
+
|
|
1026
|
+
x : double
|
|
1027
|
+
input x value
|
|
1028
|
+
|
|
1029
|
+
y : double
|
|
1030
|
+
input y value
|
|
1031
|
+
|
|
1032
|
+
z : double
|
|
1033
|
+
input z value
|
|
1034
|
+
"""
|
|
1035
|
+
@typing.overload
|
|
1036
|
+
def CalcShape(self, mip: ...) -> ngsolve.bla.VectorD:
|
|
1037
|
+
"""
|
|
1038
|
+
Parameters:
|
|
1039
|
+
|
|
1040
|
+
mip : ngsolve.BaseMappedIntegrationPoint
|
|
1041
|
+
input mapped integration point
|
|
1042
|
+
"""
|
|
1043
|
+
class SpecialCFCreator:
|
|
1044
|
+
def EdgeCurvature(self, dim: typing.SupportsInt) -> ...:
|
|
1045
|
+
"""
|
|
1046
|
+
EdgeCurvature
|
|
1047
|
+
space-dimension must be provided
|
|
1048
|
+
"""
|
|
1049
|
+
def EdgeFaceTangentialVectors(self, dim: typing.SupportsInt) -> ...:
|
|
1050
|
+
"""
|
|
1051
|
+
EdgeFaceTangentialVectors
|
|
1052
|
+
space-dimension must be provided
|
|
1053
|
+
"""
|
|
1054
|
+
@typing.overload
|
|
1055
|
+
def JacobianMatrix(self, dim: typing.SupportsInt) -> ...:
|
|
1056
|
+
"""
|
|
1057
|
+
Jacobian matrix of transformation to physical element
|
|
1058
|
+
space-dimension must be provided
|
|
1059
|
+
"""
|
|
1060
|
+
@typing.overload
|
|
1061
|
+
def JacobianMatrix(self, dimr: typing.SupportsInt, dims: typing.SupportsInt) -> ...:
|
|
1062
|
+
"""
|
|
1063
|
+
Jacobian matrix of transformation to physical element
|
|
1064
|
+
space-dimensions dimr >= dims must be provided
|
|
1065
|
+
"""
|
|
1066
|
+
def VertexTangentialVectors(self, dim: typing.SupportsInt) -> ...:
|
|
1067
|
+
"""
|
|
1068
|
+
VertexTangentialVectors
|
|
1069
|
+
space-dimension must be provided
|
|
1070
|
+
"""
|
|
1071
|
+
def Weingarten(self, dim: typing.SupportsInt) -> ...:
|
|
1072
|
+
"""
|
|
1073
|
+
Weingarten tensor
|
|
1074
|
+
space-dimension must be provided
|
|
1075
|
+
"""
|
|
1076
|
+
@typing.overload
|
|
1077
|
+
def normal(self, arg0: typing.SupportsInt) -> ...:
|
|
1078
|
+
"""
|
|
1079
|
+
depending on contents: normal-vector to geometry or element
|
|
1080
|
+
space-dimension must be provided.
|
|
1081
|
+
"""
|
|
1082
|
+
@typing.overload
|
|
1083
|
+
def normal(self, arg0: ...) -> ...:
|
|
1084
|
+
"""
|
|
1085
|
+
If region is provided, normal is pointing outwards of region (only supported on 2d/3d surface elements)
|
|
1086
|
+
"""
|
|
1087
|
+
def num_els_on_facet(self) -> ...:
|
|
1088
|
+
"""
|
|
1089
|
+
number of elements on facet, available for element-bnd integrals, and surface integrals
|
|
1090
|
+
"""
|
|
1091
|
+
def tangential(self, dim: typing.SupportsInt, consistent: bool = False) -> ...:
|
|
1092
|
+
"""
|
|
1093
|
+
depending on contents: tangential-vector to element
|
|
1094
|
+
space-dimension must be provided
|
|
1095
|
+
"""
|
|
1096
|
+
def xref(self, dim: typing.SupportsInt) -> ...:
|
|
1097
|
+
"""
|
|
1098
|
+
element reference-coordinates
|
|
1099
|
+
"""
|
|
1100
|
+
@property
|
|
1101
|
+
def mesh_size(self) -> ...:
|
|
1102
|
+
"""
|
|
1103
|
+
local mesh-size (approximate element diameter) as CF
|
|
1104
|
+
"""
|
|
1105
|
+
def BlockBFI(bfi: BFI = 0, dim: typing.SupportsInt = 2, comp: typing.SupportsInt = 0) -> ...:
|
|
1106
|
+
"""
|
|
1107
|
+
Block Bilinear Form Integrator
|
|
1108
|
+
|
|
1109
|
+
Parameters:
|
|
1110
|
+
|
|
1111
|
+
bfi : ngsolve.fem.BFI
|
|
1112
|
+
input bilinear form integrator
|
|
1113
|
+
|
|
1114
|
+
dim : int
|
|
1115
|
+
input dimension of block bilinear form integrator
|
|
1116
|
+
|
|
1117
|
+
comp : int
|
|
1118
|
+
input comp
|
|
1119
|
+
"""
|
|
1120
|
+
def BlockLFI(lfi: LFI = 0, dim: typing.SupportsInt = 2, comp: typing.SupportsInt = 0) -> LFI:
|
|
1121
|
+
"""
|
|
1122
|
+
Block Linear Form Integrator
|
|
1123
|
+
|
|
1124
|
+
Parameters:
|
|
1125
|
+
|
|
1126
|
+
lfi : ngsolve.fem.LFI
|
|
1127
|
+
input bilinear form integrator
|
|
1128
|
+
|
|
1129
|
+
dim : int
|
|
1130
|
+
input dimension of block linear form integrator
|
|
1131
|
+
|
|
1132
|
+
comp : int
|
|
1133
|
+
input comp
|
|
1134
|
+
"""
|
|
1135
|
+
def CacheCF(cf: CoefficientFunction) -> CoefficientFunction:
|
|
1136
|
+
...
|
|
1137
|
+
def Cof(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1138
|
+
...
|
|
1139
|
+
@typing.overload
|
|
1140
|
+
def CompilePythonModule(code: str, init_function_name: str = 'init', add_header: bool = True) -> typing.Any:
|
|
1141
|
+
"""
|
|
1142
|
+
Utility function to compile c++ code with python bindings at run-time.
|
|
1143
|
+
|
|
1144
|
+
Parameters:
|
|
1145
|
+
|
|
1146
|
+
code: c++ code snippet ( add_header=True ) or a complete .cpp file ( add_header=False )
|
|
1147
|
+
|
|
1148
|
+
init_function_name (default = "init"): Function, which is called after the compiled code is loaded. The prototype must match:
|
|
1149
|
+
extern "C" void init_function_name(pybind11::object & res);
|
|
1150
|
+
|
|
1151
|
+
add_header (default = True): wrap the code snippet with the template
|
|
1152
|
+
|
|
1153
|
+
#include <comp.hpp>
|
|
1154
|
+
#include <python_ngstd.hpp>
|
|
1155
|
+
|
|
1156
|
+
using namespace ngcomp;
|
|
1157
|
+
|
|
1158
|
+
extern "C" {
|
|
1159
|
+
|
|
1160
|
+
NGCORE_API_EXPORT void init(py::object & res)
|
|
1161
|
+
{
|
|
1162
|
+
static py::module::module_def def;
|
|
1163
|
+
py::module m = py::module::create_extension_module("", "", &def);
|
|
1164
|
+
|
|
1165
|
+
// BEGIN USER DEFINED CODE
|
|
1166
|
+
|
|
1167
|
+
|
|
1168
|
+
// END USER DEFINED CODE
|
|
1169
|
+
res = m;
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
"""
|
|
1173
|
+
@typing.overload
|
|
1174
|
+
def CompilePythonModule(file: os.PathLike | str | bytes, init_function_name: str = 'init') -> typing.Any:
|
|
1175
|
+
"""
|
|
1176
|
+
Utility function to compile a c++ file with python bindings at run-time.
|
|
1177
|
+
|
|
1178
|
+
Parameters:
|
|
1179
|
+
|
|
1180
|
+
file: c++ code file (type: pathlib.Path)
|
|
1181
|
+
|
|
1182
|
+
init_function_name (default = "init"): Function, which is called after the compiled code is loaded. The prototype must match:
|
|
1183
|
+
extern "C" void init_function_name(pybind11::object & res);
|
|
1184
|
+
"""
|
|
1185
|
+
def CompoundBFI(bfi: BFI = 0, comp: typing.SupportsInt = 0) -> ...:
|
|
1186
|
+
"""
|
|
1187
|
+
Compound Bilinear Form Integrator
|
|
1188
|
+
|
|
1189
|
+
Parameters:
|
|
1190
|
+
|
|
1191
|
+
bfi : ngsolve.fem.BFI
|
|
1192
|
+
input bilinear form integrator
|
|
1193
|
+
|
|
1194
|
+
comp : int
|
|
1195
|
+
input component
|
|
1196
|
+
"""
|
|
1197
|
+
def CompoundLFI(lfi: LFI = 0, comp: typing.SupportsInt = 0) -> LFI:
|
|
1198
|
+
"""
|
|
1199
|
+
Compound Linear Form Integrator
|
|
1200
|
+
|
|
1201
|
+
Parameters:
|
|
1202
|
+
|
|
1203
|
+
lfi : ngsolve.fem.LFI
|
|
1204
|
+
input linear form integrator
|
|
1205
|
+
|
|
1206
|
+
comp : int
|
|
1207
|
+
input component
|
|
1208
|
+
"""
|
|
1209
|
+
def Conj(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1210
|
+
"""
|
|
1211
|
+
complex-conjugate
|
|
1212
|
+
"""
|
|
1213
|
+
def CoordCF(direction: typing.SupportsInt) -> ...:
|
|
1214
|
+
"""
|
|
1215
|
+
CoefficientFunction for x, y, z.
|
|
1216
|
+
|
|
1217
|
+
Parameters:
|
|
1218
|
+
|
|
1219
|
+
direction : int
|
|
1220
|
+
input direction
|
|
1221
|
+
"""
|
|
1222
|
+
def Cross(arg0: CoefficientFunction, arg1: CoefficientFunction) -> CoefficientFunction:
|
|
1223
|
+
...
|
|
1224
|
+
def Det(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1225
|
+
...
|
|
1226
|
+
def Einsum(einsum_signature: str, *args, **kwargs) -> CoefficientFunction:
|
|
1227
|
+
"""
|
|
1228
|
+
Generic tensor product in the spirit of numpy's \\"einsum\\" feature.
|
|
1229
|
+
|
|
1230
|
+
Parameters:
|
|
1231
|
+
|
|
1232
|
+
einsum_signature: str
|
|
1233
|
+
specification of the tensor product in numpy's "einsum" notation
|
|
1234
|
+
|
|
1235
|
+
args:
|
|
1236
|
+
CoefficientFunctions
|
|
1237
|
+
|
|
1238
|
+
kwargs:
|
|
1239
|
+
"expand_einsum" (true) -- expand nested "einsums" for later optimization
|
|
1240
|
+
"optimize_path" (false) -- try to reorder product for greater efficiency
|
|
1241
|
+
"optimize_identities" (false) -- try to eliminate identity tensors
|
|
1242
|
+
"use_legacy_ops" (false) -- fall back to existing CFs implementing certain blas operations where possible
|
|
1243
|
+
"sparse_evaluation" (true) -- exploit sparsity of tensors
|
|
1244
|
+
"""
|
|
1245
|
+
def GenerateL2ElementCode(arg0: typing.SupportsInt) -> str:
|
|
1246
|
+
...
|
|
1247
|
+
def H1FE(et: ET, order: typing.SupportsInt) -> None:
|
|
1248
|
+
"""
|
|
1249
|
+
Creates an H1 finite element of given geometric shape and polynomial order.
|
|
1250
|
+
|
|
1251
|
+
Parameters:
|
|
1252
|
+
|
|
1253
|
+
et : ngsolve.fem.ET
|
|
1254
|
+
input element type
|
|
1255
|
+
|
|
1256
|
+
order : int
|
|
1257
|
+
input polynomial order
|
|
1258
|
+
"""
|
|
1259
|
+
@typing.overload
|
|
1260
|
+
def Id(dim: typing.SupportsInt) -> CoefficientFunction:
|
|
1261
|
+
"""
|
|
1262
|
+
Identity matrix of given dimension
|
|
1263
|
+
"""
|
|
1264
|
+
@typing.overload
|
|
1265
|
+
def Id(dims: pyngcore.pyngcore.Array_I_S) -> CoefficientFunction:
|
|
1266
|
+
"""
|
|
1267
|
+
Identity tensor for a space with dimensions 'dims', ie. the result is of 'dims + dims'
|
|
1268
|
+
"""
|
|
1269
|
+
@typing.overload
|
|
1270
|
+
def IfPos(c1: ..., then_obj: typing.Any, else_obj: typing.Any) -> ...:
|
|
1271
|
+
"""
|
|
1272
|
+
Returns new CoefficientFunction with values then_obj if c1 is positive and else_obj else.
|
|
1273
|
+
|
|
1274
|
+
Parameters:
|
|
1275
|
+
|
|
1276
|
+
c1 : ngsolve.CoefficientFunction
|
|
1277
|
+
Indicator function
|
|
1278
|
+
|
|
1279
|
+
then_obj : object
|
|
1280
|
+
Values of new CF if c1 is positive, object must be implicitly convertible to
|
|
1281
|
+
ngsolve.CoefficientFunction. See help(CoefficientFunction ) for information.
|
|
1282
|
+
|
|
1283
|
+
else_obj : object
|
|
1284
|
+
Values of new CF if c1 is not positive, object must be implicitly convertible to
|
|
1285
|
+
ngsolve.CoefficientFunction. See help(CoefficientFunction ) for information.
|
|
1286
|
+
"""
|
|
1287
|
+
@typing.overload
|
|
1288
|
+
def IfPos(arg0: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], arg1: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], arg2: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1289
|
+
...
|
|
1290
|
+
def Inv(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1291
|
+
...
|
|
1292
|
+
def L2FE(et: ET, order: typing.SupportsInt) -> None:
|
|
1293
|
+
"""
|
|
1294
|
+
Creates an L2 finite element of given geometric shape and polynomial order.
|
|
1295
|
+
|
|
1296
|
+
Parameters:
|
|
1297
|
+
|
|
1298
|
+
et : ngsolve.fem.ET
|
|
1299
|
+
input element type
|
|
1300
|
+
|
|
1301
|
+
order : int
|
|
1302
|
+
input polynomial order
|
|
1303
|
+
"""
|
|
1304
|
+
def LeviCivitaSymbol(arg0: typing.SupportsInt) -> CoefficientFunction:
|
|
1305
|
+
...
|
|
1306
|
+
def LoggingCF(cf: CoefficientFunction, logfile: str = 'stdout') -> CoefficientFunction:
|
|
1307
|
+
...
|
|
1308
|
+
def MinimizationCF(expression: CoefficientFunction, startingpoint: typing.Any, tol: typing.SupportsFloat | None = 1e-06, rtol: typing.SupportsFloat | None = 0.0, maxiter: typing.SupportsInt | None = 20, allow_fail: bool | None = False) -> CoefficientFunction:
|
|
1309
|
+
"""
|
|
1310
|
+
Creates a CoefficientFunction that returns the solution to a minimization problem.
|
|
1311
|
+
Convergence failure is indicated by returning NaNs. Set ngsgloals.message_level
|
|
1312
|
+
to 4 for element information in case of failure. Set ngsgloals.message_level to 5
|
|
1313
|
+
for details on the residual.
|
|
1314
|
+
|
|
1315
|
+
Parameters:
|
|
1316
|
+
|
|
1317
|
+
expression : CoefficientFunction
|
|
1318
|
+
the objective function to be minimized
|
|
1319
|
+
|
|
1320
|
+
startingpoint: CoefficientFunction, list/tuple of CoefficientFunctions
|
|
1321
|
+
The initial guess for the iterative solution of the minimization problem. In case of a list or a tuple,
|
|
1322
|
+
the order of starting points must match the order of the trial functions in their parent FE space.
|
|
1323
|
+
|
|
1324
|
+
tol: double
|
|
1325
|
+
absolute tolerance
|
|
1326
|
+
|
|
1327
|
+
rtol: double
|
|
1328
|
+
relative tolerance
|
|
1329
|
+
|
|
1330
|
+
maxiter: int
|
|
1331
|
+
maximum iterations
|
|
1332
|
+
|
|
1333
|
+
allow_fail : bool
|
|
1334
|
+
Returns the result of the final Newton step, even if the tolerance is not reached.
|
|
1335
|
+
Otherwise NaNs are returned.
|
|
1336
|
+
"""
|
|
1337
|
+
def NewtonCF(expression: CoefficientFunction, startingpoint: typing.Any, tol: typing.SupportsFloat | None = 1e-06, rtol: typing.SupportsFloat | None = 0.0, maxiter: typing.SupportsInt | None = 10, allow_fail: bool | None = False) -> CoefficientFunction:
|
|
1338
|
+
"""
|
|
1339
|
+
Creates a CoefficientFunction that returns the solution to a nonlinear problem.
|
|
1340
|
+
By default, convergence failure is indicated by returning NaNs. Set ngsgloals.message_level
|
|
1341
|
+
to 4 for element information in case of failure. Set ngsgloals.message_level to 5 for
|
|
1342
|
+
details on the residual.
|
|
1343
|
+
|
|
1344
|
+
Parameters:
|
|
1345
|
+
|
|
1346
|
+
expression : CoefficientFunction
|
|
1347
|
+
The residual of the nonlinear equation
|
|
1348
|
+
|
|
1349
|
+
startingpoint: CoefficientFunction, list/tuple of CoefficientFunctions
|
|
1350
|
+
The initial guess for the iterative solution of the nonlinear problem. In case of a list or a tuple,
|
|
1351
|
+
the order of starting points must match the order of the trial functions in their parent FE space.
|
|
1352
|
+
|
|
1353
|
+
tol: double
|
|
1354
|
+
Absolute tolerance
|
|
1355
|
+
|
|
1356
|
+
rtol: double
|
|
1357
|
+
Relative tolerance
|
|
1358
|
+
|
|
1359
|
+
maxiter: int
|
|
1360
|
+
Maximum number of iterations
|
|
1361
|
+
|
|
1362
|
+
allow_fail : bool
|
|
1363
|
+
Returns the result of the final Newton step, even if the tolerance is not reached.
|
|
1364
|
+
Otherwise NaNs are returned.
|
|
1365
|
+
"""
|
|
1366
|
+
def SetPMLParameters(rad: typing.SupportsFloat = 1, alpha: typing.SupportsFloat = 1) -> None:
|
|
1367
|
+
"""
|
|
1368
|
+
Parameters:
|
|
1369
|
+
|
|
1370
|
+
rad : double
|
|
1371
|
+
input radius of PML
|
|
1372
|
+
|
|
1373
|
+
alpha : double
|
|
1374
|
+
input damping factor of PML
|
|
1375
|
+
"""
|
|
1376
|
+
def Skew(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1377
|
+
...
|
|
1378
|
+
def Sym(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1379
|
+
...
|
|
1380
|
+
def Trace(arg0: CoefficientFunction) -> CoefficientFunction:
|
|
1381
|
+
...
|
|
1382
|
+
def VoxelCoefficient(start: tuple, end: tuple, values: numpy.ndarray, linear: bool = True, trafocf: typing.Any = ...) -> CoefficientFunction:
|
|
1383
|
+
"""
|
|
1384
|
+
CoefficientFunction defined on a grid.
|
|
1385
|
+
|
|
1386
|
+
Start and end mark the cartesian boundary of domain. The function will be continued by a constant function outside of this box. Inside a cartesian grid will be created by the dimensions of the numpy input array 'values'. This array must have the dimensions of the mesh and the values stored as:
|
|
1387
|
+
x1y1z1, x2y1z1, ..., xNy1z1, x1y2z1, ...
|
|
1388
|
+
|
|
1389
|
+
If linear is True the function will be interpolated linearly between the values. Otherwise the nearest voxel value is taken.
|
|
1390
|
+
"""
|
|
1391
|
+
def Zero(arg0: pyngcore.pyngcore.Array_I_S) -> CoefficientFunction:
|
|
1392
|
+
...
|
|
1393
|
+
@typing.overload
|
|
1394
|
+
def acos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1395
|
+
"""
|
|
1396
|
+
Inverse cosine in radians
|
|
1397
|
+
"""
|
|
1398
|
+
@typing.overload
|
|
1399
|
+
def acos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1400
|
+
"""
|
|
1401
|
+
Inverse cosine in radians
|
|
1402
|
+
"""
|
|
1403
|
+
@typing.overload
|
|
1404
|
+
def acos(x: ...) -> ...:
|
|
1405
|
+
"""
|
|
1406
|
+
Inverse cosine in radians
|
|
1407
|
+
"""
|
|
1408
|
+
@typing.overload
|
|
1409
|
+
def asin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1410
|
+
"""
|
|
1411
|
+
Inverse sine in radians
|
|
1412
|
+
"""
|
|
1413
|
+
@typing.overload
|
|
1414
|
+
def asin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1415
|
+
"""
|
|
1416
|
+
Inverse sine in radians
|
|
1417
|
+
"""
|
|
1418
|
+
@typing.overload
|
|
1419
|
+
def asin(x: ...) -> ...:
|
|
1420
|
+
"""
|
|
1421
|
+
Inverse sine in radians
|
|
1422
|
+
"""
|
|
1423
|
+
@typing.overload
|
|
1424
|
+
def atan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1425
|
+
"""
|
|
1426
|
+
Inverse tangent in radians
|
|
1427
|
+
"""
|
|
1428
|
+
@typing.overload
|
|
1429
|
+
def atan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1430
|
+
"""
|
|
1431
|
+
Inverse tangent in radians
|
|
1432
|
+
"""
|
|
1433
|
+
@typing.overload
|
|
1434
|
+
def atan(x: ...) -> ...:
|
|
1435
|
+
"""
|
|
1436
|
+
Inverse tangent in radians
|
|
1437
|
+
"""
|
|
1438
|
+
@typing.overload
|
|
1439
|
+
def atan2(y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1440
|
+
"""
|
|
1441
|
+
Four quadrant inverse tangent in radians
|
|
1442
|
+
"""
|
|
1443
|
+
@typing.overload
|
|
1444
|
+
def atan2(y: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128], x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1445
|
+
"""
|
|
1446
|
+
Four quadrant inverse tangent in radians
|
|
1447
|
+
"""
|
|
1448
|
+
@typing.overload
|
|
1449
|
+
def atan2(y: ..., x: ...) -> ...:
|
|
1450
|
+
"""
|
|
1451
|
+
Four quadrant inverse tangent in radians
|
|
1452
|
+
"""
|
|
1453
|
+
@typing.overload
|
|
1454
|
+
def ceil(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1455
|
+
"""
|
|
1456
|
+
Round to next greater integer
|
|
1457
|
+
"""
|
|
1458
|
+
@typing.overload
|
|
1459
|
+
def ceil(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1460
|
+
"""
|
|
1461
|
+
Round to next greater integer
|
|
1462
|
+
"""
|
|
1463
|
+
@typing.overload
|
|
1464
|
+
def ceil(x: ...) -> ...:
|
|
1465
|
+
"""
|
|
1466
|
+
Round to next greater integer
|
|
1467
|
+
"""
|
|
1468
|
+
@typing.overload
|
|
1469
|
+
def cos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1470
|
+
"""
|
|
1471
|
+
Cosine of argument in radians
|
|
1472
|
+
"""
|
|
1473
|
+
@typing.overload
|
|
1474
|
+
def cos(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1475
|
+
"""
|
|
1476
|
+
Cosine of argument in radians
|
|
1477
|
+
"""
|
|
1478
|
+
@typing.overload
|
|
1479
|
+
def cos(x: ...) -> ...:
|
|
1480
|
+
"""
|
|
1481
|
+
Cosine of argument in radians
|
|
1482
|
+
"""
|
|
1483
|
+
@typing.overload
|
|
1484
|
+
def cosh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1485
|
+
"""
|
|
1486
|
+
Hyperbolic cosine of argument in radians
|
|
1487
|
+
"""
|
|
1488
|
+
@typing.overload
|
|
1489
|
+
def cosh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1490
|
+
"""
|
|
1491
|
+
Hyperbolic cosine of argument in radians
|
|
1492
|
+
"""
|
|
1493
|
+
@typing.overload
|
|
1494
|
+
def cosh(x: ...) -> ...:
|
|
1495
|
+
"""
|
|
1496
|
+
Hyperbolic cosine of argument in radians
|
|
1497
|
+
"""
|
|
1498
|
+
@typing.overload
|
|
1499
|
+
def erf(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1500
|
+
"""
|
|
1501
|
+
Error function
|
|
1502
|
+
"""
|
|
1503
|
+
@typing.overload
|
|
1504
|
+
def erf(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1505
|
+
"""
|
|
1506
|
+
Error function
|
|
1507
|
+
"""
|
|
1508
|
+
@typing.overload
|
|
1509
|
+
def erf(x: ...) -> ...:
|
|
1510
|
+
"""
|
|
1511
|
+
Error function
|
|
1512
|
+
"""
|
|
1513
|
+
@typing.overload
|
|
1514
|
+
def exp(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1515
|
+
"""
|
|
1516
|
+
Exponential function
|
|
1517
|
+
"""
|
|
1518
|
+
@typing.overload
|
|
1519
|
+
def exp(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1520
|
+
"""
|
|
1521
|
+
Exponential function
|
|
1522
|
+
"""
|
|
1523
|
+
@typing.overload
|
|
1524
|
+
def exp(x: ...) -> ...:
|
|
1525
|
+
"""
|
|
1526
|
+
Exponential function
|
|
1527
|
+
"""
|
|
1528
|
+
@typing.overload
|
|
1529
|
+
def floor(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1530
|
+
"""
|
|
1531
|
+
Round to next lower integer
|
|
1532
|
+
"""
|
|
1533
|
+
@typing.overload
|
|
1534
|
+
def floor(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1535
|
+
"""
|
|
1536
|
+
Round to next lower integer
|
|
1537
|
+
"""
|
|
1538
|
+
@typing.overload
|
|
1539
|
+
def floor(x: ...) -> ...:
|
|
1540
|
+
"""
|
|
1541
|
+
Round to next lower integer
|
|
1542
|
+
"""
|
|
1543
|
+
@typing.overload
|
|
1544
|
+
def log(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1545
|
+
"""
|
|
1546
|
+
Logarithm function
|
|
1547
|
+
"""
|
|
1548
|
+
@typing.overload
|
|
1549
|
+
def log(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1550
|
+
"""
|
|
1551
|
+
Logarithm function
|
|
1552
|
+
"""
|
|
1553
|
+
@typing.overload
|
|
1554
|
+
def log(x: ...) -> ...:
|
|
1555
|
+
"""
|
|
1556
|
+
Logarithm function
|
|
1557
|
+
"""
|
|
1558
|
+
@typing.overload
|
|
1559
|
+
def pow(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], y: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1560
|
+
"""
|
|
1561
|
+
Power function
|
|
1562
|
+
"""
|
|
1563
|
+
@typing.overload
|
|
1564
|
+
def pow(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128], y: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1565
|
+
"""
|
|
1566
|
+
Power function
|
|
1567
|
+
"""
|
|
1568
|
+
@typing.overload
|
|
1569
|
+
def pow(x: ..., y: ...) -> ...:
|
|
1570
|
+
"""
|
|
1571
|
+
Power function
|
|
1572
|
+
"""
|
|
1573
|
+
@typing.overload
|
|
1574
|
+
def sin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1575
|
+
"""
|
|
1576
|
+
Sine of argument in radians
|
|
1577
|
+
"""
|
|
1578
|
+
@typing.overload
|
|
1579
|
+
def sin(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1580
|
+
"""
|
|
1581
|
+
Sine of argument in radians
|
|
1582
|
+
"""
|
|
1583
|
+
@typing.overload
|
|
1584
|
+
def sin(x: ...) -> ...:
|
|
1585
|
+
"""
|
|
1586
|
+
Sine of argument in radians
|
|
1587
|
+
"""
|
|
1588
|
+
@typing.overload
|
|
1589
|
+
def sinh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1590
|
+
"""
|
|
1591
|
+
Hyperbolic sine of argument in radians
|
|
1592
|
+
"""
|
|
1593
|
+
@typing.overload
|
|
1594
|
+
def sinh(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1595
|
+
"""
|
|
1596
|
+
Hyperbolic sine of argument in radians
|
|
1597
|
+
"""
|
|
1598
|
+
@typing.overload
|
|
1599
|
+
def sinh(x: ...) -> ...:
|
|
1600
|
+
"""
|
|
1601
|
+
Hyperbolic sine of argument in radians
|
|
1602
|
+
"""
|
|
1603
|
+
@typing.overload
|
|
1604
|
+
def sqrt(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1605
|
+
"""
|
|
1606
|
+
Square root function
|
|
1607
|
+
"""
|
|
1608
|
+
@typing.overload
|
|
1609
|
+
def sqrt(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1610
|
+
"""
|
|
1611
|
+
Square root function
|
|
1612
|
+
"""
|
|
1613
|
+
@typing.overload
|
|
1614
|
+
def sqrt(x: ...) -> ...:
|
|
1615
|
+
"""
|
|
1616
|
+
Square root function
|
|
1617
|
+
"""
|
|
1618
|
+
@typing.overload
|
|
1619
|
+
def tan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> typing.Any:
|
|
1620
|
+
"""
|
|
1621
|
+
Tangent of argument in radians
|
|
1622
|
+
"""
|
|
1623
|
+
@typing.overload
|
|
1624
|
+
def tan(x: typing.Annotated[numpy.typing.ArrayLike, numpy.complex128]) -> typing.Any:
|
|
1625
|
+
"""
|
|
1626
|
+
Tangent of argument in radians
|
|
1627
|
+
"""
|
|
1628
|
+
@typing.overload
|
|
1629
|
+
def tan(x: ...) -> ...:
|
|
1630
|
+
"""
|
|
1631
|
+
Tangent of argument in radians
|
|
1632
|
+
"""
|
|
1633
|
+
CELL: NODE_TYPE # value = <NODE_TYPE.CELL: 3>
|
|
1634
|
+
EDGE: NODE_TYPE # value = <NODE_TYPE.EDGE: 1>
|
|
1635
|
+
ELEMENT: NODE_TYPE # value = <NODE_TYPE.ELEMENT: 4>
|
|
1636
|
+
FACE: NODE_TYPE # value = <NODE_TYPE.FACE: 2>
|
|
1637
|
+
FACET: NODE_TYPE # value = <NODE_TYPE.FACET: 5>
|
|
1638
|
+
HEX: ET # value = <ET.HEX: 24>
|
|
1639
|
+
POINT: ET # value = <ET.POINT: 0>
|
|
1640
|
+
PRISM: ET # value = <ET.PRISM: 22>
|
|
1641
|
+
PYRAMID: ET # value = <ET.PYRAMID: 21>
|
|
1642
|
+
QUAD: ET # value = <ET.QUAD: 11>
|
|
1643
|
+
SEGM: ET # value = <ET.SEGM: 1>
|
|
1644
|
+
TET: ET # value = <ET.TET: 20>
|
|
1645
|
+
TRIG: ET # value = <ET.TRIG: 10>
|
|
1646
|
+
VERTEX: NODE_TYPE # value = <NODE_TYPE.VERTEX: 0>
|
|
1647
|
+
specialcf: SpecialCFCreator # value = <ngsolve.fem.SpecialCFCreator object>
|