Dear Daniel,

I am sorry It is a typo error, actually, I have old_s = 
old_solution_values[q_point](1) which represents the solution at previous 
time step i.e. U(t_{n-1}) and old_s0 =

 old_solution_values0 [q_point](1) which represents the solution at time 
(t_{n-2})  i.e. U(t_{n-2}) and old_s1 = old_solution_values1 [q_point](1) which 
represents the

 solution at time (t_{n-3}) i.e. U(t_{n-3}). The old_solution_values and 
old_solution_values1 are different as I explained above. I need these 
values of the solutions (second component of the solution) at previous time 
steps to assemble the right hand side nonlinear term in y problem.

Best 

Mohammad


On Tuesday, June 7, 2016 at 10:29:45 AM UTC+1, Mohammad Sabawi wrote:
>
> Dear all,
>
>  
>
> I am solving a 3x3 block system arising form DG time discretisation of the 
> semilinear parabolic equations in the form u_t - \Delta u = f(u) for the 
> block solution vector U which consists from three nodal values blocks U0, 
> U1 and U2. During the solution process I need just the solution values of 
> the second block U1 at the previous time steps (t_{n-1}, t_{n-2} and 
> t_{n-3})
>
> i.e. old_solution.block(1), old_old_solution.block(1) and 
> old_old_old_solution.block(1) for this task I used
>
>  
>
> std::vector<Vector<double> old_solution_values (n_q_points, 
> Vector<double>(3));
>
> std::vector<Vector<double> old_solution_values0 (n_q_points, 
> Vector<double>(3));
>
> std::vector<Vector<double> old_solution_values1 (n_q_points, 
> Vector<double>(3));
>
>  
>
> fe_values.get_function_values (old_solution, old_solution_values);
>
> fe_values.get_function_values (old_old_solution, old_solution_values0);
>
> fe_values.get_function_values (old_old_old_solution, old_solution_values1);
>
>  
>
>  
>
> In the solution process in the right hand side assembly I need just the 
> nodal values of second block U1 at the previous time steps (t_{n-1}, 
> t_{n-2} and t_{n-3}) i.e.  old_solution.block(1)
>
>  
>
>  For this reason, I used
>
>  
>
> const double old_s = old_solution_values[q_point](1);
>
> const double old_s = old_solution_values0[q_point](1);
>
> const double old_s = old_solution_values1[q_point](1);
>
>  
>
>  
>
> but I did not get required results and even when I changed 
> old_solution_values[q_point](1) to old_solution_values[q_point](0) nothing 
> has changed (just to check if there is any difference) and even when I 
> tried the wrong thing old_solution.block(1) nothing has changed and I got 
> the same results as with previous other cases.
>
>  
>
> I am confused about this case; did I do some thing wrong in defining the 
> nodal values of the second block of the solution vector at the previous 
> time steps? Any feedbacks and hints are appreciated.
>
>  
>
> Best regards
>
>  
>
> Mohammad Sabawi
>

-- 
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.

Reply via email to