Re: [deal.II] Re: Error Installing Deal.II-8.2.1

2019-02-27 Thread Muhammad Adil
Hi Daniel,
I am facing a problem of "Apache License, Version 2.0" during installation
of TBB.
I don't know where to add the License file and what are changes I have to
do in the License file?
Thanks

On Thu, Feb 28, 2019 at 3:30 PM Muhammad Adil 
wrote:

> Hi Daniel,
> I am trying to install TBB externally but not successful yet because I am
> new to use Ubuntu.
> Will you please me to install TBB?
> Thanks
>
> On Mon, Feb 25, 2019 at 8:06 PM Daniel Arndt <
> daniel.ar...@iwr.uni-heidelberg.de> wrote:
>
>> Muhammad,
>>
>> I have installed deal.II-9.0 successfully.
>>> But I want to execute a code which is written on a previous version of
>>> deal.II-8.2.0.
>>> Therefore, I was trying to install this version of deal.II-8.2.0.
>>> But I am confronting an error as shown in the attached image:
>>> when I execute the command
>>>
>>> cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ../deal.II
>>>
>>> It gives me TBB couldn't find as in the image IMG22(7).png.
>>> when I execute the command
>>>
>>>  make install
>>>
>>> It gives me TBB error as in the image IMG22(8).png.
>>>
>>> These are not errors related to deal.II but TBB. You can try to build
>> TBB externally and then use that when building deal.II
>> by setting the environment variable TBB_DIR=... and reconfigure from a
>> clean build directory.
>> You might also be able to replace the bundled TBB in bundled/ with the
>> one in a recent release.
>>
>> What prevents you from just using deal.II-9.0?
>>
>> Best,
>> Daniel
>>
>> --
>> 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.
>>
>

-- 
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] Re: Error Installing Deal.II-8.2.1

2019-02-27 Thread Muhammad Adil
Hi Daniel,
I am trying to install TBB externally but not successful yet because I am
new to use Ubuntu.
Will you please me to install TBB?
Thanks

On Mon, Feb 25, 2019 at 8:06 PM Daniel Arndt <
daniel.ar...@iwr.uni-heidelberg.de> wrote:

> Muhammad,
>
> I have installed deal.II-9.0 successfully.
>> But I want to execute a code which is written on a previous version of
>> deal.II-8.2.0.
>> Therefore, I was trying to install this version of deal.II-8.2.0.
>> But I am confronting an error as shown in the attached image:
>> when I execute the command
>>
>> cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ../deal.II
>>
>> It gives me TBB couldn't find as in the image IMG22(7).png.
>> when I execute the command
>>
>>  make install
>>
>> It gives me TBB error as in the image IMG22(8).png.
>>
>> These are not errors related to deal.II but TBB. You can try to build TBB
> externally and then use that when building deal.II
> by setting the environment variable TBB_DIR=... and reconfigure from a
> clean build directory.
> You might also be able to replace the bundled TBB in bundled/ with the one
> in a recent release.
>
> What prevents you from just using deal.II-9.0?
>
> Best,
> Daniel
>
> --
> 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.
>

-- 
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] Re: Sparsematrix initialization in P4est program

2019-02-27 Thread David Wells
Hi Gabriel,

In case you are interested, I have written a patch and a new test for this
issue: its available at

https://github.com/dealii/dealii/pull/7763

Thanks,
David Wells

On Tue, Feb 26, 2019 at 8:45 PM David Wells  wrote:

