%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.nju.edu.cn/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
[](https://pypi.org/project/MagnetiCalc/)
[](https://opensource.org/licenses/ISC)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[](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)
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,
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
-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
(
(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
(
),
each of which contributes to the total resulting field
( ,
,
 )
at some fixed 3D grid point (
)
at some fixed 3D grid point ( ),
summing over the positions of all current elements
(
),
summing over the positions of all current elements
( ):
):
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^')}}{\mid \mathbf{x} - \mathbf{x^'} \mid})
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^'}) \times (\mathbf{x} - \mathbf{x^'})}{\mid \mathbf{x} - \mathbf{x^'} \mid})
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
 [**2**]
and self-inductance  [**3**]
are calculated by summing the squared
 [**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:
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
 \cdot \mathbf{B}(\mathbf{x})}{\mu_r(\mathbf{x})})

Additionally, the scalar magnetic dipole moment
 [**4**]
is calculated by summing over all current elements:
 [**4**]
is calculated by summing over all current elements:
 \Bigr|)
***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
[](https://pypi.org/project/MagnetiCalc/)
[](https://opensource.org/licenses/ISC)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[](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)
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,
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
-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
(
(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
(
),
each of which contributes to the total resulting field
( ,
,
 )
at some fixed 3D grid point (
)
at some fixed 3D grid point ( ),
summing over the positions of all current elements
(
),
summing over the positions of all current elements
( ):
):
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^')}}{\mid \mathbf{x} - \mathbf{x^'} \mid})
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^'}) \times (\mathbf{x} - \mathbf{x^'})}{\mid \mathbf{x} - \mathbf{x^'} \mid})
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
 [**2**]
and self-inductance  [**3**]
are calculated by summing the squared
 [**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:
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
 \cdot \mathbf{B}(\mathbf{x})}{\mu_r(\mathbf{x})})

Additionally, the scalar magnetic dipole moment
 [**4**]
is calculated by summing over all current elements:
 [**4**]
is calculated by summing over all current elements:
 \Bigr|)
***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
[](https://pypi.org/project/MagnetiCalc/)
[](https://opensource.org/licenses/ISC)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TN6YTPVX36YHA&source=url)
[](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)
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,
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
-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
(
(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
(
),
each of which contributes to the total resulting field
( ,
,
 )
at some fixed 3D grid point (
)
at some fixed 3D grid point ( ),
summing over the positions of all current elements
(
),
summing over the positions of all current elements
( ):
):
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^')}}{\mid \mathbf{x} - \mathbf{x^'} \mid})
=I \cdot \frac{\mu_0}{4 \pi} \cdot \displaystyle \sum_\mathbf{x^'} \mu_r(\mathbf{x}) \cdot \frac{\mathbf{\ell}(\mathbf{x^'}) \times (\mathbf{x} - \mathbf{x^'})}{\mid \mathbf{x} - \mathbf{x^'} \mid})
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
 [**2**]
and self-inductance  [**3**]
are calculated by summing the squared
 [**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:
-field
over the entire sampling volume;
ensure that the sampling volume encloses a large, non-singular portion of the field:
 \cdot \mathbf{B}(\mathbf{x})}{\mu_r(\mathbf{x})})

Additionally, the scalar magnetic dipole moment
 [**4**]
is calculated by summing over all current elements:
 [**4**]
is calculated by summing over all current elements:
 \Bigr|)
***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
* Wed May 31 2023 Python_Bot  - 1.15.2-1
- Package Spec generated