Specialization for transfering from nodes to nodes. More...
#include <Transfer_2n.h>
Public Member Functions | |
Transfer_n2n (RFC_Window_transfer *s, RFC_Window_transfer *t) | |
Constructor. More... | |
void | transfer (const Nodal_data_const &sf, Nodal_data &tf, const Real alpha, Real *t, int *iter, int doa, bool ver) |
The main entry to the data transfer algorithm. More... | |
void | comp_loads (const Nodal_data_const &sf, Nodal_data &tf, const Real alpha, const int doa, bool verb) |
Compute the nodal load vector. More... | |
Public Member Functions inherited from Transfer_base | |
Transfer_base (RFC_Window_transfer *s, RFC_Window_transfer *t) | |
template<class _SDF > | |
void | transfer_2f (const _SDF &sDF, Facial_data &tDF, const Real alpha, int doa, bool verb) |
template function for transfering from nodes/faces to faces. More... | |
template<class _SDF > | |
void | transfer_2n (const _SDF &sDF, Nodal_data &tDF, const Real alpha, Real *tol, int *iter, int doa, bool verb) |
template function for transfering from nodes/faces to nodes. More... | |
template<class _SDF > | |
void | interpolate_fe (const _SDF &sDF, Nodal_data &tDF, bool verb) |
Perform finite-element interpolation (non-conservative), assuming source data has been replicated. More... | |
template<class _SDF > | |
void | loadtransfer (const _SDF &vS, Nodal_data &vT, const Real alpha, const int order, bool verb) |
Computes the load vector. More... | |
void | minmax (const RFC_Window_transfer &win, const Facial_data_const &sDF, Array_n &min_v, Array_n &max_v) |
void | minmax (const RFC_Window_transfer &win, const Nodal_data_const &sDF, Array_n &min_v, Array_n &max_v) |
void | integrate (const RFC_Window_transfer &win, const Nodal_data_const &sDF, Array_n &intergral, const int doa) |
void | integrate (const RFC_Window_transfer &win, const Facial_data_const &sDF, Array_n &intergral, const int doa) |
bool | isfinite (Real x) |
template<class _Data > | |
RFC_BEGIN_NAME_SPACE void | integrate_subface (const RFC_Pane_transfer *p_src, RFC_Pane_transfer *p_trg, const _Data &data_s, ENE &ene_src, ENE &ene_trg, int sfid_src, int sfid_trg, const Real alpha, Facial_data &tDF, Facial_data &tBF, int doa) |
template<class _SDF > | |
RFC_BEGIN_NAME_SPACE void | interpolate_fe (const _SDF &sDF, Nodal_data &tDF, bool verbose) |
Private Types | |
typedef Transfer_n2n | Self |
typedef Transfer_base | Base |
Additional Inherited Members | |
Public Types inherited from Transfer_base | |
typedef Element_node_enumerator | ENE |
typedef Field< Nodal_data, ENE > | Element_var |
typedef Field< const Nodal_data_const, ENE > | Element_var_const |
typedef Field< const Nodal_coor_const, ENE > | Element_coor_const |
typedef Transfer_base | Self |
typedef std::vector < RFC_Pane_transfer * > ::iterator | Pane_iterator |
typedef std::vector < RFC_Pane_transfer * > ::const_iterator | Pane_iterator_const |
typedef std::vector< const RFC_Pane_transfer * > ::const_iterator | Pane_const_iterator |
Protected Member Functions inherited from Transfer_base | |
template<class _SDF > | |
void | integrate_subface (const RFC_Pane_transfer *p_src, RFC_Pane_transfer *p_trg, const _SDF &sDF, ENE &ene_src, ENE &ene_trg, int sfid_src, int sfid_trg, const Real alpha, Facial_data &tDF, Facial_data &tBF, int doa) |
template<class _SDF > | |
void | init_load_vector (const _SDF &vS, const Real alpha, Nodal_data &ld, Nodal_data &diag, int doa, bool lump) |
Initialize load vector and the diagonal of the mass matrix. More... | |
int | pcg (Nodal_data &x, Nodal_data &b, Nodal_data &p, Nodal_data &q, Nodal_data &r, Nodal_data &s, Nodal_data &z, Nodal_data &di, Real *tol, int *max_iter) |
void | precondition_Jacobi (const Nodal_data_const &rhs, const Nodal_data_const &diag, Nodal_data &x) |
Diagonal (Jacobi) preconditioner. More... | |
void | multiply_mass_mat_and_x (const Nodal_data_const &x, Nodal_data &y) |
Real | square (const Array_n_const &x) const |
Real | norm2 (const Nodal_data_const &x) const |
Real | dot (const Nodal_data_const &x, const Nodal_data_const &y) const |
void | dot2 (const Nodal_data_const &x1, const Nodal_data_const &y1, const Nodal_data_const &x2, const Nodal_data_const &y2, Array_n prod) const |
void | scale (const Real &a, Nodal_data &x) |
void | invert (Nodal_data &x) |
void | copy_vec (const Nodal_data_const &x, Nodal_data &y) |
void | saxpy (const Real &a, const Nodal_data_const &x, const Real &b, Nodal_data &y) |
template<class _SDF > | |
void | compute_load_vector_wra (const RFC_Pane_transfer *p_src, RFC_Pane_transfer *p_dst, const _SDF &sDF, ENE &ene_src, ENE &ene_trg, int sfid_src, int sfid_trg, const Real alpha, Nodal_data &rhs, Nodal_data &diag, int doa, bool lump) |
Computes the element-wise load vector, and also computes mass matrix if diag has a nonnegative ID. More... | |
template<class _Data , class _Points , class _Loads , class Tag > | |
void | element_load_vector (const _Data &data_s, const Generic_element &e_s, const Generic_element &e_t, const _Points &pnts_s, const _Points &pnts_t, const Point_2 *ncs_s, const Point_2 *ncs_t, const Real alpha, const int sne, const Tag &tag, _Loads loads, _Loads diag, Real *emm, int doa, bool lump) |
Computes the element-wise load vector, and also computes mass matrix if emm is not NULL. More... | |
template<class _Data > | |
void | compute_load_prime (const Generic_element &e_s, const _Data &data_s, const Vector_3 *grads_s, Vector_3 *load_prime, Tag_nodal) |
template<class _Data > | |
void | compute_load_prime (const Generic_element &e_s, const _Data &data_s, const Vector_3 *grads_s, Vector_3 *load_prime, Tag_facial) |
Protected Attributes inherited from Transfer_base | |
RFC_Window_transfer & | src |
RFC_Window_transfer & | trg |
int | sc |
Specialization for transfering from nodes to nodes.
Definition at line 42 of file Transfer_2n.h.
|
private |
Definition at line 44 of file Transfer_2n.h.
|
private |
Definition at line 43 of file Transfer_2n.h.
|
inline |
void comp_loads | ( | const Nodal_data_const & | sf, |
Nodal_data & | tf, | ||
const Real | alpha, | ||
const int | doa, | ||
bool | verb | ||
) |
Compute the nodal load vector.
sf | Souce data |
tf | Target data |
alpha | Parameter to control interpolation of coordinates between the input meshes |
doa | Degree of accuracy for quadrature rule to be used |
verb | Verbose level |
Definition at line 519 of file Transfer_2n.C.
References Transfer_base::loadtransfer().
Referenced by Transfer_traits< Nodal_data_const, Nodal_data, true >::transfer().
void transfer | ( | const Nodal_data_const & | sf, |
Nodal_data & | tf, | ||
const Real | alpha, | ||
Real * | t, | ||
int * | iter, | ||
int | doa, | ||
bool | ver | ||
) |
The main entry to the data transfer algorithm.
sf | Souce data |
tf | Target data |
alpha | Parameter to control interpolation of coordinates between the input meshes |
tol | Tolerance of iterative solver |
iter | Number of iterations of iterative solver. |
doa | Degree of accuracy for quadrature rule to be used |
verb | Verbose level |
Definition at line 456 of file Transfer_2n.C.
References Transfer_base::transfer_2n().
Referenced by Transfer_traits< Nodal_data_const, Nodal_data, true >::transfer().