%global _empty_manifest_terminate_build 0
Name: python-MagnetiCalc
Version: 1.15.2
Release: 1
Summary: MagnetiCalc calculates the magnetic flux density, vector potential, energy, self-inductance and magnetic dipole moment of arbitrary coils. Inside an OpenGL-accelerated GUI, the static magnetic flux density (B-field) or the magnetic vector potential (A-field) is displayed in interactive 3D, using multiple metrics for highlighting the field properties.
License: ISC License
URL: https://github.com/shredEngineer/MagnetiCalc
Source0: https://mirrors.aliyun.com/pypi/web/packages/b9/97/e621696b60b1356a465f97b3507fc2e1997767835d15da653d00da695eb6/MagnetiCalc-1.15.2.tar.gz
BuildArch: noarch
Requires: python3-numpy
Requires: python3-numba
Requires: python3-scipy
Requires: python3-PyQt5
Requires: python3-vispy
Requires: python3-qtawesome
Requires: python3-sty
Requires: python3-si-prefix
Requires: python3-h5py
%description
[![PyPI version](https://img.shields.io/pypi/v/MagnetiCalc?label=PyPI)](https://pypi.org/project/MagnetiCalc/)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[![Documentation](https://img.shields.io/badge/Documentation-API-orange)](https://shredengineer.github.io/MagnetiCalc/)
๐ [Always looking for beta testers!](#contribute)
**What does MagnetiCalc do?**
MagnetiCalc calculates the static magnetic flux density, vector potential, energy, self-inductance
and magnetic dipole moment of arbitrary coils. Inside an OpenGL-accelerated GUI, the magnetic flux density
(-field,
in units of Tesla)
or the magnetic vector potential
(-field,
in units of Tesla-meter)
is displayed in interactive 3D, using multiple metrics for highlighting the field properties.
Experimental feature: To calculate the energy and self-inductance of permeable (i.e. ferrous) materials,
different core media can be modeled as regions of variable relative permeability;
however, core saturation is currently not modeled, resulting in excessive flux density values.
**Who needs MagnetiCalc?**
MagnetiCalc does its job for hobbyists, students, engineers and researchers of magnetic phenomena.
I designed MagnetiCalc from scratch, because I didn't want to mess around
with expensive and/or overly complex simulation software
whenever I needed to solve a magnetostatic problem.
**How does it work?**
The -field calculation
is implemented using the Biot-Savart law [**1**], employing multiprocessing techniques;
MagnetiCalc uses just-in-time compilation ([JIT](https://numba.pydata.org/))
and, if available, GPU-acceleration ([CUDA](https://numba.pydata.org/numba-doc/dev/cuda/overview.html))
to achieve high-performance calculations.
Additionally, the use of easily constrainable "sampling volumes" allows for selective calculation over
grids of arbitrary shape and arbitrary relative permeabilities
(experimental).
The shape of any wire is modeled as a 3D piecewise linear curve.
Arbitrary loops of wire are sliced into differential current elements
(),
each of which contributes to the total resulting field
(,
)
at some fixed 3D grid point (),
summing over the positions of all current elements
():
At each grid point, the field magnitude (or field angle in some plane) is displayed
using colored arrows and/or dots;
field color and alpha transparency are individually mapped using one of the various
[available metrics](#appendix-metrics).
The coil's energy [**2**]
and self-inductance [**3**]
are calculated by summing the squared
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
Additionally, the scalar magnetic dipole moment
[**4**]
is calculated by summing over all current elements:
***References***
[**1**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 204, (5.4).
[**2**]: Kraus, Electromagnetics, 4th Edition, p. 269, 6-9-1.
[**3**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 252, (5.157).
[**4**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 216, (5.54).
%package -n python3-MagnetiCalc
Summary: MagnetiCalc calculates the magnetic flux density, vector potential, energy, self-inductance and magnetic dipole moment of arbitrary coils. Inside an OpenGL-accelerated GUI, the static magnetic flux density (B-field) or the magnetic vector potential (A-field) is displayed in interactive 3D, using multiple metrics for highlighting the field properties.
Provides: python-MagnetiCalc
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-MagnetiCalc
[![PyPI version](https://img.shields.io/pypi/v/MagnetiCalc?label=PyPI)](https://pypi.org/project/MagnetiCalc/)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[![Documentation](https://img.shields.io/badge/Documentation-API-orange)](https://shredengineer.github.io/MagnetiCalc/)
๐ [Always looking for beta testers!](#contribute)
**What does MagnetiCalc do?**
MagnetiCalc calculates the static magnetic flux density, vector potential, energy, self-inductance
and magnetic dipole moment of arbitrary coils. Inside an OpenGL-accelerated GUI, the magnetic flux density
(-field,
in units of Tesla)
or the magnetic vector potential
(-field,
in units of Tesla-meter)
is displayed in interactive 3D, using multiple metrics for highlighting the field properties.
Experimental feature: To calculate the energy and self-inductance of permeable (i.e. ferrous) materials,
different core media can be modeled as regions of variable relative permeability;
however, core saturation is currently not modeled, resulting in excessive flux density values.
**Who needs MagnetiCalc?**
MagnetiCalc does its job for hobbyists, students, engineers and researchers of magnetic phenomena.
I designed MagnetiCalc from scratch, because I didn't want to mess around
with expensive and/or overly complex simulation software
whenever I needed to solve a magnetostatic problem.
**How does it work?**
The -field calculation
is implemented using the Biot-Savart law [**1**], employing multiprocessing techniques;
MagnetiCalc uses just-in-time compilation ([JIT](https://numba.pydata.org/))
and, if available, GPU-acceleration ([CUDA](https://numba.pydata.org/numba-doc/dev/cuda/overview.html))
to achieve high-performance calculations.
Additionally, the use of easily constrainable "sampling volumes" allows for selective calculation over
grids of arbitrary shape and arbitrary relative permeabilities
(experimental).
The shape of any wire is modeled as a 3D piecewise linear curve.
Arbitrary loops of wire are sliced into differential current elements
(),
each of which contributes to the total resulting field
(,
)
at some fixed 3D grid point (),
summing over the positions of all current elements
():
At each grid point, the field magnitude (or field angle in some plane) is displayed
using colored arrows and/or dots;
field color and alpha transparency are individually mapped using one of the various
[available metrics](#appendix-metrics).
The coil's energy [**2**]
and self-inductance [**3**]
are calculated by summing the squared
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
Additionally, the scalar magnetic dipole moment
[**4**]
is calculated by summing over all current elements:
***References***
[**1**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 204, (5.4).
[**2**]: Kraus, Electromagnetics, 4th Edition, p. 269, 6-9-1.
[**3**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 252, (5.157).
[**4**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 216, (5.54).
%package help
Summary: Development documents and examples for MagnetiCalc
Provides: python3-MagnetiCalc-doc
%description help
[![PyPI version](https://img.shields.io/pypi/v/MagnetiCalc?label=PyPI)](https://pypi.org/project/MagnetiCalc/)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[![Documentation](https://img.shields.io/badge/Documentation-API-orange)](https://shredengineer.github.io/MagnetiCalc/)
๐ [Always looking for beta testers!](#contribute)
**What does MagnetiCalc do?**
MagnetiCalc calculates the static magnetic flux density, vector potential, energy, self-inductance
and magnetic dipole moment of arbitrary coils. Inside an OpenGL-accelerated GUI, the magnetic flux density
(-field,
in units of Tesla)
or the magnetic vector potential
(-field,
in units of Tesla-meter)
is displayed in interactive 3D, using multiple metrics for highlighting the field properties.
Experimental feature: To calculate the energy and self-inductance of permeable (i.e. ferrous) materials,
different core media can be modeled as regions of variable relative permeability;
however, core saturation is currently not modeled, resulting in excessive flux density values.
**Who needs MagnetiCalc?**
MagnetiCalc does its job for hobbyists, students, engineers and researchers of magnetic phenomena.
I designed MagnetiCalc from scratch, because I didn't want to mess around
with expensive and/or overly complex simulation software
whenever I needed to solve a magnetostatic problem.
**How does it work?**
The -field calculation
is implemented using the Biot-Savart law [**1**], employing multiprocessing techniques;
MagnetiCalc uses just-in-time compilation ([JIT](https://numba.pydata.org/))
and, if available, GPU-acceleration ([CUDA](https://numba.pydata.org/numba-doc/dev/cuda/overview.html))
to achieve high-performance calculations.
Additionally, the use of easily constrainable "sampling volumes" allows for selective calculation over
grids of arbitrary shape and arbitrary relative permeabilities
(experimental).
The shape of any wire is modeled as a 3D piecewise linear curve.
Arbitrary loops of wire are sliced into differential current elements
(),
each of which contributes to the total resulting field
(,
)
at some fixed 3D grid point (),
summing over the positions of all current elements
():
At each grid point, the field magnitude (or field angle in some plane) is displayed
using colored arrows and/or dots;
field color and alpha transparency are individually mapped using one of the various
[available metrics](#appendix-metrics).
The coil's energy [**2**]
and self-inductance [**3**]
are calculated by summing the squared
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
Additionally, the scalar magnetic dipole moment
[**4**]
is calculated by summing over all current elements:
***References***
[**1**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 204, (5.4).
[**2**]: Kraus, Electromagnetics, 4th Edition, p. 269, 6-9-1.
[**3**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 252, (5.157).
[**4**]: Jackson, Klassische Elektrodynamik, 5. Auflage, S. 216, (5.54).
%prep
%autosetup -n MagnetiCalc-1.15.2
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-MagnetiCalc -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri Jun 09 2023 Python_Bot - 1.15.2-1
- Package Spec generated