Re: [deal.II] Catching exception for find_active_cell_around_point?
I'm new to deal.II and I'm having a similar problem. I'm trying to extend the FEFieldFunction class with an extrapolated_value method that handles this exception. Here's the relevant method: template double ExtrapolatedField:: extrapolated_value(const Point &point, const unsigned int) { double val; try { val = this->value(point); } catch (GridTools::ExcPointNotFound) { val = this->value(this->get_nearest_boundary_vertex(point)); } return val; } It appears to me that the exception isn't being caught by my try-catch construct. The program aborts with the error: Exception on processing: An error occurred in line <1411> of file in function std::pair::active_cell_iterator, dealii::Point > dealii::GridTools::find_active_cell_around_point(const dealii::Mapping&, const MeshType&, const dealii::Point&) [with int dim = 2; MeshType = dealii::DoFHandler; int spacedim = 2; typename MeshType::active_cell_iterator = dealii::TriaActiveIterator, false> >] The violated condition was: best_cell.first.state() == IteratorState::valid The name and call sequence of the exception was: ExcPointNotFound(p) Additional Information: The point <0.487084 -0.116491> could not be found inside any of the subcells of a coarse grid cell. Aborting! After digging through the source code and documentation a bit, I was worried that this is the expected behavior of AssertThrow and that I could not suppress the abort signal. But this mailing this thread gives me hope. Any advice? Thanks, Alex On Tuesday, January 21, 2014 at 5:29:37 PM UTC+1, Timo Heister wrote: > > > I'm using 8.0.0. > > Should I upgrade? > > 8.1.0 has many bugfixes and new features over 8.0.0 and it fixes your > problem, so that kind of makes sense. > > -- > Timo Heister > http://www.math.clemson.edu/~heister/ > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Catching exception for find_active_cell_around_point?
I left out something important: I'm on a 8.5.0-pre version. (I don't see a way to edit my post.) On Wednesday, August 17, 2016 at 12:18:30 PM UTC+2, Alex Zimmerman wrote: > > I'm new to deal.II and I'm having a similar problem. I'm trying to extend > the FEFieldFunction class with an extrapolated_value method that handles > this exception. > > Here's the relevant method: > > template > double ExtrapolatedField:: >extrapolated_value(const Point &point, > const unsigned int) { >double val; >try { >val = this->value(point); >} >catch (GridTools::ExcPointNotFound) { > val = this->value(this->get_nearest_boundary_vertex(point)); >} >return val; > } > > > It appears to me that the exception isn't being caught by my try-catch > construct. The program aborts with the error: > > > Exception on processing: > > > An error occurred in line <1411> of file > in function > std::pair::active_cell_iterator, > dealii::Point > dealii::GridTools::find_active_cell_around_point(const > dealii::Mapping&, const MeshType&, const > dealii::Point&) [with int dim = 2; MeshType = dealii::DoFHandler; > int spacedim = 2; typename MeshType::active_cell_iterator = > dealii::TriaActiveIterator, > false> >] > The violated condition was: > best_cell.first.state() == IteratorState::valid > The name and call sequence of the exception was: > ExcPointNotFound(p) > Additional Information: > The point <0.487084 -0.116491> could not be found inside any of the > subcells of a coarse grid cell. > > > Aborting! > > > > After digging through the source code and documentation a bit, I was > worried that this is the expected behavior of AssertThrow and that I could > not suppress the abort signal. But this mailing this thread gives me hope. > > Any advice? > > Thanks, > > Alex > > On Tuesday, January 21, 2014 at 5:29:37 PM UTC+1, Timo Heister wrote: >> >> > I'm using 8.0.0. >> > Should I upgrade? >> >> 8.1.0 has many bugfixes and new features over 8.0.0 and it fixes your >> problem, so that kind of makes sense. >> >> -- >> Timo Heister >> http://www.math.clemson.edu/~heister/ >> > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Catching exception for find_active_cell_around_point?
I just stepped through my program with qtcreator and I found a mistake that undermines my question. I thought I was using this extrapolated_value method, but I was still using the parent class's value method. I imagine that this will work once I fix that mistake. I'll update this thread if I make progress :) On Wednesday, August 17, 2016 at 12:18:30 PM UTC+2, Alex Zimmerman wrote: > > I'm new to deal.II and I'm having a similar problem. I'm trying to extend > the FEFieldFunction class with an extrapolated_value method that handles > this exception. > > Here's the relevant method: > > template > double ExtrapolatedField:: >extrapolated_value(const Point &point, > const unsigned int) { >double val; >try { >val = this->value(point); >} >catch (GridTools::ExcPointNotFound) { > val = this->value(this->get_nearest_boundary_vertex(point)); >} >return val; > } > > > It appears to me that the exception isn't being caught by my try-catch > construct. The program aborts with the error: > > > Exception on processing: > > > An error occurred in line <1411> of file > in function > std::pair::active_cell_iterator, > dealii::Point > dealii::GridTools::find_active_cell_around_point(const > dealii::Mapping&, const MeshType&, const > dealii::Point&) [with int dim = 2; MeshType = dealii::DoFHandler; > int spacedim = 2; typename MeshType::active_cell_iterator = > dealii::TriaActiveIterator, > false> >] > The violated condition was: > best_cell.first.state() == IteratorState::valid > The name and call sequence of the exception was: > ExcPointNotFound(p) > Additional Information: > The point <0.487084 -0.116491> could not be found inside any of the > subcells of a coarse grid cell. > > > Aborting! > > > > After digging through the source code and documentation a bit, I was > worried that this is the expected behavior of AssertThrow and that I could > not suppress the abort signal. But this mailing this thread gives me hope. > > Any advice? > > Thanks, > > Alex > > On Tuesday, January 21, 2014 at 5:29:37 PM UTC+1, Timo Heister wrote: >> >> > I'm using 8.0.0. >> > Should I upgrade? >> >> 8.1.0 has many bugfixes and new features over 8.0.0 and it fixes your >> problem, so that kind of makes sense. >> >> -- >> Timo Heister >> http://www.math.clemson.edu/~heister/ >> > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [deal.II] Catching exception for find_active_cell_around_point?
That was indeed my problem. Silly mistake. This is why we use IDE's before posting to the mailing list. Also an FYI for anyone who stumbles upon this conversation with myself: I extended Function instead, adding a FEFieldFunction as a member. On Wednesday, August 17, 2016 at 2:08:57 PM UTC+2, Alex Zimmerman wrote: > > I just stepped through my program with qtcreator and I found a mistake > that undermines my question. I thought I was using this extrapolated_value > method, but I was still using the parent class's value method. I imagine > that this will work once I fix that mistake. I'll update this thread if I > make progress :) > > On Wednesday, August 17, 2016 at 12:18:30 PM UTC+2, Alex Zimmerman wrote: >> >> I'm new to deal.II and I'm having a similar problem. I'm trying to extend >> the FEFieldFunction class with an extrapolated_value method that handles >> this exception. >> >> Here's the relevant method: >> >> template >> double ExtrapolatedField:: >>extrapolated_value(const Point &point, >> const unsigned int) { >>double val; >>try { >>val = this->value(point); >>} >>catch (GridTools::ExcPointNotFound) { >> val = this->value(this->get_nearest_boundary_vertex(point)); >>} >>return val; >> } >> >> >> It appears to me that the exception isn't being caught by my try-catch >> construct. The program aborts with the error: >> >> >> Exception on processing: >> >> >> An error occurred in line <1411> of file >> in function >> std::pair::active_cell_iterator, >> dealii::Point > dealii::GridTools::find_active_cell_around_point(const >> dealii::Mapping&, const MeshType&, const >> dealii::Point&) [with int dim = 2; MeshType = dealii::DoFHandler; >> int spacedim = 2; typename MeshType::active_cell_iterator = >> dealii::TriaActiveIterator, >> false> >] >> The violated condition was: >> best_cell.first.state() == IteratorState::valid >> The name and call sequence of the exception was: >> ExcPointNotFound(p) >> Additional Information: >> The point <0.487084 -0.116491> could not be found inside any of the >> subcells of a coarse grid cell. >> >> >> Aborting! >> >> >> >> After digging through the source code and documentation a bit, I was >> worried that this is the expected behavior of AssertThrow and that I could >> not suppress the abort signal. But this mailing this thread gives me hope. >> >> Any advice? >> >> Thanks, >> >> Alex >> >> On Tuesday, January 21, 2014 at 5:29:37 PM UTC+1, Timo Heister wrote: >>> >>> > I'm using 8.0.0. >>> > Should I upgrade? >>> >>> 8.1.0 has many bugfixes and new features over 8.0.0 and it fixes your >>> problem, so that kind of makes sense. >>> >>> -- >>> Timo Heister >>> http://www.math.clemson.edu/~heister/ >>> >> -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.