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

Reply via email to