In your code I can find:
for (unsigned int q_point=0; q_point<n_q_points; ++q_point)
{
const double Robin_value =
(exact_solution.value(fe_face_values.quadrature_point(q_point)));
"q_point" represents the number of a cell quadrature point, but you call
"fe_face_values.quadrature_point(q_point)", so I guess there's something
wrong here...
On 04/13/2011 12:49 PM, Ahmad Al Nabulsi wrote:
Dear Martin,
thank you very much, but I do not know, it did not gave me any error in
the compilation, but unfortunately it gave me the following error when I
ran it:
============================ Running step-4
Solving with Q1 elements, adaptive refinement
=============================================
--------------------------------------------------------
An error occurred in line <4206> of file
</home/Ahmad/deal.II/deal.II/include/fe/fe_values.h> in function
const dealii::Point<spacedim>& dealii::FEValuesBase<dim,
spacedim>::quadrature_point(unsigned int) const [with int dim = 2, int
spacedim = 2]
The violated condition was:
i<this->quadrature_points.size()
The name and call sequence of the exception was:
ExcIndexRange(i, 0, this->quadrature_points.size())
Additional Information:
Index 3 is not in [0,3[
Stacktrace:
-----------
#0 ./step-4: dealii::FEValuesBase<2, 2>::quadrature_point(unsigned int)
const
#1 ./step-4: HelmholtzProblem<2>::assemble_system()
#2 ./step-4: HelmholtzProblem<2>::run()
#3 ./step-4: main
--------------------------------------------------------
make: *** [run] Aborted
ps: when I remove this funcion it works fine ....
regards,
ahmad
--- Jean-Paul Pelteret /<[email protected]>/ schrieb am *Mi,
13.4.2011:
*
*
Von: Jean-Paul Pelteret <[email protected]>
Betreff: Re: [deal.II] robin boundary condition
An: "Ahmad Al Nabulsi" <[email protected]>
CC: "Timo Heister" <[email protected]>, "deal.ii"
<[email protected]>
Datum: Mittwoch, 13. April, 2011 12:33 Uhr
*
*Hi Ahmad,
I think what Timo was implying is that you need curl braces {} to
encapulate all statements when looping over all quadrature points.
Currently in your q_point loop you're creating a local variable
"Robin_value" that only has scope on the line its declared and
defined. Since this is the case, when you try to access the variable
in your i-j loop, it doesn't exist as it is out of scope at this
point. So, I think your loop should be
for (unsigned int q_point=0; q_point<n_q_points; ++q_point)
*{ // ADDED THIS BRACE*
const double Robin_value
= (exact_solution.value(fe_face_values.quadrature_point(q_point)));
//fe_face_values.normal_vector(q_point));
for (unsigned int i=0; i<dofs_per_cell; ++i)
{
for (unsigned int j=0; j<dofs_per_cell; ++j)
cell_matrix(i,j) += (Robin_value*
fe_values.shape_value(i,q_point) *
fe_values.shape_value(j,q_point) *
fe_values.JxW(q_point));
}
*} // ADDED THIS BRACE*
Hope this is right.
Regards,
Jean-Paul
On Wed, 2011-04-13 at 20:21 +0100, Ahmad Al Nabulsi wrote:
*
**
Dear Timo,
thank you for your help, but although I do it I have the same
error as before
(( ‘Robin_value’ was not declared in this scope )).
,could you please look whether my implementation of robin bc correct?
best regard,
ahmad
--- Timo Heister /<[email protected]>/ schrieb am
*Mi, 13.4.2011:*
*Von: Timo Heister <[email protected]>*
*Betreff: Re: [deal.II] robin boundary condition*
*An: "Ahmad Al Nabulsi" <[email protected]>*
*Datum: Mittwoch, 13. April, 2011 12:05 Uhr*
*> for (unsigned int q_point=0; q_point<n_q_points; ++q_point)*
*>*
*> const double Robin_value*
*> =
(exact_solution.value(fe_face_values.quadrature_point(q_point)));
//fe_face_values.normal_vector(q_point));*
*>*
*You forgot to put curly braces around the for body, so the
for loop*
*only iterates over this variable assignment.*
*Best,*
*Timo*
*-- *
*Timo Heister*
*http://num.math.uni-goettingen.de/~heister
<http://num.math.uni-goettingen.de/%7Eheister>*
*_______________________________________________
dealii mailing listhttp://poisson.dealii.org/mailman/listinfo/dealii
*
*
*
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii