OpenLB 1.7
|
Magnetic field that creates magnetization in wire has to be orthogonal to the wire. More...
#include <frameChangeF3D.h>
Public Member Functions | |
MagneticForceFromCylinder3D (CartesianToCylinder3D< T, S > &car2cyl, T length, T radWire, T cutoff, T Mw, T Mp=T(1), T radParticle=T(1), T mu0=4 *3.14159265e-7) | |
Magnetic field that creates magnetization in wire has to be orthogonal to the wire. | |
bool | operator() (T output[], const S x[]) override |
operator writes the magnetic force in a point x util::round a cylindrical wire into output field | |
Public Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF< D, T, S > & | operator- (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator+ (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator* (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator/ (AnalyticalF< D, T, S > &rhs) |
Public Member Functions inherited from olb::GenericF< T, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
bool | operator() (T output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (T output[], S input0) |
bool | operator() (T output[], S input0, S input1) |
bool | operator() (T output[], S input0, S input1, S input2) |
bool | operator() (T output[], S input0, S input1, S input2, S input3) |
Protected Attributes | |
CartesianToCylinder3D< T, S > & | _car2cyl |
T | _length |
length of the wire, from origin to _car2cyl.axisDirection | |
T | _radWire |
wire radius | |
T | _cutoff |
maximal distance from wire cutoff/threshold | |
T | _Mw |
saturation magnetization wire, linear scaling factor | |
T | _Mp |
magnetization particle, linear scaling factor | |
T | _radParticle |
particle radius, cubic scaling factor | |
T | _mu0 |
permeability constant, linear scaling factor | |
T | _factor |
factor = mu0*4/3.*PI*radParticle^3*_Mp*radWire^2/r^3 | |
Additional Inherited Members | |
Public Types inherited from olb::AnalyticalF< D, T, S > | |
using | identity_functor_type = AnalyticalIdentity<D,T,S> |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
Public Attributes inherited from olb::GenericF< T, S > | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Static Public Attributes inherited from olb::AnalyticalF< D, T, S > | |
static constexpr unsigned | dim = D |
Protected Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF (int n) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
Magnetic field that creates magnetization in wire has to be orthogonal to the wire.
To calculate the magnetic force on particles around a cylinder (J. Lindner et al. / Computers and Chemical Engineering 54 (2013) 111-121) Fm = mu0*4/3.*PI*radParticle^3*_Mp*radWire^2/r^3 * [radWire^2/r^2+util::cos(2*theta), util::sin(2*theta), 0]
Definition at line 498 of file frameChangeF3D.h.
olb::MagneticForceFromCylinder3D< T, S >::MagneticForceFromCylinder3D | ( | CartesianToCylinder3D< T, S > & | car2cyl, |
T | length, | ||
T | radWire, | ||
T | cutoff, | ||
T | Mw, | ||
T | Mp = T(1), | ||
T | radParticle = T(1), | ||
T | mu0 = 4*3.14159265e-7 ) |
Magnetic field that creates magnetization in wire has to be orthogonal to the wire.
To calculate the magnetic force on particles around a cylinder (J. Lindner et al. / Computers and Chemical Engineering 54 (2013) 111-121) Fm = mu0*4/3.*PI*radParticle^3*_Mp*radWire^2/r^3 * [radWire^2/r^2+util::cos(2*theta), util::sin(2*theta), 0]
Definition at line 1162 of file frameChangeF3D.hh.
References olb::MagneticForceFromCylinder3D< T, S >::_factor, olb::MagneticForceFromCylinder3D< T, S >::_Mp, olb::MagneticForceFromCylinder3D< T, S >::_mu0, olb::MagneticForceFromCylinder3D< T, S >::_Mw, olb::MagneticForceFromCylinder3D< T, S >::_radParticle, olb::MagneticForceFromCylinder3D< T, S >::_radWire, M_PI, and olb::util::pow().
|
overridevirtual |
operator writes the magnetic force in a point x util::round a cylindrical wire into output field
Implements olb::GenericF< T, S >.
Definition at line 1180 of file frameChangeF3D.hh.
References olb::util::cos(), olb::crossProduct3D(), olb::util::fromVector3(), olb::util::nearZero(), olb::normalize(), olb::util::pow(), and olb::util::sin().
|
protected |
Definition at line 500 of file frameChangeF3D.h.
|
protected |
maximal distance from wire cutoff/threshold
Definition at line 506 of file frameChangeF3D.h.
|
protected |
factor = mu0*4/3.*PI*radParticle^3*_Mp*radWire^2/r^3
Definition at line 516 of file frameChangeF3D.h.
|
protected |
length of the wire, from origin to _car2cyl.axisDirection
Definition at line 502 of file frameChangeF3D.h.
|
protected |
magnetization particle, linear scaling factor
Definition at line 510 of file frameChangeF3D.h.
|
protected |
permeability constant, linear scaling factor
Definition at line 514 of file frameChangeF3D.h.
|
protected |
saturation magnetization wire, linear scaling factor
Definition at line 508 of file frameChangeF3D.h.
|
protected |
particle radius, cubic scaling factor
Definition at line 512 of file frameChangeF3D.h.
|
protected |
wire radius
Definition at line 504 of file frameChangeF3D.h.