Dear all,

I'm trying to set periodic BCs on a very simple 1x1x1 cube. When the cube is 
meshed with HEX8 everything goes smoothly but as soon as I switch to TET4 
elements I get a series of errors like:

0] ../../src/fe/fe_map.C, line 1188, compiled Jun 12 2013 at 13:28:03
WARNING:  inverse_map of physical point (x,y,z)=(    -0.5,      0.5,     
-0.5)is not on element.
  Elem Information
   id()=invalid, processor_id()=0
   type()=TRI3
   dim()=2
   n_nodes()=3
    0  Node id()=15, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,       
 0)
    DoFs=(0/0/45) (0/1/46) (0/2/47) 
    1  Node id()=21, processor_id()=0, Point=(x,y,z)=(    -0.5,      0.5,       
 0)
    DoFs=(0/0/63) (0/1/64) (0/2/65) 
    2  Node id()=22, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,     
-0.5)
    DoFs=(0/0/66) (0/1/67) (0/2/68) 
   n_sides()=0
   hmin()=0.5, hmax()=0.707107
   volume()=0.125
   active()=1, ancestor()=0, subactive()=0, has_children()=0
   parent()=60
   level()=0, p_level()=0
   refinement_flag()=DO_NOTHING
   p_refinement_flag()=DO_NOTHING
   infinite()=0
   DoFs=
[0] ../../src/fe/fe_map.C, line 1188, compiled Jun 12 2013 at 13:28:03
WARNING:  inverse_map of physical point (x,y,z)=(    -0.5,      0.5,     
-0.5)is not on element.
  Elem Information
   id()=invalid, processor_id()=0
   type()=TRI3
   dim()=2
   n_nodes()=3
    0  Node id()=15, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,       
 0)
    DoFs=(0/0/45) (0/1/46) (0/2/47) 
    1  Node id()=21, processor_id()=0, Point=(x,y,z)=(    -0.5,      0.5,       
 0)
    DoFs=(0/0/63) (0/1/64) (0/2/65) 
    2  Node id()=22, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,     
-0.5)
    DoFs=(0/0/66) (0/1/67) (0/2/68) 
   n_sides()=0
   hmin()=0.5, hmax()=0.707107
   volume()=0.125
   active()=1, ancestor()=0, subactive()=0, has_children()=0
   parent()=60
   level()=0, p_level()=0
   refinement_flag()=DO_NOTHING
   p_refinement_flag()=DO_NOTHING
   infinite()=0
   DoFs=
.
.
.
.

[0] ../../src/fe/fe_map.C, line 1188, compiled Jun 12 2013 at 13:28:03
WARNING:  inverse_map of physical point (x,y,z)=(    -0.5, -0.333195, 
-0.0775255)is not on element.
  Elem Information
   id()=62, processor_id()=0
   type()=TET4
   dim()=3
   n_nodes()=4
    0  Node id()=11, processor_id()=0, Point=(x,y,z)=(-0.177083, -0.152645, 
-0.177083)
    DoFs=(0/0/33) (0/1/34) (0/2/35) 
    1  Node id()=22, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,     
-0.5)
    DoFs=(0/0/66) (0/1/67) (0/2/68) 
    2  Node id()=32, processor_id()=0, Point=(x,y,z)=(    -0.5,     -0.5,     
-0.5)
    DoFs=(0/0/96) (0/1/97) (0/2/98) 
    3  Node id()=15, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,       
 0)
    DoFs=(0/0/45) (0/1/46) (0/2/47) 
   n_sides()=4
    neighbor(0)=65
    neighbor(1)=48
    neighbor(2)=NULL
    neighbor(3)=69
   hmin()=0.398665, hmax()=0.707107
   volume()=0.0134549
   active()=1, ancestor()=0, subactive()=0, has_children()=0
   parent()=NULL
   level()=0, p_level()=0
   refinement_flag()=DO_NOTHING
   p_refinement_flag()=DO_NOTHING
   infinite()=0
   DoFs=
[0] ../../src/fe/fe_map.C, line 1188, compiled Jun 12 2013 at 13:28:03
WARNING:  inverse_map of physical point (x,y,z)=(    -0.5, -0.0892794, 
-0.0775255)is not on element.
  Elem Information
   id()=62, processor_id()=0
   type()=TET4
   dim()=3
   n_nodes()=4
    0  Node id()=11, processor_id()=0, Point=(x,y,z)=(-0.177083, -0.152645, 
-0.177083)
    DoFs=(0/0/33) (0/1/34) (0/2/35) 
    1  Node id()=22, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,     
