69 struct gslib::crystal *
cr;
130 void Setup(
Mesh &m,
const double bb_t = 0.1,
131 const double newt_tol = 1.0e-12,
132 const int npt_max = 256);
158 const double bb_t = 0.1,
159 const double newt_tol = 1.0e-12,
const int npt_max = 256);
270 const double bb_t = 0.1,
const double newt_tol = 1.0e-12,
271 const int npt_max = 256);
FindPointsGSLIB can robustly evaluate a GridFunction on an arbitrary collection of points....
virtual ~FindPointsGSLIB()
struct gslib::findpts_data_2 * fdata2D
Array< unsigned int > gsl_code
Array< Mesh * > mesh_split
virtual const Vector & GetDist() const
void FindPoints(const Vector &point_pos, int point_pos_ordering=Ordering::byNODES)
virtual const Vector & GetReferencePosition() const
Return reference coordinates for each point found by FindPoints.
void Setup(Mesh &m, const double bb_t=0.1, const double newt_tol=1.0e-12, const int npt_max=256)
virtual void Interpolate(const GridFunction &field_in, Vector &field_out)
virtual void InterpolateH1(const GridFunction &field_in, Vector &field_out)
Use GSLIB for communication and interpolation.
Array< FiniteElementSpace * > fes_rst_map
virtual void GetNodalValues(const GridFunction *gf_in, Vector &node_vals)
Get GridFunction value at the points expected by GSLIB.
virtual const Array< unsigned int > & GetCode() const
Array< int > split_element_index
FiniteElementCollection * fec_map_lin
virtual const Array< unsigned int > & GetElem() const
Return element number for each point found by FindPoints.
struct gslib::comm * gsl_comm
Array< unsigned int > gsl_elem
virtual const Array< unsigned int > & GetGSLIBElem() const
Array< unsigned int > gsl_proc
virtual void SetupIntegrationRuleForSplitMesh(Mesh *mesh, IntegrationRule *irule, int order)
virtual const Vector & GetGSLIBReferencePosition() const
Array< unsigned int > gsl_mfem_elem
Array< IntegrationRule * > ir_split
double default_interp_value
virtual void SetupSplitMeshes()
virtual void MapRefPosAndElemIndices()
virtual void SetDefaultInterpolationValue(double interp_value_)
virtual void InterpolateGeneral(const GridFunction &field_in, Vector &field_out)
Array< GridFunction * > gf_rst_map
virtual void SetL2AvgType(AvgType avgtype_)
virtual const Array< unsigned int > & GetProc() const
Return MPI rank on which each point was found by FindPoints.
Array< int > split_element_map
struct gslib::findpts_data_3 * fdata3D
virtual void SetDistanceToleranceForPointsFoundOnBoundary(double bdr_tol_)
struct gslib::crystal * cr
Collection of finite elements from the same family in multiple dimensions. This class is used to matc...
Class for grid function - Vector with associated FE space.
Class for an integration rule - an Array of IntegrationPoint.
OversetFindPointsGSLIB enables use of findpts for arbitrary number of overlapping grids....
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)
void Interpolate(const Vector &point_pos, Array< unsigned int > &point_id, const GridFunction &field_in, Vector &field_out, int point_pos_ordering=Ordering::byNODES)
void FindPoints(const Vector &point_pos, Array< unsigned int > &point_id, int point_pos_ordering=Ordering::byNODES)
OversetFindPointsGSLIB(MPI_Comm comm_)