41 #include "DTK_PointCloudOperatorFactory.hpp" 56 d_name_map[
"Spline Interpolation"] = SPLINE_INTERPOLATION;
57 d_name_map[
"Moving Least Square Reconstruction"] = MOVING_LEAST_SQUARE;
58 d_name_map[
"Node To Node"] = NODE_TO_NODE;
60 d_basis_map[
"Wendland"] = WENDLAND;
61 d_basis_map[
"Wu"] = WU;
62 d_basis_map[
"Buhmann"] = BUHMANN;
68 const Teuchos::RCP<const TpetraMap> &domain_map,
69 const Teuchos::RCP<const TpetraMap> &range_map,
70 const Teuchos::ParameterList ¶meters )
73 std::string map_name = parameters.get<std::string>(
"Map Type" );
74 DTK_REQUIRE( d_name_map.count( map_name ) );
75 int map_id = d_name_map.find( map_name )->second;
78 int space_dim = parameters.get<
int>(
"Spatial Dimension" );
81 std::string basis_name =
"invalid";
83 if ( parameters.isParameter(
"Basis Type" ) )
85 basis_name = parameters.get<std::string>(
"Basis Type" );
86 DTK_REQUIRE( d_basis_map.count( basis_name ) );
87 basis_id = d_basis_map.find( basis_name )->second;
92 if ( parameters.isParameter(
"Basis Order" ) )
94 basis_order = parameters.get<
int>(
"Basis Order" );
98 Teuchos::RCP<MapOperator> map;
107 domain_map, range_map, parameters ) );
111 domain_map, range_map, parameters ) );
115 domain_map, range_map, parameters ) );
121 case SPLINE_INTERPOLATION:
128 switch ( basis_order )
133 domain_map, range_map, parameters ) );
138 domain_map, range_map, parameters ) );
143 domain_map, range_map, parameters ) );
148 domain_map, range_map, parameters ) );
153 switch ( basis_order )
158 domain_map, range_map, parameters ) );
163 domain_map, range_map, parameters ) );
168 switch ( basis_order )
173 domain_map, range_map, parameters ) );
184 switch ( basis_order )
189 domain_map, range_map, parameters ) );
194 domain_map, range_map, parameters ) );
199 domain_map, range_map, parameters ) );
204 domain_map, range_map, parameters ) );
209 switch ( basis_order )
214 domain_map, range_map, parameters ) );
219 domain_map, range_map, parameters ) );
224 switch ( basis_order )
229 domain_map, range_map, parameters ) );
240 switch ( basis_order )
245 domain_map, range_map, parameters ) );
250 domain_map, range_map, parameters ) );
255 domain_map, range_map, parameters ) );
260 domain_map, range_map, parameters ) );
265 switch ( basis_order )
270 domain_map, range_map, parameters ) );
275 domain_map, range_map, parameters ) );
280 switch ( basis_order )
285 domain_map, range_map, parameters ) );
295 case MOVING_LEAST_SQUARE:
302 switch ( basis_order )
331 switch ( basis_order )
337 domain_map, range_map, parameters ) );
343 domain_map, range_map, parameters ) );
348 switch ( basis_order )
365 switch ( basis_order )
394 switch ( basis_order )
400 domain_map, range_map, parameters ) );
406 domain_map, range_map, parameters ) );
411 switch ( basis_order )
428 switch ( basis_order )
457 switch ( basis_order )
463 domain_map, range_map, parameters ) );
469 domain_map, range_map, parameters ) );
474 switch ( basis_order )
490 bool map_type_is_valid =
false;
491 DTK_INSIST( map_type_is_valid );
495 DTK_ENSURE( Teuchos::nonnull( map ) );
PointCloudOperatorFactory()
Constructor.
Wendland compactly supported radial basis function.
Parallel moving least square interpolator.
Parallel moving least square interpolator MapOperator implementation.
Buhmann compactly supported radial basis function.
Parallel node-to-node transfer.
Assertions and Design-by-Contract for error handling.
Wendland compactly supported radial basis function.
Parallel spline interpolator.
Parallel spline interpolator.
Wu compactly supported radial basis function.
Teuchos::RCP< MapOperator > create(const Teuchos::RCP< const TpetraMap > &domain_map, const Teuchos::RCP< const TpetraMap > &range_map, const Teuchos::ParameterList ¶meters)
Creation method.
Buhmann compactly supported radial basis function.
Wu compactly supported radial basis function.
Parallel moving least square interpolator MapOperator implementation.