Re: [deal.II] Re: deal.II's birthday

2018-01-25 Thread Wolfgang Bangerth

On 01/25/2018 06:58 PM, noloconte...@gmail.com wrote:


Hi, Congrats.  Is there anywhere I can read about the development history of 
deal.ii?  Am I correct in assuming that there was a deal.i?


There was a library called DEAL from which deal.II inherited small amounts of 
code but large amounts of ideas. DEAL has been the intellectual predecessor of 
a number of libraries; it's most immediate successor is probably Gascoigne 
which I believe shares a good amount of code (though I don't really know):

  http://www.uni-kiel.de/gascoigne/

I don't think any of us ever wrote down a history of deal.II. Thinking about 
it, I also wouldn't know what really to write -- lots and lots of people have 
contributed in different areas over the past 20 years, but it's not like any 
of us foresaw this 20 years ago and came up with a master plan for the whole 
thing that we're still working on.



I am mainly interested in how you decided and the different classes.  Would 
you change much if you could start from scratch?


This is an interesting question.

There are a few things that have turned out to be bad ideas. Most of which I 
seem to have been responsible for (though I'm going to claim that I also did 
some good in balance). Many of these bad decisions have been fixed over the 
years but occasionally there are still things we struggle with. The last area 
where I would say the original design was poor is the use of the Boundary 
class, but many people over the past few years have contributed to replacing 
it by the Manifold design, and this is going to be what we use in the future, 
starting with the next release.


There are a number of really good ideas that were in the library from the 
beginning and that have fundamentally been replicated in all finite element 
libraries I know of that came later. Some of these are:

* Iterators for cells and other geometric objects
* 1:m relationships for everything (e.g., many DoFHandlers can use one
  triangulation; many SparseMatrix objects can use one SparsityPattern
  object; etc.)
* Separation of finite element, mapping, and quadrature
* Building extensively on the C++ standard library
* Building on other external libraries, rather than trying to replicate
  functionality
* Making things into a library of building blocks, rather than a framework.

I'm sure many of the other longtimers have their own perspectives, but I do 
think that a lot of the fundamental design decisions from 20 or 15 years ago 
were actually pretty good and have stood the test of time.


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: deal.II's birthday

2018-01-25 Thread nolocontenre

Hi, Congrats.  Is there anywhere I can read about the development history 
of deal.ii?  Am I correct in assuming that there was a deal.i?

I am mainly interested in how you decided and the different classes.  Would 
you change much if you could start from scratch?

Thanks again and congrats!

On Friday, November 24, 2017 at 8:25:23 PM UTC-5, Wolfgang Bangerth wrote:
>
>
> All, 
> today 20 years ago -- on November 24 1997 -- is the date of the first 
> commit 
> to the deal.II repository. If you had asked me at the time whether I 
> thought 
> that (i) deal.II would still exist 20 years later, (ii) anyone would 
> actually 
> care about the first point, (iii) people would still use C++, or (iv) I 
> would 
> still be in academia today, I would not have had an answer. I might have 
> said 
> "no" to any of these questions. 
>
> But deal.II is still around, with more users and developers than ever 
> before: 
>http://dealii.org/publications.html 
>http://dealii.org/authors.html 
>https://github.com/dealii/dealii/graphs/contributors 
>
> What a ride it's been! And what a community we've built -- thanks to all 
> of 
> you who have participated, in one way or the other! 
>
> To many more years! 
>Wolfgang 
>
> -- 
>  
> 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.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] Re: cmake fails when -DDEAL_II_WITH_MPI=ON

2018-01-25 Thread Eldar Khattatov
I tried both development and 8.5.1 as I found a discussion about changes in 
MPI configuration somewhere in deal.ii github page.
Thank you for pointing me to these lines in the error log, I will try to 
look into that.

On Thursday, January 25, 2018 at 4:17:26 PM UTC-5, Wolfgang Bangerth wrote:
>
> On 01/25/2018 12:32 PM, Eldar Khattatov wrote: 
> > Sorry that was indeed a wrong file. I attached the right one. 
>
> I *think* the problem comes from the this error: 
>
> /usr/bin/c++   [...] 
> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
> reference to 'opal_uses_threads' 
> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
> reference to 'opal_class_initialize' 
> /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
> reference to 'opal_list_item_t_class' 
> collect2: error: ld returned 1 exit status 
> CMakeFiles/cmTC_48103.dir/build.make:130: recipe for target 'cmTC_48103' 
> failed 
> make[1]: *** [cmTC_48103] Error 1 
> make[1]: Leaving directory 
> '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' 
> Makefile:126: recipe for target 'cmTC_48103/fast' failed 
> make: *** [cmTC_48103/fast] Error 2 
>
> Source file was: 
> int main(){ return 0; } 
>
>
> Here, you are using the regular C++ compiler to link an MPI program, and 
> it forgets to link in one of the ancillary OpenMPI libraries that has 
> the opal_... functions. You ought to be using the mpic++ program to 
> compile. Do you have the CXX environment variable set? 
>
> There have been recent changes to the MPI cmake configuration. Are you 
> using the newest development version of deal.II? 
>
> 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.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] Re: cmake fails when -DDEAL_II_WITH_MPI=ON

2018-01-25 Thread Wolfgang Bangerth

On 01/25/2018 12:32 PM, Eldar Khattatov wrote:

Sorry that was indeed a wrong file. I attached the right one.


I *think* the problem comes from the this error:

/usr/bin/c++   [...]
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
reference to 'opal_uses_threads'
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
reference to 'opal_class_initialize'
/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined 
reference to 'opal_list_item_t_class'

collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_48103.dir/build.make:130: recipe for target 'cmTC_48103' 
failed

make[1]: *** [cmTC_48103] Error 1
make[1]: Leaving directory 
'/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp'

Makefile:126: recipe for target 'cmTC_48103/fast' failed
make: *** [cmTC_48103/fast] Error 2

Source file was:
int main(){ return 0; }


Here, you are using the regular C++ compiler to link an MPI program, and 
it forgets to link in one of the ancillary OpenMPI libraries that has 
the opal_... functions. You ought to be using the mpic++ program to 
compile. Do you have the CXX environment variable set?


There have been recent changes to the MPI cmake configuration. Are you 
using the newest development version of deal.II?


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.


Re: [deal.II] Re: cmake fails when -DDEAL_II_WITH_MPI=ON

2018-01-25 Thread Eldar Khattatov
Sorry that was indeed a wrong file. I attached the right one.

On Thursday, January 25, 2018 at 11:25:21 AM UTC-5, Eldar Khattatov wrote:
>
> Hi,
>
> Thank you for the reply.
> I attached the cmake log file.
>
> On Wednesday, January 24, 2018 at 11:35:53 PM UTC-5, Matthias Maier wrote:
>>
>> Hi, 
>>
>> On Wed, Jan 24, 2018, at 11:17 CST, Eldar Khattatov  
>> wrote: 
>>
>> > I forgot to mention, I tried both the development and 8.5.1versions of 
>> > deal.II and the errors are the same. 
>>
>> The test in question tries to compile a very minimalistic 
>>
>>   int main () { return 0; } 
>>
>> with the given compiler, link interface and linker options. 
>>
>> Have a look at /CMakeFiles/CMakeErrors.log the detailed 
>> compiler output of what exactly fails should be at the very bottom. 
>>
>> I am curious what is going wrong. 
>>
>> Best, 
>> Matthias 
>>
>

-- 
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.
Performing C++ SOURCE FILE Test DEAL_II_HAVE_AVX failed with the following 
output:
Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_ef482/fast"
/usr/bin/make -f CMakeFiles/cmTC_ef482.dir/build.make 
CMakeFiles/cmTC_ef482.dir/build
make[1]: Entering directory 
'/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_ef482.dir/src.cxx.o
/usr/bin/c++-DDEAL_II_HAVE_AVX   -o CMakeFiles/cmTC_ef482.dir/src.cxx.o -c 
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:3:6: error: 
#error "__AVX__ flag not set, no support for AVX"
 #error "__AVX__ flag not set, no support for AVX"
  ^
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx: In function 
‘int main()’:
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:35:9: 
warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
   b = _mm256_set1_pd ((volatile double)(2.25));
   ~~^~
CMakeFiles/cmTC_ef482.dir/build.make:65: recipe for target 
'CMakeFiles/cmTC_ef482.dir/src.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_ef482.dir/src.cxx.o] Error 1
make[1]: Leaving directory 
'/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_ef482/fast' failed
make: *** [cmTC_ef482/fast] Error 2

Return value: 1
Source file was:

