I am implementing a multiphysics solver with multiple steps of solution..
The first step .. solution of a poisson equation to get electrical
potential distribution works fine. the next step is to get a stress
distribution, and I get the following error.. which seems to be due to

fe_base->reinit(elem)  .. calling init on a quadrature scheme of 1
dimension lesser than the one that is set.. So I have,


  // quadrature schemes
  libMesh::out<<dim<<"dim \n";
  QGauss q_bulk(dim,fe_str.default_quadrature_order());
  libMesh::out<<"quadrature_dimension"<<q_bulk.get_dim()<<"\n";
    // output should be 3 and it is..
  QGauss q_face(dim-1,fe_str.default_quadrature_order());
  libMesh::out<<"quadrature_dimension_face"<<q_face.get_dim()<<"\n";
    // output should be 2 and it is..

  // attach the quadrature scheme
  fe_base_str->attach_quadrature_rule(&q_bulk);
  fe_base_str_surf->attach_quadrature_rule(&q_face);


  fe_base_ch->attach_quadrature_rule(&q_bulk);


Later while looping through the elements, I do..

   fe_base_str->reinit(elem);


This should call QGauss::init_3D, however, this is the traceback that I
get..

Element type not supported!:10
Stack frames: 9
0: 0   libmesh_dbg.0.dylib                 0x00000001089ce91d
libMesh::print_trace(std::ostream&) + 39
1: 1   libmesh_dbg.0.dylib                 0x0000000109166333
libMesh::QGauss::init_2D(libMeshEnums::ElemType, unsigned int) + 10467
2: 2   libmesh_dbg.0.dylib                 0x000000010914e30f
libMesh::QBase::init(libMeshEnums::ElemType, unsigned int) + 229
3: 3   libmesh_dbg.0.dylib                 0x0000000108aa285a
libMesh::FE<3u, (libMeshEnums::FEFamily)0>::reinit(libMesh::Elem const*,
std::vector<libMesh::Point, std::allocator<libMesh::Point> > const*,
std::vector<double, std::allocator<double> > const*) + 980
4: 4   example-dbg                         0x000000010878eb6f
DiffCode::StressSolver::assemble() + 4287
5: 5   libmesh_dbg.0.dylib                 0x00000001092ab012
libMesh::LinearImplicitSystem::solve() + 66
6: 6   example-dbg                         0x000000010876195e
DiffCode::run() + 568
7: 7   example-dbg                         0x0000000108788a0a main + 124
8: 8   libdyld.dylib                       0x00007fff969277e1 start + 0



Can't understand what is causing this.. Any ideas?






Subramanya G Sadasiva,

Graduate Research Assistant,
Hierarchical Design and Characterization Laboratory,
School of Mechanical Engineering,
Purdue University.

"The art of structure is where to put the holes"
Robert Le Ricolais, 1894-1977
------------------------------------------------------------------------------
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