> Hi Gabriel,
>
> step-32 does use a pressure element of degree 1 lower than the velocity,
> but your main point is still right: step-35 uses multiple dof handlers for
> the velocity and pressure while step-32 uses FESystem to put everything in
> one dof handler. Therefore the step-32 approach won't work unless you
> rewrite step-35 to use FESystem and block vectors.
>
> Regardless, we should support creating sparsity patterns in parallel with
> multiple dof handlers: this is a bug in the make_sparsity_pattern function
> in deal.II.
>
> I am not sure what to suggest you do: the step-35 approach won't work due
> to a bug in the library itself, but rewriting step-35 (or a similar code)
> to use FESystem and blocks is a lot of work. Unfortunately, I think the
> second approach is the most reasonable one since its what the other
> parallel examples do.
>
> Thanks,
> David Wells
>
> On Mon, Feb 25, 2019 at 12:32 PM  wrote:
>
>>
>>
>> Am Montag, 18. Februar 2019 22:21:06 UTC+1 schrieb David Wells:
>>>
>>> Hi Gabriel,
>>>
>>> I believe that you are still using the standard deal.II SparseMatrix
>>> class; is this correct? If so, this class won't work with fully distributed
>>> calculations. You will need to use either the Trilinos or PETSc wrappers
>>> since not all information is available on the local processor with the
>>> default SparseMatrix class.
>>>
>>> Either way: I believe the error message you encountered is a result of a
>>> bug in deal.II. I don't think that the routine
>>> GridTools::get_finest_common_cells(), which is called by that particular
>>> make_sparsity_pattern variant, works with distributed triangulations. If
>>> you want to use distributed triangulations you will need to set up the
>>> coupled sparsity pattern in a different way.
>>>
>>> If you want to parallelize step-35, it may be better to start by looking
>>> at step-32, which shows how to implement the Stokes equations (coupled to a
>>> Boussinesq equation) in a fully distributed setting. I believe they set up
>>> the coupling of the matrix with velocity and pressure blocks in a different
>>> way that should work for you.
>>>
>>> Does this make sense?
>>>
>>> Thanks,
>>> David Wells
>>>


>> Hey,
>> sorry for the late respons, I had some stuff to work at.
>>
>> Today I had a close look to the  Step-32 and 31 tutorial
>> and I think that this doen't help very much because in the Step-32
>> tutorial the pressure_fe_degree eguals the velocity_fe_degree,
>> which, in my view, makes thi function "make_sparsity_pattern" applicable,
>> because you only have to insert one Dof_Handler object.
>> Thus one can use the same Dof_Handler for velocity and pressure, and
>> everything is created as in the Step-32
>>
>> In my case the velocity_fe_degree is one degree larger then the
>> pressure_fe_degree.
>> If I understood the construction right, I can't perform it in this case.
>>
>> Do you see my problem, or am I wrong?
>>
>> Best Regards
>> Gabriel
>>
>> --
>> 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 a topic in the
>> Google Groups "deal.II User Group" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/dealii/9ibgrQ0mFBs/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> dealii+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

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


[deal.II] Re: Setting constant modes in Trillinos AMG preconditiner for (u,v,w,p) type of problems

2019-02-27 Thread Daniel Arndt
Bruno,

have a look at DoFTools::extract_constant_modes() 
(https://www.dealii.org/developer/doxygen/deal.II/namespaceDoFTools.html#ab0142d347dcce15ec993acaaa2bf85c3).

Best,
Daniel

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


[deal.II] Setting constant modes in Trillinos AMG preconditiner for (u,v,w,p) type of problems

2019-02-27 Thread Bruno Blais
Hello everyone,
I am currently solving a stabilized form of the Navier-Stokes equations. 
Due to the stabilization terms, I can easily lump everything in a single 
matrix.
Everything is done via the Trillinos Wrappers. 
I get relatively nice scaling up to a certain number of cells (say 1e6 or 
so), but then the resolution time greatly increases, especially in parallel.
My feeling is that this is due to the decreased efficiency of the ILU 
preconditioner that I use.
I would like to test the use of the AMG preconditioner of Trillinos.
I have managed to set-up everything accordling, but I have an issue with 
the constant mode in the additional data.

https://www.dealii.org/8.5.0/doxygen/deal.II/structTrilinosWrappers_1_1PreconditionAMG_1_1AdditionalData.html#af4c9b8fcda773646bafc45a09b9c800f

Which reads:

*Specifies the constant modes (near null space) of the matrix. This 
parameter tells AMG whether we work on a scalar equation (where the near 
null space only consists of ones, and default value is OK) or on a 
vector-valued equation. For vector-valued equation problem with 
n_component, the provided constant_modes should fulfill the following 
requirements: *

   - * n_component.size() == n_component* 
   - * n_component[*].size() == n_dof_local or n_component[*].size() == 
   n_dof_global *
   - * n_component[ic][id] == "idth DoF is corresponding to component ic* 

My understanding is that since my problem has 4 DOF per node (if I am P1), 
I need to use specify the correct constant_modes. However, I have not 
really been able to figure out how. I know this may sound like a very 
simple question, but could someone guide me in how I should specify by 
constant modes if I have a nDim+1 component problem? I don't think I really 
understand this part of the documentation.

Thank you for your understanding and help.

-- 
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] Re: Parallel Nonlinear Poisson code in DEALII

2019-02-27 Thread Wolfgang Bangerth
On 2/27/19 4:03 AM, mboron1...@gmail.com wrote:
> 
> I have checked Step-40. Lets say we have an*old_locally_relevant_solution 
> *vector and a *new_locally_relevant_solution_update* vector (*extracted from 
> the completely distributed solution in the solve module*). How can we add 
> these two vectors in DEALII. Thanking you in anticipation.

Since locally relevant vectors have ghost elements, they are read-only. You 
need to create completely distributed vectors out of these. You can add them 
together, and then make locally relevant vectors again. (Or do the addition 
*before* converting the update vector into a locally relevant one.)

Best
  W.

-- 

Wolfgang Bangerth  email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

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


[deal.II] Re: Parallel Nonlinear Poisson code in DEALII

2019-02-27 Thread mboron1982
Dear Jean-Paul,

I have checked Step-40. Lets say we have an* old_locally_relevant_solution 
*vector 
and a *new_locally_relevant_solution_update* vector (*extracted from the 
completely distributed solution in the solve module*). How can we add these 
two vectors in DEALII. Thanking you in anticipation. 


On Thursday, February 21, 2019 at 3:32:08 PM UTC+5:30, mboro...@gmail.com 
wrote:
>
> Dear all,
> I am Boron. I am a new to DEALII. I am currently trying to write a 
> parallel code in DEALII for solving nonlinear Poisson's equation. The file 
> is also attahed below. My doubt is "How do we pass history variable while 
> constructing the cell_matrix?"
> A code snippet is (Line No 211-225) :
>
> for (; cell!=endc; ++cell)
> {
> if (cell->subdomain_id() == this_mpi_process)
> {
> cell_matrix = 0; 
> cell_rhs = 0;
>
> fe_values.reinit (cell);
>
> fe_values.get_function_values(present_solution, 
> old_solution);
> fe_values.get_function_gradients(present_solution, 
> old_solution_gradients);
> for (unsigned int q_point=0; q_point {
> // BUILD ELEMENTAL CELL MATRIX @ EACH GAUSS POINT
> }
>
> In the above code snippet, the line 
> 'fe_values.get_function_values(present_solution, old_solution);  ' throws 
> an error. Is there a way to pass only the vectors relevant to the 
> corresponding subdomains in DEALII?
>
>

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


[deal.II] Re: How to compute convergence rate of L2 norm of error without exact solution? And how to compute convergence rate of in different golobally refinement?

2019-02-27 Thread chucui1016
Dear Prof. Arndt,

I have used SolutionTransfer as you say, but if I set a phi_0 fixed, then 
project it into finite element space and get a vector phi_0_h, then I get 
phi_0_h/2, phi_0_h/4, phi_0_h/8 by using SolutionTransfer, but the norm 
of (phi_0_h- phi_0_h/2), (phi_0_h/2- phi_0_h/4), (phi_0_h/4- phi_0_h/8) are 
so big, and I cannot get exact value when I compute the convergence rate. 
So I wander how to deal with it? 

And the attached is the test code, and the results is:
phi_0_norm_58:  0.335377  phi_0_norm_68:  0.317158  phi_0_norm_78:  0.277344

Thank you very much!

Best,
Chucui

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

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 

#include 
#include 
#include 

#include 
#include 
#include 
#include 

// Then we need to include the header file for the sparse direct solver
// UMFPACK:
#include 

// This includes the library for the incomplete LU factorization that will be
// used as a preconditioner in 3D:
#include 

// This is C++:
#include 
#include 
#include 
#include 
#include 
using namespace std;
// As in all programs, the namespace dealii is included:
namespace Step22
{
  using namespace dealii;


  template 
  class StokesProblem
  {
  public:
StokesProblem (const unsigned int phi_degree);
void run ();
  private:
void setup_dofs_pbc_rf (const int refine_number);
void phi_0_trans ();
 
double norm_compute_phi_0 (const Vector solu_1,
 const Vector solu_2); 
void create_mesh();
void refine_mesh ();

const unsigned int   degree;

Triangulation   triangulation_active;
Triangulation   triangulation;
FE_Qfe_phi;

DoFHandler  dof_handler_phi;
ConstraintMatrix constraints_phi;
Vector phi_0, phi_0_5, phi_0_6, phi_0_7, phi_0_8, tmp_phi_0_5, tmp_phi_0_6, tmp_phi_0_7, tmp_phi_0_8;
 
double time_step, time;
const double A, B, sita_0, eps, m, eps_4, tau, k_0, C_L, D_u, L_1, L_2, L_0, T_M, C_0, C_1, eps_F, e_L_T_M;//, s;
unsigned int timestep_number = 1;
  
  };

  
  template 
  StokesProblem::StokesProblem (const unsigned int phi_degree)
:
degree (phi_degree),
fe_phi (degree),
dof_handler_phi (triangulation),
time_step (1e-4),
timestep_number (1),
A (100.0), 
B (1.0), 
sita_0 (1*numbers::PI/4), 
eps (0.01), 
m (4.0), 
eps_4 (1./15.0), 
tau (3.0), 
k_0 (0.0), 
C_L (0.6), 
D_u (0.0001), 
L_1 (0.0), 
L_2 (0.0), 
L_0 (0.5), 
T_M (1.0), 
C_0 (1.0), 
C_1 (1.0),
eps_F (1.0),
e_L_T_M (0.0)
  {}  


  template 
  class InitialValues_phi : public Function
  {
  public:
InitialValues_phi () : Function() {}

virtual double value (const Point   ,
  const unsigned int  component = 0) const;

  };
  
  
  template 
  double InitialValues_phi::value (const Point   ,
   const unsigned int component) const
  {
  const double C_0 = 1.0,
   C_1 = 1.0,
   A = 100.0;
  const double delta = 0.1, r0 = std::sqrt(0.018);
  double phi_value = 0, e_value = 0, q_value = 0, s_value = 0, r = 0, T_value = 0;
   r = std::sqrt((p[0] - 0.28125) * (p[0] - 0.28125) + (p[1] - 0.28125) * (p[1] - 0.28125)) ;
 phi_value = -0.5 * std::tanh((r0-r)/delta) + 0.5;
 //phi_value = 0.5 * std::cos(p[0]) * std::cos(p[1]) +0.5;
 return phi_value;
  
  }  

  template 
  class InitialValuesConv : public Function
  {
  public:
InitialValuesConv () : Function() {}

virtual double value (const Point   ,
  const unsigned int  component = 0) const;

  };


  template 
  double
  InitialValuesConv::value (const Point  ,
 const unsigned int component) const
  {

[deal.II] Re: How to compute convergence rate of L2 norm of error without exact solution? And how to compute convergence rate of in different golobally refinement?

2019-02-27 Thread chucui1016
Dear Prof. Arndt,

I have used SolutionTransfer as you say, but if I set a phi_0 fixed, then 
project it into finite element space and get a vector phi_0_h, then I get 
phi_0_h/2, phi_0_h/4, phi_0_h/8 by using SolutionTransfer, but the norm 
of (phi_0_h- phi_0_h/2), (phi_0_h/2- phi_0_h/4), (phi_0_h/4- phi_0_h/8) are 
so big, and I cannot get exact value when I compute the convergence rate. 
So I wander how to deal with it? 

And the attached is the test code, and the results is:
phi_0_norm_58:  0.335377  phi_0_norm_68:  0.317158  phi_0_norm_78:  0.277344

Thank you very much!

Best,
Chucui

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