#ifndef __AVX__
#error "__AVX__ flag not set, no support for AVX"
#endif
#include 
class VectorizedArray
{
public:
  VectorizedArray &
  operator += (const VectorizedArray &vec)
  {
data = _mm256_add_pd (data, vec.data);
return *this;
  }
  __m256d data;
};
inline
VectorizedArray
operator + (const VectorizedArray &u, const VectorizedArray &v)
{
  VectorizedArray tmp = u;
  return tmp+=v;
}
int main()
{
  __m256d a, b;
  const unsigned int vector_bytes = sizeof(__m256d);
  const int n_vectors = vector_bytes/sizeof(double);
  __m256d * data =
reinterpret_cast<__m256d*>(_mm_malloc (2*vector_bytes, vector_bytes));
  double * ptr = reinterpret_cast(&a);
  ptr[0] = (volatile double)(1.0);
  for (int i=1; i(&data[1]);
  unsigned int return_value = 0;
  if (ptr[0] != 7.3125)
return_value = 1;
  for (int i=1; i(&e.data);
  for (int i=0; i
int main()
{
  __m512d a, b;
  const unsigned int vector_bytes = sizeof(__m512d);
  const int n_vectors = vector_bytes/sizeof(double);
  __m512d * data =
reinterpret_cast<__m512d*>(_mm_malloc (2*vector_bytes, vector_bytes));
  double * ptr = reinterpret_cast(&a);
  ptr[0] = (volatile double)(1.0);
  for (int i=1; i(&data[1]);
  unsigned int return_value = 0;
  if (ptr[0] != 7.3125)
return_value = 1;
  for (int i=1; i’)
 double() * std::complex();
 ~^~~
In file included from 
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0:
/usr/include/c++/7/complex:404:5: note: candidate: template 
std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&)
 operator*(const _Tp& __x, const complex<_Tp>& __y)
 ^~~~
/usr/include/c++/7/complex:404:5: note:   template argument 
deduction/substitution failed:
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:36: note:   
deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’)
 double() * std::complex();
^
In file included from

Re: [deal.II] Re: cmake fails when -DDEAL_II_WITH_MPI=ON

2018-01-25 Thread Matthias Maier
Hi,

is this really the CMakeError.log for the failing configuration (when
MPI is enabled)?

You should have a failing test right at the end with

  Performing C++ SOURCE FILE Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG failed with 
the following output:

  [...]

  Source file was:
  int main(){ return 0; }

Best,
Matthias

-- 
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] Neighbors search within a particular radius of an element

2018-01-25 Thread luca.heltai
You could use KDTree, based on nanoflann. 

If you installed the development version of dealii with NANOFLANN support, then 
you’d have access to algorithms that work in order log(N) complexity for each 
search, and N log(N) to build the tree. 

You’d have to massage it a little, as at the moment it does not use cells but 
points. I’d construct a vector of active cell centers, and use kdtree on this 
vector to obtain the “k nearest neighbours”  (get_closest_points), as well as 
"neighbours within distance” (get_points_within_ball).

http://dealii.org/developer/doxygen/deal.II/classKDTree.html

L.

> On 24 Jan 2018, at 21:37, Sukhminder Singh  wrote:
> 
> Is there any way to find element neighbors with in a particular radius from 
> its center? One approach is to compare distance with every other element in 
> the whole mesh but then the algorithmic complexity will be O(N^2). Another 
> approach is to map all the elements to a coarse structured grid with h=radius 
> and assign each element a cell number of this structured grid. Then I know 
> what are the neighbors of an element which lie in the same cell of the grid 
> and then check the distance only with these neighbors (this will have O(N) 
> algorithmic complexity).
> Is there any simpler way to find neighbors in Dealii, in MPI parallel 
> framework? 
> 
> -- 
> 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: installation error

2018-01-25 Thread Wolfgang Bangerth

On 01/24/2018 07:34 AM, Juan Carlos Araujo Cabarcas wrote:

Please find the file: detailed.log attached.

El martes, 23 de enero de 2018, 17:02:14 (UTC-5), Wolfgang Bangerth 
escribió:


On 01/23/2018 02:13 PM, Bruno Turcksin wrote:
 >
 >     mypath/dealii/source/lac/scalapack.cc:243:91: error: there
are no
 >     arguments to ‘MPI_Comm_create_group’ that depend on a
template parameter,
 >     so a declaration of ‘MPI_Comm_create_group’ must be available
[-fpermissive]
 >             ierr = MPI_Comm_create_group(MPI_COMM_WORLD,
group_union, 5,
 >     &mpi_communicator_union);


It confused me that you are compiling the scalapack file but get an 
error message that a particular MPI function was not found. This would 
ordinarily suggest that either scalapack.cc is missing an #include of 
 (which is not the case) or that your installation is not 
configured with MPI (which is the case for you). So the error did not 
make sense to me at first.


But it turns out that the call in question, MPI_Comm_create_group is a 
function that was only added to MPI in version 3.0. Apparently all of us 
use an MPI installation that is sufficiently up to date. What is the 
version you use?


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.


Re: [deal.II] Re: cmake fails when -DDEAL_II_WITH_MPI=ON

2018-01-25 Thread Eldar Khattatov
Hi,

Thank you for the reply.
I attached the cmake log file.

On Wednesday, January 24, 2018 at 11:35:53 PM UTC-5, Matthias Maier wrote:
>
> Hi, 
>
> On Wed, Jan 24, 2018, at 11:17 CST, Eldar Khattatov  > wrote: 
>
> > I forgot to mention, I tried both the development and 8.5.1versions of 
> > deal.II and the errors are the same. 
>
> The test in question tries to compile a very minimalistic 
>
>   int main () { return 0; } 
>
> with the given compiler, link interface and linker options. 
>
> Have a look at /CMakeFiles/CMakeErrors.log the detailed 
> compiler output of what exactly fails should be at the very bottom. 
>
> I am curious what is going wrong. 
>
> Best, 
> Matthias 
>

-- 
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.
Performing C++ SOURCE FILE Test DEAL_II_HAVE_AVX failed with the following 
output:
Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_000f4/fast"
/usr/bin/make -f CMakeFiles/cmTC_000f4.dir/build.make 
CMakeFiles/cmTC_000f4.dir/build
make[1]: Entering directory 
'/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_000f4.dir/src.cxx.o
/usr/bin/c++-DDEAL_II_HAVE_AVX   -o CMakeFiles/cmTC_000f4.dir/src.cxx.o -c 
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:3:6: error: 
#error "__AVX__ flag not set, no support for AVX"
 #error "__AVX__ flag not set, no support for AVX"
  ^
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx: In function 
‘int main()’:
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:35:9: 
warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
   b = _mm256_set1_pd ((volatile double)(2.25));
   ~~^~
CMakeFiles/cmTC_000f4.dir/build.make:65: recipe for target 
'CMakeFiles/cmTC_000f4.dir/src.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_000f4.dir/src.cxx.o] Error 1
make[1]: Leaving directory 
'/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_000f4/fast' failed
make: *** [cmTC_000f4/fast] Error 2

Return value: 1
Source file was:

#ifndef __AVX__
#error "__AVX__ flag not set, no support for AVX"
#endif
#include 
class VectorizedArray
{
public:
  VectorizedArray &
  operator += (const VectorizedArray &vec)
  {
data = _mm256_add_pd (data, vec.data);
return *this;
  }
  __m256d data;
};
inline
VectorizedArray
operator + (const VectorizedArray &u, const VectorizedArray &v)
{
  VectorizedArray tmp = u;
  return tmp+=v;
}
int main()
{
  __m256d a, b;
  const unsigned int vector_bytes = sizeof(__m256d);
  const int n_vectors = vector_bytes/sizeof(double);
  __m256d * data =
reinterpret_cast<__m256d*>(_mm_malloc (2*vector_bytes, vector_bytes));
  double * ptr = reinterpret_cast(&a);
  ptr[0] = (volatile double)(1.0);
  for (int i=1; i(&data[1]);
  unsigned int return_value = 0;
  if (ptr[0] != 7.3125)
return_value = 1;
  for (int i=1; i(&e.data);
  for (int i=0; i
int main()
{
  __m512d a, b;
  const unsigned int vector_bytes = sizeof(__m512d);
  const int n_vectors = vector_bytes/sizeof(double);
  __m512d * data =
reinterpret_cast<__m512d*>(_mm_malloc (2*vector_bytes, vector_bytes));
  double * ptr = reinterpret_cast(&a);
  ptr[0] = (volatile double)(1.0);
  for (int i=1; i(&data[1]);
  unsigned int return_value = 0;
  if (ptr[0] != 7.3125)
return_value = 1;
  for (int i=1; i’)
 double() * std::complex();
 ~^~~
In file included from 
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0:
/usr/include/c++/7/complex:404:5: note: candidate: template 
std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&)
 operator*(const _Tp& __x, const complex<_Tp>& __y)
 ^~~~
/usr/include/c++/7/complex:404:5: note:   template argument 
deduction/substitution failed:
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:36: note:   
deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’)
 double() * std::complex();
^
In file included from 
/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0:
/usr/include/c++/7/complex:395:5: note: candidate: template 
std::complex<_Tp> std::operator*(const std

Re: [deal.II] Re: Heat equation calculation with narrow, high-intensity heat source

2018-01-25 Thread Bruno Turcksin
2018-01-25 9:05 GMT-05:00 'Maxi Miller' via deal.II User Group <
dealii@googlegroups.com>:

>
> Which preconditioner could work better here?
>
> I don't know. You should look in the literature.

Best,

Bruno

-- 
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: Heat equation calculation with narrow, high-intensity heat source

2018-01-25 Thread 'Maxi Miller' via deal.II User Group
I am currently using the following code for preconditioning and solving:
LinearAlgebraTrilinos::MPI::PreconditionAMG preconditioner;
LinearAlgebraTrilinos::MPI::PreconditionAMG::AdditionalData data;

print_status_update(pcout, "Initializing system matrix with 
preconditioner\n");
preconditioner.initialize(system_matrix, data);
print_status_update(pcout, "Solving\n");
solver.solve (system_matrix, completely_distributed_update, 
system_rhs,
  preconditioner);
print_status_update(pcout, "Solving done\n");

Which preconditioner could work better here?


Am Donnerstag, 25. Januar 2018 14:56:01 UTC+1 schrieb Bruno Turcksin:
>
> Hi,
>
> On Thursday, January 25, 2018 at 4:00:45 AM UTC-5, Maxi Miller wrote:
>>
>> I am trying to calculate a heat equation using a similar approach as in 
>> step-33 (auto-diff). Now my heat source is very narrow and very intense, 
>> resulting in a high gradient (1e6 within one or two cells), thus crashing 
>> the program with a solver error of "loss of precision". What can I do to 
>> mitigate that? I can not change the shape and the parameters of the heat 
>> source, but would increase the amount of points in my grid mitigate that 
>> problem?
>>
> You want to use a better preconditioner. This will help with your bad 
> condition number.
>
> Best,
>
> Bruno
>

-- 
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: Heat equation calculation with narrow, high-intensity heat source

2018-01-25 Thread Bruno Turcksin
Hi,

On Thursday, January 25, 2018 at 4:00:45 AM UTC-5, Maxi Miller wrote:
>
> I am trying to calculate a heat equation using a similar approach as in 
> step-33 (auto-diff). Now my heat source is very narrow and very intense, 
> resulting in a high gradient (1e6 within one or two cells), thus crashing 
> the program with a solver error of "loss of precision". What can I do to 
> mitigate that? I can not change the shape and the parameters of the heat 
> source, but would increase the amount of points in my grid mitigate that 
> problem?
>
You want to use a better preconditioner. This will help with your bad 
condition number.

Best,

Bruno

-- 
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: Problem with the use of FE_Nedelec with a mesh file generated from Gmsh

2018-01-25 Thread Bruno Turcksin
Jianan,

2018-01-24 21:23 GMT-05:00 Jianan Zhang :

>
> Just want to inform you and the dealii users who may be interested that my
> problem is solved perfectly by using Ross' new implementation FE_NedelecSZ.
> The results given by brick elements and hexes are quite similar. Thanks a
> lot for the help.
>
Glad it worked and thank you for letting us know.

Best,

Bruno

-- 
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] Heat equation calculation with narrow, high-intensity heat source

2018-01-25 Thread 'Maxi Miller' via deal.II User Group
I am trying to calculate a heat equation using a similar approach as in 
step-33 (auto-diff). Now my heat source is very narrow and very intense, 
resulting in a high gradient (1e6 within one or two cells), thus crashing 
the program with a solver error of "loss of precision". What can I do to 
mitigate that? I can not change the shape and the parameters of the heat 
source, but would increase the amount of points in my grid mitigate that 
problem?

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