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