15 #include "../config/config.hpp"
23 struct findpts_data_2;
24 struct findpts_data_3;
57 struct gslib::crystal *
cr;
108 void Setup(
Mesh &m,
const double bb_t = 0.1,
109 const double newt_tol = 1.0e-12,
110 const int npt_max = 256);
133 const double bb_t = 0.1,
134 const double newt_tol = 1.0e-12,
const int npt_max = 256);
231 const double bb_t = 0.1,
const double newt_tol = 1.0e-12,
232 const int npt_max = 256);
251 #endif // MFEM_USE_GSLIB
virtual void Interpolate(const GridFunction &field_in, Vector &field_out)
Array< unsigned int > gsl_elem
Class for an integration rule - an Array of IntegrationPoint.
Class for grid function - Vector with associated FE space.
virtual const Vector & GetDist() const
virtual ~FindPointsGSLIB()
Array< unsigned int > gsl_mfem_elem
virtual const Vector & GetReferencePosition() const
Return reference coordinates for each point found by FindPoints.
OversetFindPointsGSLIB(MPI_Comm comm_)
Array< unsigned int > gsl_proc
virtual void GetNodeValues(const GridFunction &gf_in, Vector &node_vals)
Get GridFunction from MFEM format to GSLIB format.
virtual void SetL2AvgType(AvgType avgtype_)
virtual void MapRefPosAndElemIndices()
struct gslib::findpts_data_3 * fdata3D
OversetFindPointsGSLIB enables use of findpts for arbitrary number of overlapping grids...
void Setup(Mesh &m, const double bb_t=0.1, const double newt_tol=1.0e-12, const int npt_max=256)
double default_interp_value
struct gslib::crystal * cr
void FindPoints(const Vector &point_pos, Array< unsigned int > &point_id)
Array< unsigned int > gsl_code
virtual void GetSimplexNodalCoordinates()
void FindPoints(const Vector &point_pos)
virtual void InterpolateGeneral(const GridFunction &field_in, Vector &field_out)
virtual void GetQuadHexNodalCoordinates()
virtual const Array< unsigned int > & GetProc() const
Return MPI rank on which each point was found by FindPoints.
struct gslib::findpts_data_2 * fdata2D
virtual void SetDefaultInterpolationValue(double interp_value_)
virtual const Array< unsigned int > & GetElem() const
Return element number for each point found by FindPoints.
virtual const Array< unsigned int > & GetCode() const
struct gslib::comm * gsl_comm
void Interpolate(const Vector &point_pos, Array< unsigned int > &point_id, const GridFunction &field_in, Vector &field_out)
IntegrationRule * ir_simplex
FindPointsGSLIB can robustly evaluate a GridFunction on an arbitrary collection of points...
virtual const Array< unsigned int > & GetGSLIBElem() const
void Setup(Mesh &m, const int meshid, GridFunction *gfmax=NULL, const double bb_t=0.1, const double newt_tol=1.0e-12, const int npt_max=256)
virtual const Vector & GetGSLIBReferencePosition() const
virtual void InterpolateH1(const GridFunction &field_in, Vector &field_out)
Use GSLIB for communication and interpolation.