DataTransferKit - Multiphysics Solution Transfer Services  2.0
Static Public Member Functions | List of all members
DataTransferKit::ProjectionPrimitives Class Reference

A stateless class of projection primitive operations. More...

#include <DTK_ProjectionPrimitives.hpp>

Static Public Member Functions

static void referenceCellCenter (const shards::CellTopology &cell_topo, Intrepid::FieldContainer< double > &center)
 Get the center of the reference cell of the given topology. More...
 
static bool pointInFaceVolumeOfInfluence (const Teuchos::ParameterList &parameters, const Intrepid::FieldContainer< double > &point, const Intrepid::FieldContainer< double > &face_nodes, const Intrepid::FieldContainer< double > &face_node_normals, const shards::CellTopology &face_topology)
 Determine if a point is within the volume of influence of a face. More...
 
static void projectPointToFace (const Teuchos::ParameterList &parameters, const Intrepid::FieldContainer< double > &point, const Intrepid::FieldContainer< double > &face_nodes, const Intrepid::FieldContainer< double > &face_node_normals, const shards::CellTopology &face_topology, Intrepid::FieldContainer< double > &parametric_point, Intrepid::FieldContainer< double > &physical_point, int &face_edge_id, int &face_node_id)
 Project a point onto a face and return the physical coordinates of the projected point on that face. This requires the solution of a nonlinear parameterized projection problem. More...
 
static bool edgeEdgeIntersection (const Teuchos::ParameterList &parameters, const Intrepid::FieldContainer< double > &edge_1, const Intrepid::FieldContainer< double > &edge_2, const Intrepid::FieldContainer< double > &edge_2_node_normals, Intrepid::FieldContainer< double > &edge_1_intersection, Intrepid::FieldContainer< double > &edge_2_intersection, int &edge_1_node_id, int &edge_2_node_id)
 Intersect two edges in 3 dimensions and return their intersection point realized on both edges. Return the intersection type. More...
 

Detailed Description

A stateless class of projection primitive operations.

Definition at line 63 of file DTK_ProjectionPrimitives.hpp.

Member Function Documentation

void DataTransferKit::ProjectionPrimitives::referenceCellCenter ( const shards::CellTopology &  cell_topo,
Intrepid::FieldContainer< double > &  center 
)
static

Get the center of the reference cell of the given topology.

Definition at line 68 of file DTK_ProjectionPrimitives.cpp.

bool DataTransferKit::ProjectionPrimitives::pointInFaceVolumeOfInfluence ( const Teuchos::ParameterList &  parameters,
const Intrepid::FieldContainer< double > &  point,
const Intrepid::FieldContainer< double > &  face_nodes,
const Intrepid::FieldContainer< double > &  face_node_normals,
const shards::CellTopology &  face_topology 
)
static

Determine if a point is within the volume of influence of a face.

Parameters
parametersProjection parameters.
pointPoint coordinates (Dim).
face_nodesFace node coordinates (Node,Dim).
face_node_normalsNormal vectors for each face node (Node,Dim).
face_topologyCell topology of the face.
max_newton_itersMaximum number of Newton iterations allowed.

Definition at line 176 of file DTK_ProjectionPrimitives.cpp.

void DataTransferKit::ProjectionPrimitives::projectPointToFace ( const Teuchos::ParameterList &  parameters,
const Intrepid::FieldContainer< double > &  point,
const Intrepid::FieldContainer< double > &  face_nodes,
const Intrepid::FieldContainer< double > &  face_node_normals,
const shards::CellTopology &  face_topology,
Intrepid::FieldContainer< double > &  parametric_point,
Intrepid::FieldContainer< double > &  physical_point,
int &  face_edge_id,
int &  face_node_id 
)
static

Project a point onto a face and return the physical coordinates of the projected point on that face. This requires the solution of a nonlinear parameterized projection problem.

Parameters
parametersProjection parameters.
pointpoint coordinates (Dim)
face_nodesface node coordinates (Node,Dim)
face_node_normalsface node normal vectors (Node,Dim)
face_topologyCell topology of the face.
projected_pointProjected point in physical coordinates (Dim)
face_edge_idThe local id of the face edge onto which the node projected. Will be -1 if the node did not project onto any of the face edges.
face_node_idThe local id of the face node onto which the node projected. Will be -1 if the node did not project onto any of the face nodes.
Returns
True if the point projected onto the face.

Definition at line 279 of file DTK_ProjectionPrimitives.cpp.

bool DataTransferKit::ProjectionPrimitives::edgeEdgeIntersection ( const Teuchos::ParameterList &  parameters,
const Intrepid::FieldContainer< double > &  edge_1,
const Intrepid::FieldContainer< double > &  edge_2,
const Intrepid::FieldContainer< double > &  edge_2_node_normals,
Intrepid::FieldContainer< double > &  edge_1_intersection,
Intrepid::FieldContainer< double > &  edge_2_intersection,
int &  edge_1_node_id,
int &  edge_2_node_id 
)
static

Intersect two edges in 3 dimensions and return their intersection point realized on both edges. Return the intersection type.

Parameters
parametersIntersection parameters.
edge_1edge 1 node coordinates (node,dim).
edge_2edge 2 node coordinates (node,dim).
edge_2_node_normalsedge 2 node normal vectors (node,dim).
edge_1_intersectionThe coordinates of the intersection realized on the edge 1 (dim).
edge_2_intersectionThe coordinates of the intersection realized on the edge 2 (dim).
edge_1_node_idThe local id of the edge 1 node onto which the edge 2 nodes projected. Will be -1 if the edge 2 did not intersect with any of the edge 1 nodes.
edge_2_node_idThe local id of the edge 2 node onto which the edge 1 nodes projected. Will be -1 if the edge 1 did not intersect with any of the edge 2 nodes.
Returns
True if there was an intersection.

Definition at line 663 of file DTK_ProjectionPrimitives.cpp.


The documentation for this class was generated from the following files: