v1.0
Dipole.h
Go to the documentation of this file.
1
//Copyright (c) 2013-2023, The MercuryDPM Developers Team. All rights reserved.
2
//For the list of developers, see <http://www.MercuryDPM.org/Team>.
3
//
4
//Redistribution and use in source and binary forms, with or without
5
//modification, are permitted provided that the following conditions are met:
6
// * Redistributions of source code must retain the above copyright
7
// notice, this list of conditions and the following disclaimer.
8
// * Redistributions in binary form must reproduce the above copyright
9
// notice, this list of conditions and the following disclaimer in the
10
// documentation and/or other materials provided with the distribution.
11
// * Neither the name MercuryDPM nor the
12
// names of its contributors may be used to endorse or promote products
13
// derived from this software without specific prior written permission.
14
//
15
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
//DISCLAIMED. IN NO EVENT SHALL THE MERCURYDPM DEVELOPERS TEAM BE LIABLE FOR ANY
19
//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
#ifndef DIPOLE_H_
26
#define DIPOLE_H_
27
28
#include "
Math/NumericalVector.h
"
29
#include "
Math/Vector.h
"
30
#include "
Multipole.h
"
31
#include <complex>
32
#include <vector>
33
34
class
Dipole
:
public
Multipole
35
{
36
public
:
37
Dipole
(
int
p,
NumericalVector<>
* squaredFactorials,
Vec3D
location,
Vec3D
velocity,
Mdouble
strength);
38
39
void
computeMultipoleExpansion
()
final
;
40
41
Vec3D
getLocation
()
42
{
43
return
location_
;
44
}
45
46
private
:
47
Vec3D
velocity_
;
48
Mdouble
strength_
;
49
};
50
51
#endif
/* DIPOLE_H_ */
Multipole.h
NumericalVector.h
Vector.h
Dipole
Definition:
Dipole.h:35
Dipole::strength_
Mdouble strength_
Definition:
Dipole.h:48
Dipole::Dipole
Dipole(int p, NumericalVector<> *squaredFactorials, Vec3D location, Vec3D velocity, Mdouble strength)
Definition:
Dipole.cc:32
Dipole::velocity_
Vec3D velocity_
Definition:
Dipole.h:47
Dipole::getLocation
Vec3D getLocation()
Definition:
Dipole.h:41
Dipole::computeMultipoleExpansion
void computeMultipoleExpansion() final
Definition:
Dipole.cc:39
Multipole
Definition:
Multipole.h:34
Multipole::location_
Vec3D location_
Definition:
Multipole.h:73
NumericalVector
Definition:
NumericalVector.h:64
Vec3D
Definition:
Vector.h:51
double
Kernel
FMM
Dipole.h
Generated on Fri Jul 21 2023 15:03:33 for MercuryDPM by
1.9.1