[deal.II] Re: MPI and Docker

2022-04-05 Thread jack urombo
 I am running dealii in Docker container and because of issue to do with 
using filesystem under c++17 i have:
 
*[  0%] Building CXX object 
source/CMakeFiles/rotatingMHD.dir/problem_class.cc.o *









*/home/dealii/rotmhd/source/problem_class.cc: In constructor 
‘RMHD::Problem::Problem(const 
RMHD::RunTimeParameters::ProblemBaseParameters&)’: 
/home/dealii/rotmhd/source/problem_class.cc:185:13: error: 
‘std::filesystem’ has not been declared  185 |   if 
(!std::filesystem::exists(prm.graphical_output_directory) &&  | 
^~ /home/dealii/rotmhd/source/problem_class.cc:190:12: 
error: ‘std::filesystem’ has not been declared  190 | 
  std::filesystem::create_directories(prm.graphical_output_directory); 
 |^~ make[2]: *** 
[source/CMakeFiles/rotatingMHD.dir/build.make:206: 
source/CMakeFiles/rotatingMHD.dir/problem_class.cc.o] Error 1*

Does the dealii Docker container support c++17? 

On Friday, 31 December 2021 at 21:44:54 UTC+2 luca@gmail.com wrote:

> This happened to me when I forgot to call `DEAL_II_SETUP_TARGET` from the 
> CMakeLists.txt. Did you resolve this issue?
>
> On Tuesday, December 14, 2021 at 9:54:42 AM UTC+1 jack urombo wrote:
>
>> The current docker image is not finding mpi.h
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *[ 50%] Building CXX object CMakeFiles/cdr.dir/cdr.cc.o In file included 
>> from /usr/include/deal.II/base/conditional_ostream.h:19, 
>> from /home/dealii/dealii/cdr/cdr.cc:1: 
>> /usr/include/deal.II/base/config.h:490:12: fatal error: mpi.h: No such file 
>> or directory  490 | #  include   |^~~ 
>> compilation terminated. make[2]: *** [CMakeFiles/cdr.dir/build.make:63: 
>> CMakeFiles/cdr.dir/cdr.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:76: 
>> CMakeFiles/cdr.dir/all] Error 2 make: *** [Makefile:84: all] Error 2 
>> dealii@cdab72233c4c:~/dealii/cdr$ *
>>
>
-- 




The information in this message is confidential and legally
privileged. 
It is intended solely for the addressee(s). Access to this message
by 
anyone else is unauthorized. If received in error, please accept our 
apologies
and notify the sender immediately. You must also delete the 
original message
from your machine. If you are not the intended recipient, 
any use, disclosure,
copying, distribution or action taken in reliance of 
it, is prohibited and may
be unlawful. The information, attachments, 
opinions or advice contained in this
email are not the views or opinions of 
Harare Institute of Technology, its
subsidiaries or affiliates. Although 
this email and any attachments are
believed to be free of any virus or 
other defects which might affect any
computer or IT system into which they 
are received, no responsibility is
accepted by Harare Institute of 
Technology and/or its subsidiaries for any loss
or damage arising in any 
way from the receipt or use thereof.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/463617a3-0c39-4636-a749-eb4da4ad592bn%40googlegroups.com.


Re: [deal.II] step-35 in modified

2022-04-05 Thread jack urombo
I want to generate convergence table for the modified step-35 for a couple 
of velocity and pressure error norms.
The problem seems to emanate from my definition of the errors in 
*process_output()   
*template.
The message is:

































*[ 50%] Building CXX object CMakeFiles/step-35a.dir/step-35a.cc.o 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc: In member function 
‘void Step35a::NavierStokesProjection::compute_errors(unsigned int)’: 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1941:40: error: 
‘vL2_error’ was not declared in this scope 1941 | 
convergence_table.add_value("vL2", vL2_error);  | 
   ^ 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1942:40: error: 
‘vH1_error’ was not declared in this scope 1942 | 
convergence_table.add_value("vH1", vH1_error);  | 
   ^ 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1943:44: error: 
‘vLinfty_error’ was not declared in this scope 1943 | 
convergence_table.add_value("vLinfty", vLinfty_error);  | 
   ^ 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1944:40: error: 
‘pL2_error’ was not declared in this scope; did you mean ‘perror’? 1944 | 
convergence_table.add_value("pL2", pL2_error);  | 
   ^  | 
   perror 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1945:40: error: 
‘pH1_error’ was not declared in this scope; did you mean ‘perror’? 1945 | 
convergence_table.add_value("pH1", pH1_error);  | 
   ^  | 
   perror 
/home/jurombo/binaires/dealii/nse/step-35a/step-35a.cc:1946:44: error: 
‘pLinfty_error’ was not declared in this scope 1946 | 
convergence_table.add_value("pLinfty", pLinfty_error);  | 
   ^ make[2]: *** 
[CMakeFiles/step-35a.dir/build.make:76: 
CMakeFiles/step-35a.dir/step-35a.cc.o] Error 1 make[1]: *** 
[CMakeFiles/Makefile2:90: CMakeFiles/step-35a.dir/all] Error 2 make: *** 
[Makefile:91: all] Error 2 
jurombo@MathW15Linux:~/binaires/dealii/nse/step-35a> *

I need suggestions on how to properly define or indications of where I 
getting wrong. 
The code is attached.
On Saturday, 5 March 2022 at 05:42:26 UTC+2 jack urombo wrote:

> Yeah this:
>   
>
>
> *scratch.fe_val_vel.reinit(std::get<0> (*SI));  
> scratch.fe_val_pres.reinit(std::get<1> (*SI));  std::get<0> 
> (*SI)->get_dof_indices(data.vel_local_dof_indices);  std::get<1> 
> (*SI)->get_dof_indices(data.pres_local_dof_indices);*
>
> On Saturday, 5 March 2022 at 01:02:42 UTC+2 Wolfgang Bangerth wrote:
>
>> On 3/4/22 14:37, jack urombo wrote:
>> > **
>> > 
>> > Does this replace all the four instances of *std::get *or just the 
>> > last two?
>>
>> All of the ones where you call
>> std::get<...>(SI.iterators)
>>
>> Best
>> W.
>>
>> -- 
>> 
>> Wolfgang Bangerth email: bang...@colostate.edu
>> www: http://www.math.colostate.edu/~bangerth/
>>
>
-- 




The information in this message is confidential and legally
privileged. 
It is intended solely for the addressee(s). Access to this message
by 
anyone else is unauthorized. If received in error, please accept our 
apologies
and notify the sender immediately. You must also delete the 
original message
from your machine. If you are not the intended recipient, 
any use, disclosure,
copying, distribution or action taken in reliance of 
it, is prohibited and may
be unlawful. The information, attachments, 
opinions or advice contained in this
email are not the views or opinions of 
Harare Institute of Technology, its
subsidiaries or affiliates. Although 
this email and any attachments are
believed to be free of any virus or 
other defects which might affect any
computer or IT system into which they 
are received, no responsibility is
accepted by Harare Institute of 
Technology and/or its subsidiaries for any loss
or damage arising in any 
way from the receipt or use thereof.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/c3fa1eb9-3fb6-4487-8c5a-17c8d6e72340n%40googlegroups.com.
/* -
 *
 * Copyright (C) 2009 - 2021 by the deal.II authors
 *
 * This file is part of the deal.II library.
 *
 * The deal.II library is free software; you 

[deal.II] deal.II Newsletter #206

2022-04-05 Thread 'Rene Gassmoeller' via deal.II User Group
Hello everyone!

This is deal.II newsletter #206.
It automatically reports recently merged features and discussions about the 
deal.II finite element library.


## Below you find a list of recently proposed or merged features:

#13593: Installation problem with MPI on Windows (proposed by DaneilSun) 
https://github.com/dealii/dealii/pull/13593

#13592:  Installation problem with MPI on Windows (proposed by DaneilSun) 
https://github.com/dealii/dealii/pull/13592

#13591: Matrixfree evaluation with `FE_RaviartThomasNodal` (proposed by 
NiklasWik) https://github.com/dealii/dealii/pull/13591

#13590: Add gradient and estimate for hessian to SignedDistance::Ellipsoid 
(proposed by bergbauer) https://github.com/dealii/dealii/pull/13590

#13589: LA::d::V:reinit() add check (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/13589

#13587: Provide a proper reference. (proposed by bangerth; merged) 
https://github.com/dealii/dealii/pull/13587

#13586: Bug fix - renumbering points for FERaviartThomasNodal (proposed by 
NiklasWik; merged) https://github.com/dealii/dealii/pull/13586

#13585: Bug fix - renumber anisotropic points for FE_RaviartThomasNodal 
(proposed by NiklasWik) https://github.com/dealii/dealii/pull/13585

#13583: Minor updates to DataOutFilter. (proposed by bangerth; merged) 
https://github.com/dealii/dealii/pull/13583

#13582: Update the documentation of GridTools::cell_measure(). (proposed by 
drwells; merged) https://github.com/dealii/dealii/pull/13582

#13581: Update bundled muParser to 2.3.3 (proposed by drwells) 
https://github.com/dealii/dealii/pull/13581

#13579: Allow loading triangular meshes from Gmsh with some cells inverted 
(proposed by zjiaqi2018; merged) https://github.com/dealii/dealii/pull/13579

#13565: Add wrappers for ArborX::Sphere (proposed by Rombur; merged) 
https://github.com/dealii/dealii/pull/13565

#13547: Add RPE::all_points_found() and ::point_found() (proposed by peterrum; 
merged) https://github.com/dealii/dealii/pull/13547

#13536: Nodal renumbering (proposed by drwells; merged) 
https://github.com/dealii/dealii/pull/13536


## And this is a list of recently opened or closed discussions:

#13588: I want to develop a spectral element code based on the dealii, what is 
your suggestions? (opened and closed) 
https://github.com/dealii/dealii/issues/13588

#13584: Get rid of std::abs() when computing tet volumes (opened) 
https://github.com/dealii/dealii/issues/13584

#13501: Robustness problem with RemotePointEvaluation (closed) 
https://github.com/dealii/dealii/issues/13501


A list of all major changes since the last release can be found at 
https://www.dealii.org/developer/doxygen/deal.II/recent_changes.html.


Thanks for being part of the community!


Let us know about questions, problems, bugs or just share your experience by 
writing to dealii@googlegroups.com, or by opening issues or pull requests at 
https://www.github.com/dealii/dealii.
Additional information can be found at https://www.dealii.org/.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/624c6798.1c69fb81.58159.a712SMTPIN_ADDED_MISSING%40gmr-mx.google.com.


Re: [deal.II] Error installing dealii by candi on Apple M1

2022-04-05 Thread Timo Heister
Can you post the output of "grep HDF5 detailed.log" in the directory 
/Users/fr714/dealii-candi-basic/tmp/unpack/deal.II-v9.3.3/ please?


On Tuesday, April 5, 2022 at 9:18:01 AM UTC-4 freddri...@gmail.com wrote:

> I also have the same issue, irrespective of whether I try to compile using 
> the v9.3.3 or the master version of deal.ii. I'm on Apple M1 Monterey 12.3.
>
> Here's the compilation error for source/base/hdf5.cc:
>
> In file included from 
> /Users/fr714/dealii-candi-basic/tmp/unpack/deal.II-v9.3.3/source/base/hdf5.cc:20:
>
> /Users/fr714/dealii-candi-basic/tmp/unpack/deal.II-v9.3.3/include/deal.II/base/hdf5.h:1470:30:
>  
> error: use of undeclared identifier 'H5Pset_dxpl_mpio'
>
>   const herr_t ret = H5Pset_dxpl_mpio(plist, H5FD_MPIO_COLLECTIVE);
>
>  ^
>
> /Users/fr714/dealii-candi-basic/tmp/unpack/deal.II-v9.3.3/include/deal.II/base/hdf5.h:1502:21:
>  
> error: use of undeclared identifier 'H5Pget_mpio_actual_io_mode'
>
>   ret = H5Pget_mpio_actual_io_mode(plist, _mode);
>
> ^
>
> /Users/fr714/dealii-candi-basic/tmp/unpack/deal.II-v9.3.3/include/deal.II/base/hdf5.h:1505:17:
>  
> error: use of undeclared identifier 'H5Pget_mpio_no_collective_cause'
>
> H5Pget_mpio_no_collective_cause(plist,
>
> ^
>
> 3 errors generated.
>
> Seems odd as the correct version of hdf5 and all associated libraries 
> seems to be found OK in the configuration step.
>
> On Friday, April 1, 2022 at 8:09:31 AM UTC+1 hemi...@stanford.edu wrote:
>
>> Hi! I am also trying to install Dealii on Apple M1 Monterey 12.2.1. I 
>> also got similar "failure with exit status: 2". May I ask what is the 
>> difference between the master version in this conversation and v9.3.3? Many 
>> thanks in advance.
>>
>> On Friday, March 18, 2022 at 7:29:46 AM UTC-7 masou...@gmail.com wrote:
>>
>>> I removed this Master version, and install 9.3.3 version, it worked!
>>> Many thanks Timo.
>>> On Friday, 18 March 2022 at 13:46:01 UTC Masoud Ahmadi wrote:
>>>
 Thanks Timo.
 I removed homebrew entirely, then reinstall it and just run:
 brew install cmake open-mpi gcc

 Then I install the master version, this time the setup was completed; 
 however, when I tried to run step-1 example, this happened:
 [image: Screenshot 2022-03-18 at 12.30.12.png]
 On Wednesday, 16 March 2022 at 15:17:09 UTC Timo Heister wrote:

> > # SCALAPACK_LIBRARIES = /opt/homebrew/lib/libscalapack.dylib;-lm;- 
>
> It looks like you have a scalapack installation that got picked up and 
> caused the error. Can you do 
> cmake -D DEAL_II_WITH_SCALAPACK=OFF . 
> in the directory where you found the detailed.log? Follow that by 
> make install 
> (you can use -j to use more cores of course). 
>
>
> On Wed, Mar 16, 2022 at 9:42 AM Masoud Ahmadi  
> wrote: 
> > 
> > I had removed candi, so I had to reinstall it. 
> > But again got the same error. 
> > The requested log file is attached. Please see. 
> > 
> > 
> > 
> > On Tuesday, 15 March 2022 at 13:00:35 UTC Timo Heister wrote: 
> >> 
> >> Can you please post your 
> /Users/masoud/dealii-candi/tmp/build/deal.II-master/detailed.log ? 
> >> 
> >> On Tue, Mar 15, 2022 at 7:18 AM Masoud Ahmadi  
> wrote: 
> >>> 
> >>> Thanks Timo, 
> >>> 
> >>> I tried to switch to master, but again the same thing happened. 
> >>> So, now on the master branch of candi, same error. 
> >>> I attached the log file, please take a look. 
> >>> 
> >>> 
> >>> On Sunday, 13 March 2022 at 19:55:52 UTC Timo Heister wrote: 
>  
>  What candi git branch are you on? You might need to switch to 
> master to make things work for now. 
>  
>  Can you post how you execute candi.sh including the first few 
> pages of output? 
>  
>  On Sun, Mar 13, 2022, 06:42 Masoud Ahmadi  
> wrote: 
> > 
> > Dear Timo, 
> > 
> > No, I did not change anything; I did exactly what is explained 
> in the following link, step by step: 
> > https://github.com/dealii/dealii/wiki/Apple-ARM-M1-OSX 
> > 
> > On Saturday, 12 March 2022 at 16:54:56 UTC Timo Heister wrote: 
> >> 
> >> Did you make any changes to candi.cfg? Can you also please post 
> how you execute candi.sh (what arguments)? 
> >> 
> >> On Mon, Mar 7, 2022, 12:23 Masoud Ahmadi  
> wrote: 
> >>> 
> >>> Hi, 
> >>> 
> >>> I am trying to install dealii on a apple ARM M1 OSX, using the 
> following instructor: 
> >>> https://github.com/dealii/dealii/wiki/Apple-ARM-M1-OSX 
> >>> 
> >>> However, I get the following error: 
> >>> 
> >>> 
> >>> error: use of undeclared identifier 'H5Pset_dxpl_mpio' 
> >>> status = 

Re: [deal.II] how to extend step-42 to quasi-static problem

2022-04-05 Thread gif...@gmail.com
Dear Wolfgang

thank you for your quick reply. All your suggestions are very useful.
I have already done some debugging you proposed, but I will go back on my 
steps, and try again to do it more carefully.

Best

Giovanni

On Tuesday, April 5, 2022 at 4:49:30 PM UTC+2 Wolfgang Bangerth wrote:

> On 4/5/22 07:21, gif...@gmail.com wrote:
> > 
> > I tried with different mesh refinements and different time-step sizes, 
> but the 
> > analyses provide unsatisfactory results. By summarizing, the size of 
> active 
> > set reduces to zero after the first time step, and then increases. The 
> > convergence of the Newton solver slows down since the initial loops, 
> leading 
> > to loose convergence (for max loop reached). The evaluation of the 
> resulting 
> > contact force fails giving negative values.
> > 
> > At the moment, I'm really stuck. Is there anybody who can give me some 
> hints?
>
> Giovanni,
> short of finding someone who is (i) an expert in time dependent 
> plasticity, 
> (ii) has plenty of spare time to look through your program, you are left 
> with 
> debugging the problem yourself. Here is how I would approach things:
>
> * Simplify. Instead of looking at a whole load history, just consider two 
> steps.
> * Pick a load history so that what step-42 produces corresponds to your 
> first 
> step. Make sure you get the same result. If it doesn't, you've just 
> figured 
> out that already your first load step has a problem.
> * Then double the load in the second step. You know that that should 
> result in 
> a larger indentation, and a larger active set.
> * If it doesn't, investigate why that is. One approach would be to 
> simplify 
> the set up so that instead of indenting a complex shape (or just a 
> sphere), 
> you impose a constant load across the top surface of the domain. You might 
> even be able to compute the solution for this problem by hand because of 
> the 
> symmetries of the deformation you expect.
>
>
> It is not uncommon for a complex program to be wrong in the beginning -- 
> in 
> fact, I'd say that's how nearly every program starts out. The question is 
> whether you can build the mental tools to break things down into smaller 
> pieces that can be debugged more easily. Simplifying the situation to 
> something for which it is easier to reason about the behavior is a key 
> first 
> step in this process.
>
> Best
> W.
>
> -- 
> 
> Wolfgang Bangerth email: bang...@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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5d3f2d6a-0c22-48b7-af1f-2bf9cc0f4998n%40googlegroups.com.


Re: [deal.II] how to extend step-42 to quasi-static problem

2022-04-05 Thread Wolfgang Bangerth

On 4/5/22 07:21, gif...@gmail.com wrote:


I tried with different mesh refinements and different time-step sizes, but the 
analyses provide unsatisfactory results. By summarizing, the size of active 
set reduces to zero after the first time step, and then increases. The 
convergence of the Newton solver slows down since the initial loops, leading 
to loose convergence (for max loop reached). The evaluation of the resulting 
contact force fails giving negative values.


At the moment, I'm really stuck. Is there anybody who can give me some hints?


Giovanni,
short of finding someone who is (i) an expert in time dependent plasticity, 
(ii) has plenty of spare time to look through your program, you are left with 
debugging the problem yourself. Here is how I would approach things:


* Simplify. Instead of looking at a whole load history, just consider two steps.
* Pick a load history so that what step-42 produces corresponds to your first 
step. Make sure you get the same result. If it doesn't, you've just figured 
out that already your first load step has a problem.
* Then double the load in the second step. You know that that should result in 
a larger indentation, and a larger active set.
* If it doesn't, investigate why that is. One approach would be to simplify 
the set up so that instead of indenting a complex shape (or just a sphere), 
you impose a constant load across the top surface of the domain. You might 
even be able to compute the solution for this problem by hand because of the 
symmetries of the deformation you expect.



It is not uncommon for a complex program to be wrong in the beginning -- in 
fact, I'd say that's how nearly every program starts out. The question is 
whether you can build the mental tools to break things down into smaller 
pieces that can be debugged more easily. Simplifying the situation to 
something for which it is easier to reason about the behavior is a key first 
step in this process.


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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/e010362a-5cd3-8eb0-96dc-1ad537806c97%40colostate.edu.


Re: [deal.II] Issue using component_wise()

2022-04-05 Thread Wolfgang Bangerth

On 4/5/22 04:47, Hermes Sampedro wrote:


Now I am trying to order the dof according to the components. However, I am 
experiencing that when using /DoFRenumbering::component_wise/ and running with 
more than 1 MPI rank, my solution vector has inf values. Which, does not 
happen when using only 1 process, or using the default dof ordering. I am not 
sure where the problem could be. May I ask for some suggestions to see if I 
can identify where the issue can be?


This is an excellent problem to check your debugging skills. It *may* of 
course be related in some way to the renumbering, but there appears to be no 
logical connection between the two. On the other hand, it is easy to check for 
the presence of inf values (for example, by outputting the norm of a vector). 
There are two ways for inf values to appear in the solution vector: The right 
hand side vector has inf values, or the iterative solver does not converge. 
Both are easy enough to test. If it's the solver, you need to figure out why 
that is.


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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/314c84ed-6b30-060a-8dac-026eae923e01%40colostate.edu.


[deal.II] how to extend step-42 to quasi-static problem

2022-04-05 Thread gif...@gmail.com
Dear all,

I'm trying to extend step-42, according to what the authors Frohne, 
Heister, and Bangerth suggested in the related paper, ie: modify the 
current one-step analysis to a sequence of loading steps (quasi-static 
analysis).

Apart from a for-loop over the pseudo-time parameter, 
i) I recast the procedures computing the constitutive laws in incremental 
form (see the attached files "model.cpp" and "model.hpp"), by introducing 
also the eta parameter which accounts for the load history as accumulated 
plastic strain;
ii) I coherently modified the sphere obstacle function by increasing for 
each time step the position of the sphere center;
ii) I added in the residuals the contribution of the stress stored at the 
previous time-step (local_q_points_history[q_point].old_stress) as



*cell_rhs(i) -= (- local_q_points_history[q_point].old_stress +
  strain_tensors[q_point] * stress_strain_tensor ) *
fe_values[displacement].symmetric_gradient(i, q_point) *
fe_values.JxW(q_point);*
The variables eta and old_stress are both stored as local_q_points_history.

I tried with different mesh refinements and different time-step sizes, but 
the analyses provide unsatisfactory results. By summarizing, the size of 
active set reduces to zero after the first time step, and then increases. 
The convergence of the Newton solver slows down since the initial loops, 
leading to loose convergence (for max loop reached). The evaluation of the 
resulting contact force fails giving negative values.

At the moment, I'm really stuck. Is there anybody who can give me some 
hints?

Thanks in advance,

Giovanni


-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/d65d2b44-10ed-4d2f-ab73-3dbff7932680n%40googlegroups.com.
//
//  model.cpp
//

#include "model.hpp"


ConstitutiveLaw::ConstitutiveLaw(const double E,
 const double nu,
 const double sigma_0,
 const double gamma,
 const double eta_0)
: kappa(E / (3 * (1 - 2 * nu)))
, mu(E / (2 * (1 + nu)))
, sigma_0(sigma_0)
, gamma(gamma)
, eta(eta_0)
, stress_strain_tensor_kappa(kappa *
 outer_product(unit_symmetric_tensor(),
   unit_symmetric_tensor()))
, stress_strain_tensor_mu(2 * mu *
  (identity_tensor() - outer_product(unit_symmetric_tensor(),
  unit_symmetric_tensor()) / 3.0))
{}



void ConstitutiveLaw::set_sigma_0(double sigma_zero)
{
sigma_0 = sigma_zero;
}

void ConstitutiveLaw::set_eta(double new_eta)
{
eta = new_eta;
}


bool ConstitutiveLaw::get_stress_strain_tensor(const SymmetricTensor<2, dim> _tensor,
   const SymmetricTensor<2, dim> _tensor,
 SymmetricTensor<4, dim> _strain_tensor) const
{
Assert(dim == 3, ExcNotImplemented());

SymmetricTensor<2, dim> current_stress_tensor;
current_stress_tensor = stress_tensor + (stress_strain_tensor_kappa + stress_strain_tensor_mu) * strain_tensor;

const SymmetricTensor<2, dim> deviator_stress_tensor = deviator(current_stress_tensor);
const double deviator_stress_tensor_norm = deviator_stress_tensor.norm();

const double gamma_iso = 2.0 * mu * gamma / (1.0 - gamma);
const double gamma_eta = 1.0 - 2.0 * mu * eta / sigma_0;

stress_strain_tensor = stress_strain_tensor_mu;
if (deviator_stress_tensor_norm > sigma_0 + gamma_iso * eta)
{
const double beta = sigma_0 / deviator_stress_tensor_norm;
stress_strain_tensor *= (gamma + (1 - gamma * gamma_eta) * beta);
}

stress_strain_tensor += stress_strain_tensor_kappa;

return (deviator_stress_tensor_norm > sigma_0);
}



void ConstitutiveLaw::get_linearized_stress_strain_tensors(const SymmetricTensor<2, dim> _tensor,
   const SymmetricTensor<2, dim> _tensor,
 SymmetricTensor<4, dim> _strain_tensor_linearized,
   

[deal.II] Issue using component_wise()

2022-04-05 Thread Hermes Sampedro
Dear all, 

I am facing an issue and would like to ask for some help. I am using a 
distributed approach using PETS, similar to step-40 and I use a 2 component 
system (similar to step-29).

Now I am trying to order the dof according to the components. However, I am 
experiencing that when using *DoFRenumbering::component_wise* and running 
with more than 1 MPI rank, my solution vector has inf values. Which, does 
not happen when using only 1 process, or using the default dof ordering. I 
am not sure where the problem could be. May I ask for some suggestions to 
see if I can identify where the issue can be?


My setup function is the following:

Thank you
Regards,
H


* template *
*void LaplaceProblem::setup_system(int en_op)*
*{*

*dof_handler.distribute_dofs(fe);*
*DoFRenumbering::component_wise(dof_handler);*
* locally_owned_dofs = dof_handler.locally_owned_dofs();*
*DoFTools::extract_locally_relevant_dofs(dof_handler, 
locally_relevant_dofs);*

*locally_relevant_solution.reinit(locally_owned_dofs,*
* locally_relevant_dofs, *
* mpi_communicator);*
*system_rhs.reinit(locally_owned_dofs, mpi_communicator);*


*constraints.clear();*
*constraints.reinit(locally_relevant_dofs);*
*DoFTools::make_hanging_node_constraints(dof_handler, constraints);*

*constraints.close();*
* DynamicSparsityPattern dsp(locally_relevant_dofs);*
*locally_relevant_dofs.n_elements());*


*DoFTools::make_sparsity_pattern(dof_handler, dsp,constraints,false);*
*SparsityTools::distribute_sparsity_pattern(dsp,dof_handler.locally_owned_dofs(),mpi_communicator,locally_relevant_dofs);*
*system_matrix.reinit(locally_owned_dofs,*
* locally_owned_dofs,*
* dsp,*
* mpi_communicator);*


*//sparsity patterns for **auxiliary **full  matrices*
* DynamicSparsityPattern dsp_bc(dof_handler.n_dofs(), 
dof_handler.n_dofs());*
*DoFTools::make_sparsity_pattern(dof_handler, dsp_bc);*
*sparsity_pattern_bc.copy_from(dsp_bc);*
*BC_sigmaSP.reinit(sparsity_pattern_bc);*
*BC_ySP.reinit(sparsity_pattern_bc);*
*sparsity_pattern_K.copy_from(dsp_bc);*
*Ksigma_a_matrixSP.reinit(sparsity_pattern_K);*
*Ksigma_b_matrixSP.reinit(sparsity_pattern_K);*
*Ky_matrixSP.reinit(sparsity_pattern_K);*


*}*

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/1cbc3ba7-22f0-45ef-b40e-afe4d5533133n%40googlegroups.com.