Feellgood
|
#include <facette.h>
Public Member Functions | |
Fac (const std::vector< Nodes::Node > &_p_node, const int _NOD, const int _idx, std::initializer_list< int > _i) | |
void | interpolation (std::function< Eigen::Vector3d(Nodes::Node)> getter, Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> result) const |
void | interpolation (std::function< double(Nodes::Node)> getter, Eigen::Ref< Eigen::Matrix< double, NPI, 1 >> result) const |
void | integrales (Facette::prm const ¶ms) |
double | anisotropyEnergy (Facette::prm const ¶m, Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> const u) const |
void | charges (Facette::prm const ¶m, std::function< Eigen::Vector3d(Nodes::Node)> getter, std::vector< double > &srcDen, int &nsrc, std::vector< double > &corr) const |
double | demagEnergy (Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> u, Eigen::Ref< Eigen::Matrix< double, NPI, 1 >> phi) const |
double | potential (std::function< Eigen::Vector3d(Nodes::Node)> getter, int i) const |
bool | operator< (const Fac &f) const |
Eigen::Vector3d | calc_norm (void) const |
void | getPtGauss (Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> result) const |
Public Member Functions inherited from element< N, NPI > | |
element (const std::vector< Nodes::Node > &_p_node, const int _idx, std::initializer_list< int > &_i) | |
constexpr int | getN (void) const |
constexpr int | getNPI (void) const |
void | buildMatP (Eigen::Ref< Eigen::Matrix< double, 2 *N, 3 *N >> P) |
void | assemblage_mat (const int NOD, std::vector< Eigen::Triplet< double >> &K) const |
void | assemblage_vect (const int NOD, Eigen::Ref< Eigen::VectorXd > L) const |
void | infos () const |
Public Attributes | |
double | surf |
double | dMs |
Eigen::Vector3d | n |
Public Attributes inherited from element< N, NPI > | |
std::vector< int > | ind |
int | idxPrm |
Eigen::Matrix< double, NPI, 1 > | weight |
Eigen::Matrix< double, 2 *N, 2 *N > | Kp |
Eigen::Matrix< double, 2 *N, 1 > | Lp |
Private Member Functions | |
void | orientate (void) |
double | calc_surf (void) const |
Eigen::Vector3d | normal_vect () const |
Additional Inherited Members | |
Protected Member Functions inherited from element< N, NPI > | |
const Nodes::Node & | getNode (const int i) const |
bool | existNodes (void) |
void | zeroBasing (void) |
Face is a class containing the index references to nodes, its surface and its normal unit vector, it has a triangular shape and should not be degenerated, orientation must be defined in adequation with the mesh
|
inline |
constructor used by readMesh
[in] | _p_node | vector of nodes |
[in] | _NOD | nb nodes |
[in] | _idx | region index in region vector |
[in] | _i | node index |
double Fac::anisotropyEnergy | ( | Facette::prm const & | param, |
Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> const | u | ||
) | const |
anisotropy energy of the facette
[in] | param | |
[in] | u |
|
inline |
computes the norm to the face, returns a unit vector
|
inlineprivate |
computes surface of the face
void Fac::charges | ( | Facette::prm const & | param, |
std::function< Eigen::Vector3d(Nodes::Node)> | getter, | ||
std::vector< double > & | srcDen, | ||
int & | nsrc, | ||
std::vector< double > & | corr | ||
) | const |
computes surface charges and some corrections, stored in srcDen at position nsrc and corr
[in] | param | |
[in] | getter | |
srcDen | [in|out] | |
nsrc | [in|out] | |
corr | [in|out] |
double Fac::demagEnergy | ( | Eigen::Ref< Eigen::Matrix< double, Nodes::DIM, NPI >> | u, |
Eigen::Ref< Eigen::Matrix< double, NPI, 1 >> | phi | ||
) | const |
demagnetizing energy of the facette
[in] | u | |
[in] | phi |
|
inlinevirtual |
returns Gauss points in result = vec_nod*Facettea
Implements element< N, NPI >.
void Fac::integrales | ( | Facette::prm const & | params | ) |
computes the integral contribution of the triangular face, the only contribution comes from Neel surface anisotropy
[in] | params |
|
inline |
interpolation function on the output of the getter, mind the transposition: result = transpose(scalar_nod) * a
[in] | getter | |
[out] | result |
|
inline |
interpolation function on the output of the getter. result = vec_nod * a
[in] | getter | |
[out] | result |
|
inlineprivate |
return normal to the triangular face, not normalized
|
inline |
lexicographic order on indices
|
inlineprivatevirtual |
a method to orientate the element
Implements element< N, NPI >.
double Fac::potential | ( | std::function< Eigen::Vector3d(Nodes::Node)> | getter, |
int | i | ||
) | const |
computes correction on potential
double Facette::Fac::dMs |
difference (d for delta) of magnetization at the facette between corresponding tetrahedrons
Eigen::Vector3d Facette::Fac::n |
normal vector (unit vector)
double Facette::Fac::surf |
surface of the element