示例#1
0
bool Line1DLagrangeP1::is_coord_in_element( const RealVector& coord, const NodesT& nodes) const
{
  MappedCoordsT mapped_coord;
  mapped_coordinates(CoordsT(coord), nodes, mapped_coord);
  if( (mapped_coord[KSI] >= -0.5) &&
      (mapped_coord[KSI] <= 0.5) )
  {
    return true;
  }
  else
  {
    return false;
  }
}
示例#2
0
bool Triag2DLagrangeP1::in_element(const CoordsT& coord, const NodeMatrixT& nodes)
{
	MappedCoordsT mapped_coord;
	mapped_coordinates(coord, nodes, mapped_coord);
  if( (mapped_coord[KSI] >= -Math::Consts::eps()) &&
      (mapped_coord[ETA] >= -Math::Consts::eps()) &&
      (mapped_coord.sum() <= 1.))
	{
		return true;
	}
	else
	{
		return false;
	}
}
示例#3
0
bool Triag2DLagrangeP2::in_element(const CoordsT& coord, const NodeMatrixT& nodes)
{
  throw Common::NotImplemented( FromHere(), "" );

  MappedCoordsT mapped_coord;
  mapped_coordinates(coord, nodes, mapped_coord);
  if( (mapped_coord[KSI] >= -Math::Consts::eps()) &&
      (mapped_coord[ETA] >= -Math::Consts::eps()) &&
      (mapped_coord.sum() <= 1.))
  {
    return true;
  }
  else
  {
    return false;
  }
}
示例#4
0
bool Tetra3DLagrangeP1::in_element(const CoordsT& coord, const NodeMatrixT& nodes)
{
  MappedCoordsT mapped_coord;
  mapped_coordinates(coord, nodes, mapped_coord);
  const Real tolerance = 10*Math::Consts::eps();
  if((mapped_coord[KSI] >= -tolerance) &&
     (mapped_coord[ETA] >= -tolerance) &&
     (mapped_coord[ZTA] >= -tolerance) &&
     (mapped_coord.sum() <= 1.+tolerance))
  {
    return true;
  }
  else
  {
    return false;
  }
}