-0.5)
    DoFs=(0/0/66) (0/1/67) (0/2/68) 
    2  Node id()=32, processor_id()=0, Point=(x,y,z)=(    -0.5,     -0.5,     
-0.5)
    DoFs=(0/0/96) (0/1/97) (0/2/98) 
    3  Node id()=15, processor_id()=0, Point=(x,y,z)=(    -0.5,        0,       
 0)
    DoFs=(0/0/45) (0/1/46) (0/2/47) 
   n_sides()=4
    neighbor(0)=65
    neighbor(1)=48
    neighbor(2)=NULL
    neighbor(3)=69
   hmin()=0.398665, hmax()=0.707107
   volume()=0.0134549
   active()=1, ancestor()=0, subactive()=0, has_children()=0
   parent()=NULL
   level()=0, p_level()=0
   refinement_flag()=DO_NOTHING
   p_refinement_flag()=DO_NOTHING
   infinite()=0
   DoFs=
Assertion `this->contains_point(p)' failed.
Stack frames: 18
0: 0   libmesh_dbg.0.dylib                 0x00000001014ec1ec 
libMesh::print_trace(std::ostream&) + 44
1: 1   libmesh_dbg.0.dylib                 0x0000000101c69044 
libMesh::Elem::find_point_neighbors(libMesh::Point const&, 
std::set<libMesh::Elem const*, std::less<libMesh::Elem const*>, 
std::allocator<libMesh::Elem const*> >&) const + 198
2: 2   libmesh_dbg.0.dylib                 0x00000001016def4d (anonymous 
namespace)::primary_boundary_point_neighbor(libMesh::Elem const*, 
libMesh::Point const&, libMesh::BoundaryInfo const&, std::set<short, 
std::less<short>, std::allocator<short> > const&) + 93
3: 3   libmesh_dbg.0.dylib                 0x00000001016ff9f4 
libMesh::FEGenericBase<double>::compute_periodic_constraints(libMesh::DofConstraints&,
 libMesh::DofMap&, libMesh::PeriodicBoundaries const&, libMesh::MeshBase 
const&, libMesh::PointLocatorBase const*, unsigned int, libMesh::Elem const*) + 
13204
4: 4   libmesh_dbg.0.dylib                 0x00000001017fd0fa 
libMesh::FEInterface::compute_periodic_constraints(libMesh::DofConstraints&, 
libMesh::DofMap&, libMesh::PeriodicBoundaries const&, libMesh::MeshBase const&, 
libMesh::PointLocatorBase const*, unsigned int, libMesh::Elem const*) + 120
5: 5   libmesh_dbg.0.dylib                 0x00000001014870b1 (anonymous 
namespace)::ComputeConstraints::operator()(libMesh::StoredRange<libMesh::MeshBase::const_element_iterator,
 libMesh::Elem const*> const&) const + 591
6: 6   libmesh_dbg.0.dylib                 0x000000010148722c void 
libMesh::Threads::parallel_for<libMesh::StoredRange<libMesh::MeshBase::const_element_iterator,
 libMesh::Elem const*>, (anonymous 
namespace)::ComputeConstraints>(libMesh::StoredRange<libMesh::MeshBase::const_element_iterator,
 libMesh::Elem const*> const&, (anonymous namespace)::ComputeConstraints 
const&) + 60
7: 7   libmesh_dbg.0.dylib                 0x0000000101498857 
libMesh::DofMap::create_dof_constraints(libMesh::MeshBase const&, double) + 6261
8: 8   libmesh_dbg.0.dylib                 0x0000000102431f08 
libMesh::System::init_data() + 268
9: 9   libmesh_dbg.0.dylib                 0x00000001023c903c 
libMesh::ExplicitSystem::init_data() + 36
10: 10  libmesh_dbg.0.dylib                 0x000000010240d45c 
libMesh::ImplicitSystem::init_data() + 24
11: 11  libmesh_dbg.0.dylib                 0x0000000102413020 
libMesh::LinearImplicitSystem::init_data() + 24
12: 12  libmesh_dbg.0.dylib                 0x00000001024cb15f 
libMesh::TransientSystem<libMesh::LinearImplicitSystem>::init_data() + 25
13: 13  libmesh_dbg.0.dylib                 0x0000000102440c15 
libMesh::System::init() + 63
14: 14  libmesh_dbg.0.dylib                 0x00000001023aad56 
libMesh::EquationSystems::init() + 1578
15: 15  vfmfe-3d-dbg                        0x000000010003f4eb 
InitSystems(libMesh::EquationSystems&, InputCtx&) + 8235
16: 16  vfmfe-3d-dbg                        0x0000000100054422 main + 3314
17: 17  vfmfe-3d-dbg                        0x0000000100001aa4 start + 52
[0] ../../src/geom/elem.C, line 545, compiled Jun 12 2013 at 13:29:13
terminate called after throwing an instance of 'libMesh::LogicError'
  what():  Error in libMesh internal logic

Also, I couldn't reproduce the same problem with a 2D mesh.
You can find the mesh and full output here: 
https://dl.dropboxusercontent.com/u/19391830/periodic_bug.zip

As always thanks for the help,
Ata


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to