[deal.II] Cannot find local compiled petsc library

2020-07-23 Thread yuesu jin
Dear all,
  I am installing deal.ii with petsc on a cluster. After I compiled the
petsc library (The arch folder name is arch-linux-c-debug) and gave a cmake
argument -DPETSC_DIR=/home/yjin6/petsc
cmake cannot find the petsc library .so file(It is in the folder), but it
founds the version is 3.13.
Could you tell me what's the possible reason why cmake cannot find the
library?
Best regards
***
--- Include
/home/yjin6/Deal.II/dealii-9.2.0/cmake/configure/configure_3_petsc.cmake
-- PETSC_LIBRARY not found! Call:
-- FIND_LIBRARY(PETSC_LIBRARY NAMES petsc libpetsc HINTS
/home/yjin6/petsc /home/yjin6/petsc/ PATH_SUFFIXES lib lib64 lib)
-- PETSC_INCLUDE_DIR_ARCH not found! Call:
-- FIND_PATH(PETSC_INCLUDE_DIR_ARCH petscconf.h HINTS /home/yjin6/petsc
/home/yjin6/petsc/ PATH_SUFFIXES petsc include include/petsc)
-- Found PETSC_INCLUDE_DIR_COMMON
-- Found PETSC_PETSCVARIABLES
--   PETSC_VERSION: 3.13.3.0
--   PETSC_LIBRARIES: *** Required variable "PETSC_LIBRARY" set to NOTFOUND
***
--   PETSC_INCLUDE_DIRS: *** Required variable "PETSC_INCLUDE_DIR_ARCH" set
to NOTFOUND ***
--   PETSC_USER_INCLUDE_DIRS: *** Required variable
"PETSC_INCLUDE_DIR_ARCH" set to NOTFOUND ***
-- Could NOT find PETSC
-- DEAL_II_WITH_PETSC has unmet external dependencies.
-- 
Yuesu Jin,
Ph.D student,
University of Houston,
College of Natural Sciences and Mathematics,
Department of Earth and Atmospheric Sciences,
Houston, Texas 77204-5008
346-404-2062

-- 
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/CA%2B25a%3DJVitawqmwmYZ4-9XC8tcmc4EkgXC3_gTy6hjAcLL3Dxg%40mail.gmail.com.


Re: [deal.II] Re: KDTree implementation error

2020-07-23 Thread heena patel
Dear Bruno,
   I had already added kdree.h header file,
check the question again. But it seems it does not read KDTree; something
is not compatible between class and header file.

Regards,
Heena

On Thu, Jul 23, 2020 at 9:03 PM Bruno Turcksin 
wrote:

> Heena,
>
> You are missing an include. Try adding #include  >
>
> Best,
>
> Bruno
>
> On Thursday, July 23, 2020 at 2:55:53 PM UTC-4, heena patel wrote:
>>
>>
>> Dear all,
>>   I had tried to implement KDTree in step_1
>> tutoria and header file for kdtree is added to the codel. It is as follows:
>>
>> void first_grid()
>> {
>>
>>   Triangulation<2> triangulation;
>>
>>   GridGenerator::hyper_cube(triangulation);
>>   triangulation.refine_global(4);
>>
>>
>> *  Point<2>  p;   KDTree<2> tree(10,triangulation.get_vertices());   auto
>> w = tree.get_closest_points(p, 3);*
>>   std::ofstream out("grid-1.svg");
>>   GridOut   grid_out;
>>   grid_out.write_svg(triangulation, out);
>>   std::cout << "Grid written to grid-1.svg" << std::endl;
>> }
>>
>>
>>
>> *It gives me error as below *
>>
>> /home/heena/Project/examples/step-1/step-1.cc:76:4: error: ‘KDTree’ was
>> not declared in this scope
>> KDTree<2> tree(10,triangulation.get_vertices());
>> ^~
>> /home/heena/Project/examples/step-1/step-1.cc:76:4: note: suggested
>> alternative: ‘free’
>> KDTree<2> tree(10,triangulation.get_vertices());
>> ^~
>> free
>> /home/heena/Project/examples/step-1/step-1.cc:76:14: error: ‘tree’ was
>> not declared in this scope
>> KDTree<2> tree(10,triangulation.get_vertices());
>>   ^~~~
>> /home/heena/Project/examples/step-1/step-1.cc:76:14: note: suggested
>> alternative: ‘free’
>> KDTree<2> tree(10,triangulation.get_vertices());
>>   ^~~~
>>   free
>>
>>
>>
>> Is there something missing?
>>
>>
>>
>> Regards,
>> Heena
>>
> --
> 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/d761c989-ef92-4603-8c8e-85ec4eeb3766o%40googlegroups.com
> 
> .
>

-- 
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/CAG_OxbgYqw02b4TnJAvBgWo7dvjRvf7zr6V%2BcBDKE_5hafCDJA%40mail.gmail.com.


Re: [deal.II] Re: PETSc is not compatible with current MPI

2020-07-23 Thread yuesu jin
Dear Bruno,
Thank you very much! I am using mpi/gcc right now. I will change to
Intel mpi library.
Best regards

On Thu, Jul 23, 2020 at 9:08 PM Bruno Turcksin 
wrote:

> Yuesu Jin,
>
> You don't need to compile your own PETSc but you need to use the same MPI
> library than the one that PETSc is using. There are very hard to debug
> problems that appear when PETSc and deal.II use different MPI libraries. I
> think that you want to use this MPI library 
> project/cacds/apps/intelmpi/2019.0.117/intel64/lib/release/libmpi.so
> So you probably need to load a module to use Intel MPI.
>
> Best,
>
> Bruno
>
> On Thursday, July 23, 2020 at 7:47:23 PM UTC-4, yuesu jin wrote:
>>
>> Dear all,
>>   I installed the Deal.II on a cluster.
>>
>> The first thing I found is that, the 
>> /dealii-9.2.0/cmake/configure/configure_1_mpi.cmake
>> automatically set the DEAL_II_WITH_MPI argument as "off", therefore the
>> MPI_FOUND module cannot run. I switched it on and cmake can find the MPI
>> library.
>>
>> The second thing I found is very strange. Cmake gives the message "Could
>> not find a sufficient PETSC installation: PETSC is compiled against a
>> different MPI library than the one deal.II picked up." The PETSc library
>> is integrated in the cluster's public library, I can add it by the command
>> "module add". Does this message mean that I need to compile a new version
>> of PETSc different from the one in the public library?
>>
>> Thanks!
>> Best
>>
>>
>> **
>> -- Include
>> /home/yjin6/DEALII/dealii-9.2.0/cmake/configure/configure_3_petsc.cmake
>> -- Found PETSC_LIBRARY
>> -- Found PETSC_INCLUDE_DIR_ARCH
>> -- Found PETSC_INCLUDE_DIR_COMMON
>> -- Found PETSC_PETSCVARIABLES
>> -- Found PETSC_LIBRARY_mkl_scalapack_lp64
>> -- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
>> -- Found PETSC_LIBRARY_mkl_intel_lp64
>> -- Found PETSC_LIBRARY_mkl_sequential
>> -- Found PETSC_LIBRARY_mkl_core
>> -- Found PETSC_LIBRARY_umfpack
>> -- Found PETSC_LIBRARY_klu
>> -- Found PETSC_LIBRARY_cholmod
>> -- Found PETSC_LIBRARY_btf
>> -- Found PETSC_LIBRARY_ccolamd
>> -- Found PETSC_LIBRARY_colamd
>> -- Found PETSC_LIBRARY_camd
>> -- Found PETSC_LIBRARY_amd
>> -- Found PETSC_LIBRARY_suitesparseconfig
>> -- Found PETSC_LIBRARY_HYPRE
>> -- Found PETSC_LIBRARY_fftw3xc_intel_pic
>> -- Found PETSC_LIBRARY_fftw3x_cdft_lp64_pic
>> -- Found PETSC_LIBRARY_mkl_cdft_core
>> -- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
>> -- Found PETSC_LIBRARY_mkl_intel_lp64
>> -- Found PETSC_LIBRARY_mkl_sequential
>> -- Found PETSC_LIBRARY_mkl_core
>> -- Found PETSC_LIBRARY_mkl_intel_lp64
>> -- Found PETSC_LIBRARY_mkl_sequential
>> -- Found PETSC_LIBRARY_mkl_core
>> -- Found PETSC_LIBRARY_parmetis
>> -- Found PETSC_LIBRARY_metis
>> -- Performing Test PETSC_LIBRARY_dl
>> -- Performing Test PETSC_LIBRARY_dl - Success
>> -- Found PETSC_LIBRARY_iomp5
>> -- Performing Test PETSC_LIBRARY_pthread
>> -- Performing Test PETSC_LIBRARY_pthread - Success
>> -- Performing Test PETSC_LIBRARY_rt
>> -- Performing Test PETSC_LIBRARY_rt - Success
>> -- Found PETSC_LIBRARY_mpifort
>> -- Found PETSC_LIBRARY_mpi
>> -- Found PETSC_LIBRARY_ifport
>> -- Found PETSC_LIBRARY_ifcoremt_pic
>> -- Found PETSC_LIBRARY_imf
>> -- Found PETSC_LIBRARY_svml
>> -- Performing Test PETSC_LIBRARY_m
>> -- Performing Test PETSC_LIBRARY_m - Success
>> -- Found PETSC_LIBRARY_ipgo
>> -- Found PETSC_LIBRARY_irc
>> -- Found PETSC_LIBRARY_irc_s
>> -- Found PETSC_LIBRARY_iomp5
>> --   PETSC_VERSION: 3.10.2.0
>> --   PETSC_LIBRARIES:
>> 

[deal.II] Re: PETSc is not compatible with current MPI

2020-07-23 Thread Bruno Turcksin
Yuesu Jin,

You don't need to compile your own PETSc but you need to use the same MPI 
library than the one that PETSc is using. There are very hard to debug 
problems that appear when PETSc and deal.II use different MPI libraries. I 
think that you want to use this MPI library 
project/cacds/apps/intelmpi/2019.0.117/intel64/lib/release/libmpi.so 
So you probably need to load a module to use Intel MPI.

Best,

Bruno

On Thursday, July 23, 2020 at 7:47:23 PM UTC-4, yuesu jin wrote:
>
> Dear all,
>   I installed the Deal.II on a cluster. 
>
> The first thing I found is that, the 
> /dealii-9.2.0/cmake/configure/configure_1_mpi.cmake 
> automatically set the DEAL_II_WITH_MPI argument as "off", therefore the 
> MPI_FOUND module cannot run. I switched it on and cmake can find the MPI 
> library. 
>
> The second thing I found is very strange. Cmake gives the message "Could 
> not find a sufficient PETSC installation: PETSC is compiled against a 
> different MPI library than the one deal.II picked up." The PETSc library 
> is integrated in the cluster's public library, I can add it by the command 
> "module add". Does this message mean that I need to compile a new version 
> of PETSc different from the one in the public library?  
>
> Thanks!
> Best 
>
>
> **
> -- Include 
> /home/yjin6/DEALII/dealii-9.2.0/cmake/configure/configure_3_petsc.cmake
> -- Found PETSC_LIBRARY
> -- Found PETSC_INCLUDE_DIR_ARCH
> -- Found PETSC_INCLUDE_DIR_COMMON
> -- Found PETSC_PETSCVARIABLES
> -- Found PETSC_LIBRARY_mkl_scalapack_lp64
> -- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
> -- Found PETSC_LIBRARY_mkl_intel_lp64
> -- Found PETSC_LIBRARY_mkl_sequential
> -- Found PETSC_LIBRARY_mkl_core
> -- Found PETSC_LIBRARY_umfpack
> -- Found PETSC_LIBRARY_klu
> -- Found PETSC_LIBRARY_cholmod
> -- Found PETSC_LIBRARY_btf
> -- Found PETSC_LIBRARY_ccolamd
> -- Found PETSC_LIBRARY_colamd
> -- Found PETSC_LIBRARY_camd
> -- Found PETSC_LIBRARY_amd
> -- Found PETSC_LIBRARY_suitesparseconfig
> -- Found PETSC_LIBRARY_HYPRE
> -- Found PETSC_LIBRARY_fftw3xc_intel_pic
> -- Found PETSC_LIBRARY_fftw3x_cdft_lp64_pic
> -- Found PETSC_LIBRARY_mkl_cdft_core
> -- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
> -- Found PETSC_LIBRARY_mkl_intel_lp64
> -- Found PETSC_LIBRARY_mkl_sequential
> -- Found PETSC_LIBRARY_mkl_core
> -- Found PETSC_LIBRARY_mkl_intel_lp64
> -- Found PETSC_LIBRARY_mkl_sequential
> -- Found PETSC_LIBRARY_mkl_core
> -- Found PETSC_LIBRARY_parmetis
> -- Found PETSC_LIBRARY_metis
> -- Performing Test PETSC_LIBRARY_dl
> -- Performing Test PETSC_LIBRARY_dl - Success
> -- Found PETSC_LIBRARY_iomp5
> -- Performing Test PETSC_LIBRARY_pthread
> -- Performing Test PETSC_LIBRARY_pthread - Success
> -- Performing Test PETSC_LIBRARY_rt
> -- Performing Test PETSC_LIBRARY_rt - Success
> -- Found PETSC_LIBRARY_mpifort
> -- Found PETSC_LIBRARY_mpi
> -- Found PETSC_LIBRARY_ifport
> -- Found PETSC_LIBRARY_ifcoremt_pic
> -- Found PETSC_LIBRARY_imf
> -- Found PETSC_LIBRARY_svml
> -- Performing Test PETSC_LIBRARY_m
> -- Performing Test PETSC_LIBRARY_m - Success
> -- Found PETSC_LIBRARY_ipgo
> -- Found PETSC_LIBRARY_irc
> -- Found PETSC_LIBRARY_irc_s
> -- Found PETSC_LIBRARY_iomp5
> --   PETSC_VERSION: 3.10.2.0
> --   PETSC_LIBRARIES: 
> 

[deal.II] PETSc is not compatible with current MPI

2020-07-23 Thread yuesu jin
Dear all,
  I installed the Deal.II on a cluster.

The first thing I found is that, the
/dealii-9.2.0/cmake/configure/configure_1_mpi.cmake
automatically set the DEAL_II_WITH_MPI argument as "off", therefore the
MPI_FOUND module cannot run. I switched it on and cmake can find the MPI
library.

The second thing I found is very strange. Cmake gives the message "Could
not find a sufficient PETSC installation: PETSC is compiled against a
different MPI library than the one deal.II picked up." The PETSc library is
integrated in the cluster's public library, I can add it by the command
"module add". Does this message mean that I need to compile a new version
of PETSc different from the one in the public library?

Thanks!
Best

**
-- Include
/home/yjin6/DEALII/dealii-9.2.0/cmake/configure/configure_3_petsc.cmake
-- Found PETSC_LIBRARY
-- Found PETSC_INCLUDE_DIR_ARCH
-- Found PETSC_INCLUDE_DIR_COMMON
-- Found PETSC_PETSCVARIABLES
-- Found PETSC_LIBRARY_mkl_scalapack_lp64
-- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
-- Found PETSC_LIBRARY_mkl_intel_lp64
-- Found PETSC_LIBRARY_mkl_sequential
-- Found PETSC_LIBRARY_mkl_core
-- Found PETSC_LIBRARY_umfpack
-- Found PETSC_LIBRARY_klu
-- Found PETSC_LIBRARY_cholmod
-- Found PETSC_LIBRARY_btf
-- Found PETSC_LIBRARY_ccolamd
-- Found PETSC_LIBRARY_colamd
-- Found PETSC_LIBRARY_camd
-- Found PETSC_LIBRARY_amd
-- Found PETSC_LIBRARY_suitesparseconfig
-- Found PETSC_LIBRARY_HYPRE
-- Found PETSC_LIBRARY_fftw3xc_intel_pic
-- Found PETSC_LIBRARY_fftw3x_cdft_lp64_pic
-- Found PETSC_LIBRARY_mkl_cdft_core
-- Found PETSC_LIBRARY_mkl_blacs_intelmpi_lp64
-- Found PETSC_LIBRARY_mkl_intel_lp64
-- Found PETSC_LIBRARY_mkl_sequential
-- Found PETSC_LIBRARY_mkl_core
-- Found PETSC_LIBRARY_mkl_intel_lp64
-- Found PETSC_LIBRARY_mkl_sequential
-- Found PETSC_LIBRARY_mkl_core
-- Found PETSC_LIBRARY_parmetis
-- Found PETSC_LIBRARY_metis
-- Performing Test PETSC_LIBRARY_dl
-- Performing Test PETSC_LIBRARY_dl - Success
-- Found PETSC_LIBRARY_iomp5
-- Performing Test PETSC_LIBRARY_pthread
-- Performing Test PETSC_LIBRARY_pthread - Success
-- Performing Test PETSC_LIBRARY_rt
-- Performing Test PETSC_LIBRARY_rt - Success
-- Found PETSC_LIBRARY_mpifort
-- Found PETSC_LIBRARY_mpi
-- Found PETSC_LIBRARY_ifport
-- Found PETSC_LIBRARY_ifcoremt_pic
-- Found PETSC_LIBRARY_imf
-- Found PETSC_LIBRARY_svml
-- Performing Test PETSC_LIBRARY_m
-- Performing Test PETSC_LIBRARY_m - Success
-- Found PETSC_LIBRARY_ipgo
-- Found PETSC_LIBRARY_irc
-- Found PETSC_LIBRARY_irc_s
-- Found PETSC_LIBRARY_iomp5
--   PETSC_VERSION: 3.10.2.0
--   PETSC_LIBRARIES:

Re: [deal.II] Accessing nodal values of a FEM solution

2020-07-23 Thread Daniel Arndt
>
> We need to update function v based on solution u in the following loop.
>
> for ( x in vector_of_nodal_points )
>   v(x) = f(x, u(x))
>
> where v(x) and u(x) are the nodal point value for functions v and u,
> respectively, and f() is some function depending on function u as well as
> the location of the nodal point. So in this case, we need to access nodal
> point coordinates and nodal point values of the solution in the same loop.
>

You can just loop over all degrees of freedom and do

for (unsigned int i=0; ihttps://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#how-to-get-the-mapped-position-of-support-points-of-my-element).



> Well, the above function calculates the gradients of a finite element at
> the quadrature points of a cell, not at the nodal points of a cell.
> Such a need arises in the following situation.
>
> for ( x in vector_of_nodal_points )
>   v(x) = g(x, u(x), grad u(x))
>

You can do similarly,

Quadrature q(fe.get_unit_support_points());
FEValues fe_values (..., q, update_q_points);
for (const auto& cell)
  ...
  points = fe_values.get_quadrature_points();
  fe_values.get_function_values(values);
  fe_values.get_function_gradients(gradients);
  for (unsigned int i=0; ihttp://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/CAOYDWbL%2Brkbnqd0vbec33eDzSZdnVCzArZghU1fkU9uyhaXW1w%40mail.gmail.com.


Re: [deal.II] Complex-valued distributed matrices in dealii

2020-07-23 Thread Pascal Kraft
Hi Daniel,

oh, I'm really sorry for asking if that works. I had seen that neither 
PETSc nor Trilinos Sparse Matrices are templated and assumed that if the 
more modern version (Trilinos) doesn't work with complex numbers, trying 
PETSc wouldn't be very promising. But you are right, I will try that and 
report back. If that works I will see if it is possible to update the docu 
somewhere.

Kind regards and thanks for the super fast response, 
Pascal

d.arnd...@gmail.com schrieb am Donnerstag, 23. Juli 2020 um 19:32:49 UTC+2:

> Pascal,
>
> The wrapped Trilinos matrices are based on Epetra which only supports 
> double AFAICT. That's why you can replace TrilinosScalar easily.
> On the other hand, you should be able to compile PETSc with complex scalar 
> type and use that with MPI.
>
> Best,
> Daniel
>
> Am Do., 23. Juli 2020 um 12:42 Uhr schrieb Pascal Kraft <
> kraft@gmail.com>:
>
>> Dear Deal.II devs and users,
>>
>> In the latest release a lot of (great) work has been done to make complex 
>> numbers more of a first-class citizen in deal, which has made my code a lot 
>> more readable. Currently, I am stuck with one problem, though. Are there 
>> any distributed datatypes for matrices that accept complex numbers?
>>
>> The dealii sparse matrix implementation is a template and allows complex 
>> numbers - however that implementation has no MPI functionality, which I 
>> need.
>>
>> The Petsc Sparse Matrix and Trilinos Sparse Matrix are no templates. In 
>> the types header I found the declaration of TrilinosScalar as double but 
>> changing it and recompiling dealii with the changed header threw an error. 
>>
>> I have Trillions compiled with support for complex numbers and also 
>> searched through the LinearAlgebra documentation.
>>
>> I require GMRES as a solver (which should be possible, because the GMRES 
>> Versions all use a templated Vector which can take complex components) and 
>> MPI distribution of a sparse system. I have so far only seen FullMatrix to 
>> accept complex numbers.
>>
>> Can anyone give me a pointer on what is possible?
>>
>> Kind regards,
>> Pascal Kraft
>>
>> -- 
>> 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+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/4f4af1e0-4020-4dbf-aa9a-3a3fb7297d90o%40googlegroups.com
>>  
>> 
>> .
>>
>

-- 
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/15427367-236e-4b31-89ca-7063ab6d7364n%40googlegroups.com.


Re: [deal.II] Installation stopped

2020-07-23 Thread yuesu jin
Dear all,
 The problem has been solved. The GCC version was too old to compile the
new version of deal.ii. I changed the gcc to a newer version which gave a
very good result. Thanks!
Best regards

On Thu, Jul 23, 2020 at 11:56 AM yuesu jin  wrote:

> Dear Bruno,
>   Ok, I will try a new gcc for compilation. Thank you!
>
> On Thu, Jul 23, 2020 at 7:57 AM Bruno Turcksin 
> wrote:
>
>> Yuesu Lin,
>>
>> Do you have access to a newer compiler? gcc 4.8.5 is very old.
>>
>> Best,
>>
>> Bruno
>>
>> On Wednesday, July 22, 2020 at 11:26:05 PM UTC-4, yuesu jin wrote:
>>>
>>> Dear Timo,
>>>  The configuration in summary.log file is:
>>>
>>> deal.II configuration:
>>> #CMAKE_BUILD_TYPE:   DebugRelease
>>> #BUILD_SHARED_LIBS:  ON
>>> #CMAKE_INSTALL_PREFIX:   /home/yjin6/DEALII/main
>>> #CMAKE_SOURCE_DIR:   /home/yjin6/DEALII/dealii-9.2.0
>>> #(version 9.2.0)
>>> #CMAKE_BINARY_DIR:   /home/yjin6/DEALII/dealii-9.2.0/build
>>> #CMAKE_CXX_COMPILER: GNU 4.8.5 on platform Linux x86_64
>>> #/usr/bin/c++
>>>
>>> And error message is:
>>>
>>> /home/yjin6/DEALII/dealii-9.2.0/build/source/dofs/dof_tools_sparsity.inst:12118:27:
>>>   required from here
>>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55:
>>> error: no matching function for call to
>>> ‘make_flux_sparsity_pattern(const dealii::hp::DoFHandler<3, 3>&,
>>> dealii::BlockDynamicSparsityPattern&, dealii::AffineConstraints&,
>>> const bool&, const dealii::Table<2, dealii::DoFTools::Coupling>&, const
>>> dealii::Table<2, dealii::DoFTools::Coupling>&, const subdomain_id&,
>>> )’
>>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55:
>>> note: candidates are:
>>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:689:3:
>>> note: template void
>>> dealii::DoFTools::make_flux_sparsity_pattern(const DoFHandlerType&,
>>> SparsityPatternType&)
>>>make_flux_sparsity_pattern(const DoFHandlerType ,
>>>^
>>>
>>> On Wed, Jul 22, 2020 at 9:28 PM Timo Heister 
>>> wrote:
>>>
 Yuesu Jin,

 the error message should be higher up in the output. To see them more
 clearly, you can compile again with "make -j 1". What compiler and
 what version of deal.II is this? (look at your summary.log)

 On Wed, Jul 22, 2020 at 7:23 PM yuesu jin  wrote:
 >
 > Dear Deal.II team,
 >
 >   I am installing the deal.ii on a new cluster. The compiling process
 stopped at 62%.
 >
 > [ 62%] Building CXX object
 source/numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_qpmf.cc.o
 > [ 62%] [ 62%] Building CXX object
 source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q1_eulerian.cc.o
 > Building CXX object
 source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q_eulerian.cc.o
 > [ 62%] Built target obj_fe_debug
 > [ 62%] Built target obj_numerics_debug
 >
 > The last few lines are:
 >
 > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In
 member function ‘dealii::IndexSet::IntervalIterator
 dealii::IndexSet::IntervalIterator::operator++(int)’:
 >
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44:
 note: synthesized method
 ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const
 dealii::IndexSet::IntervalIterator&)’ first required here
 >const IndexSet::IntervalIterator iter = *this;
 > ^
 > In file included from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector.h:24:0,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector_memory.h:26,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/lapack_full_matrix.h:27,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/tensor.h:29,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/point.h:23,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature.h:22,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature_lib.h:22,
 >  from
 /home/yjin6/DEALII/dealii-9.2.0/source/fe/mapping_q_eulerian.cc:16:
 >
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:640:5:
 warning: unused parameter ‘other’ [-Wunused-parameter]
 >  IntervalIterator(const IntervalIterator ) = default;
 >  ^
 > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In
 member function ‘dealii::IndexSet::IntervalIterator
 dealii::IndexSet::IntervalIterator::operator++(int)’:
 >
 /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44:
 note: synthesized method
 ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const

[deal.II] Re: KDTree implementation error

2020-07-23 Thread Bruno Turcksin
Heena,

You are missing an include. Try adding #include https://dealii.org/current/doxygen/deal.II/kdtree_8h_source.html>>

Best,

Bruno

On Thursday, July 23, 2020 at 2:55:53 PM UTC-4, heena patel wrote:
>
>
> Dear all,
>   I had tried to implement KDTree in step_1 
> tutoria and header file for kdtree is added to the codel. It is as follows:
>
> void first_grid()
> {
>
>   Triangulation<2> triangulation;
>
>   GridGenerator::hyper_cube(triangulation);
>   triangulation.refine_global(4);
>
>
> *  Point<2>  p;   KDTree<2> tree(10,triangulation.get_vertices());   auto 
> w = tree.get_closest_points(p, 3);*
>   std::ofstream out("grid-1.svg");
>   GridOut   grid_out;
>   grid_out.write_svg(triangulation, out);
>   std::cout << "Grid written to grid-1.svg" << std::endl;
> }
>
>
>
> *It gives me error as below *
>
> /home/heena/Project/examples/step-1/step-1.cc:76:4: error: ‘KDTree’ was 
> not declared in this scope
> KDTree<2> tree(10,triangulation.get_vertices());
> ^~
> /home/heena/Project/examples/step-1/step-1.cc:76:4: note: suggested 
> alternative: ‘free’
> KDTree<2> tree(10,triangulation.get_vertices());
> ^~
> free
> /home/heena/Project/examples/step-1/step-1.cc:76:14: error: ‘tree’ was not 
> declared in this scope
> KDTree<2> tree(10,triangulation.get_vertices());
>   ^~~~
> /home/heena/Project/examples/step-1/step-1.cc:76:14: note: suggested 
> alternative: ‘free’
> KDTree<2> tree(10,triangulation.get_vertices());
>   ^~~~
>   free
>
>
>
> Is there something missing?
>
>
>
> Regards,
> Heena
>

-- 
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/d761c989-ef92-4603-8c8e-85ec4eeb3766o%40googlegroups.com.


[deal.II] KDTree implementation error

2020-07-23 Thread heena patel

Dear all,
  I had tried to implement KDTree in step_1 tutoria 
and header file for kdtree is added to the codel. It is as follows:

void first_grid()
{

  Triangulation<2> triangulation;

  GridGenerator::hyper_cube(triangulation);
  triangulation.refine_global(4);


*  Point<2>  p;   KDTree<2> tree(10,triangulation.get_vertices());   auto w 
= tree.get_closest_points(p, 3);*
  std::ofstream out("grid-1.svg");
  GridOut   grid_out;
  grid_out.write_svg(triangulation, out);
  std::cout << "Grid written to grid-1.svg" << std::endl;
}



*It gives me error as below *

/home/heena/Project/examples/step-1/step-1.cc:76:4: error: ‘KDTree’ was not 
declared in this scope
KDTree<2> tree(10,triangulation.get_vertices());
^~
/home/heena/Project/examples/step-1/step-1.cc:76:4: note: suggested 
alternative: ‘free’
KDTree<2> tree(10,triangulation.get_vertices());
^~
free
/home/heena/Project/examples/step-1/step-1.cc:76:14: error: ‘tree’ was not 
declared in this scope
KDTree<2> tree(10,triangulation.get_vertices());
  ^~~~
/home/heena/Project/examples/step-1/step-1.cc:76:14: note: suggested 
alternative: ‘free’
KDTree<2> tree(10,triangulation.get_vertices());
  ^~~~
  free



Is there something missing?



Regards,
Heena

-- 
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/03a99ffc-c95e-4198-9aed-f175d703f103o%40googlegroups.com.


Re: [deal.II] Accessing nodal values of a FEM solution

2020-07-23 Thread Xuefeng Li
On Thu, Jul 23, 2020 at 12:43 PM Daniel Arndt 
wrote:

> However, I have two more related questions. BTW, I am a newbie in C++
>> programming. So my questions may seem absurd.
>>
>>1. Now that we have a vector holding all nodal point coordinates, and
>>another vector holding all nodal point values of the solution. How do we
>>access every nodal point coordinates, and at the same time, the associated
>>nodal point value within the same loop?
>>
>> Can you clarify in a short pseudocode example what you are trying to
> achieve?
>

We need to update function v based on solution u in the following loop.

for ( x in vector_of_nodal_points )
  v(x) = f(x, u(x))

where v(x) and u(x) are the nodal point value for functions v and u,
respectively, and f() is some function depending on function u as well as
the location of the nodal point. So in this case, we need to access nodal
point coordinates and nodal point values of the solution in the same loop.


>
>>1. In addition to nodal point values of a solution, are the partial
>>derivatives (or gradient) of the solution at each nodal point available in
>>deal.ii?
>>
>> That's basically what DataPostprocessor is doing. In general, you can
> loop over all cells and calculate the derivatives locally. Have a look at
> FEValuesBase::get_function_gradients (
> https://www.dealii.org/current/doxygen/deal.II/classFEValuesBase.html#ad1f4e0deb5d982e8172d82141c634a67
> ).
>
> Well, the above function calculates the gradients of a finite element at
the quadrature points of a cell, not at the nodal points of a cell.
Such a need arises in the following situation.

for ( x in vector_of_nodal_points )
  v(x) = g(x, u(x), grad u(x))

-- 
Stay put, practice social distancing, and be safe!

Best,

--Xuefeng Li, (504)865-3340(phone)
   Like floating clouds, the heart rests easy
   Like flowing water, the spirit stays free
  Loyola University New Orleans
   New Orleans, Louisiana (504)865-2051(fax)

-- 
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/CAO2HPGV-p6f7Tp_C%3DcTS9tNTva9gnm3cT8-JHjkviS7bXFxJXQ%40mail.gmail.com.


Re: [deal.II] Location for Boundary Condition Application

2020-07-23 Thread Daniel Arndt
McKenzie,

I'm interested in applying a non-homogeneous Dirichlet boundary condition
> to a specific edge. However, I'm unsure how to identify or specify a
> particular edge or face to add the boundary condition to. Could you help
> clear this up for me?


What do you know about that particular edge? You can always ask faces or
edges, e.g., about their midpoints. Have a look at
https://www.dealii.org/current/doxygen/deal.II/step_6.html#Abettermesh.

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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAOYDWb%2B-_hretd8LToON2E15e%2B-3yX32etVXBKSiJS_4%2BYFu_g%40mail.gmail.com.


Re: [deal.II] Accessing nodal values of a FEM solution

2020-07-23 Thread Daniel Arndt
>
> However, I have two more related questions. BTW, I am a newbie in C++
> programming. So my questions may seem absurd.
>
>1. Now that we have a vector holding all nodal point coordinates, and
>another vector holding all nodal point values of the solution. How do we
>access every nodal point coordinates, and at the same time, the associated
>nodal point value within the same loop?
>
> Can you clarify in a short pseudocode example what you are trying to
achieve?

>
>1. In addition to nodal point values of a solution, are the partial
>derivatives (or gradient) of the solution at each nodal point available in
>deal.ii?
>
> That's basically what DataPostprocessor is doing. In general, you can loop
over all cells and calculate the derivatives locally. Have a look at
FEValuesBase::get_function_gradients (
https://www.dealii.org/current/doxygen/deal.II/classFEValuesBase.html#ad1f4e0deb5d982e8172d82141c634a67
).

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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAOYDWbJmMnq-3Vz%2BKEtsdnoMhOxihuJvhhFrN9Ke8QjKiam1sA%40mail.gmail.com.


Re: [deal.II] Complex-valued distributed matrices in dealii

2020-07-23 Thread Daniel Arndt
Pascal,

The wrapped Trilinos matrices are based on Epetra which only supports
double AFAICT. That's why you can replace TrilinosScalar easily.
On the other hand, you should be able to compile PETSc with complex scalar
type and use that with MPI.

Best,
Daniel

Am Do., 23. Juli 2020 um 12:42 Uhr schrieb Pascal Kraft <
kraft.pas...@gmail.com>:

> Dear Deal.II devs and users,
>
> In the latest release a lot of (great) work has been done to make complex
> numbers more of a first-class citizen in deal, which has made my code a lot
> more readable. Currently, I am stuck with one problem, though. Are there
> any distributed datatypes for matrices that accept complex numbers?
>
> The dealii sparse matrix implementation is a template and allows complex
> numbers - however that implementation has no MPI functionality, which I
> need.
>
> The Petsc Sparse Matrix and Trilinos Sparse Matrix are no templates. In
> the types header I found the declaration of TrilinosScalar as double but
> changing it and recompiling dealii with the changed header threw an error.
>
> I have Trillions compiled with support for complex numbers and also
> searched through the LinearAlgebra documentation.
>
> I require GMRES as a solver (which should be possible, because the GMRES
> Versions all use a templated Vector which can take complex components) and
> MPI distribution of a sparse system. I have so far only seen FullMatrix to
> accept complex numbers.
>
> Can anyone give me a pointer on what is possible?
>
> Kind regards,
> Pascal Kraft
>
> --
> 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/4f4af1e0-4020-4dbf-aa9a-3a3fb7297d90o%40googlegroups.com
> 
> .
>

-- 
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/CAOYDWb%2BZZn-X6ZROtzYVX6bR1Qe8FXdxcueL%3DPL7qOFFmVhDHA%40mail.gmail.com.


[deal.II] Re: Complex-valued distributed matrices in dealii

2020-07-23 Thread Pascal Kraft
Some additional information: If I try to compile deal with TrilinosScalar = 
std::complex I get many errors like this:

[  5%] Building CXX object 
source/numerics/CMakeFiles/obj_numerics_release.dir/data_postprocessor.cc.o
[  5%] Building CXX object 
source/numerics/CMakeFiles/obj_numerics_release.dir/dof_output_operator.cc.o
In file included from 
install_dir/dealii/dealii-source/include/deal.II/lac/trilinos_parallel_block_vector.h:27,
 from 
install_dir/dealii/dealii-source/source/numerics/dof_output_operator.cc:26:
install_dir/dealii/dealii-source/include/deal.II/lac/trilinos_vector.h: In 
member function ‘dealii::TrilinosWrappers::MPI::Vector::value_type* 
dealii::TrilinosWrappers::MPI::Vector::begin()’:
install_dir/dealii/dealii-source/include/deal.II/lac/trilinos_vector.h:1525:25: 
error: cannot convert ‘double*’ to 
‘dealii::TrilinosWrappers::MPI::Vector::iterator’ {aka 
‘std::complex*’} in return
 1525 |   return (*vector)[0];

suggesting a hard dependency on double somewhere else.

Pascal Kraft schrieb am Donnerstag, 23. Juli 2020 um 18:42:47 UTC+2:

> Dear Deal.II devs and users,
>
> In the latest release a lot of (great) work has been done to make complex 
> numbers more of a first-class citizen in deal, which has made my code a lot 
> more readable. Currently, I am stuck with one problem, though. Are there 
> any distributed datatypes for matrices that accept complex numbers?
>
> The dealii sparse matrix implementation is a template and allows complex 
> numbers - however that implementation has no MPI functionality, which I 
> need.
>
> The Petsc Sparse Matrix and Trilinos Sparse Matrix are no templates. In 
> the types header I found the declaration of TrilinosScalar as double but 
> changing it and recompiling dealii with the changed header threw an error. 
>
> I have Trillions compiled with support for complex numbers and also 
> searched through the LinearAlgebra documentation.
>
> I require GMRES as a solver (which should be possible, because the GMRES 
> Versions all use a templated Vector which can take complex components) and 
> MPI distribution of a sparse system. I have so far only seen FullMatrix to 
> accept complex numbers.
>
> Can anyone give me a pointer on what is possible?
>
> Kind regards,
> Pascal Kraft
>

-- 
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/45903213-5b86-4b06-8f42-7c68b0ae754fn%40googlegroups.com.


Re: [deal.II] Installation stopped

2020-07-23 Thread yuesu jin
Dear Bruno,
  Ok, I will try a new gcc for compilation. Thank you!

On Thu, Jul 23, 2020 at 7:57 AM Bruno Turcksin 
wrote:

> Yuesu Lin,
>
> Do you have access to a newer compiler? gcc 4.8.5 is very old.
>
> Best,
>
> Bruno
>
> On Wednesday, July 22, 2020 at 11:26:05 PM UTC-4, yuesu jin wrote:
>>
>> Dear Timo,
>>  The configuration in summary.log file is:
>>
>> deal.II configuration:
>> #CMAKE_BUILD_TYPE:   DebugRelease
>> #BUILD_SHARED_LIBS:  ON
>> #CMAKE_INSTALL_PREFIX:   /home/yjin6/DEALII/main
>> #CMAKE_SOURCE_DIR:   /home/yjin6/DEALII/dealii-9.2.0
>> #(version 9.2.0)
>> #CMAKE_BINARY_DIR:   /home/yjin6/DEALII/dealii-9.2.0/build
>> #CMAKE_CXX_COMPILER: GNU 4.8.5 on platform Linux x86_64
>> #/usr/bin/c++
>>
>> And error message is:
>>
>> /home/yjin6/DEALII/dealii-9.2.0/build/source/dofs/dof_tools_sparsity.inst:12118:27:
>>   required from here
>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55:
>> error: no matching function for call to ‘make_flux_sparsity_pattern(const
>> dealii::hp::DoFHandler<3, 3>&, dealii::BlockDynamicSparsityPattern&,
>> dealii::AffineConstraints&, const bool&, const dealii::Table<2,
>> dealii::DoFTools::Coupling>&, const dealii::Table<2,
>> dealii::DoFTools::Coupling>&, const subdomain_id&, > function type>)’
>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55:
>> note: candidates are:
>> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:689:3:
>> note: template void
>> dealii::DoFTools::make_flux_sparsity_pattern(const DoFHandlerType&,
>> SparsityPatternType&)
>>make_flux_sparsity_pattern(const DoFHandlerType ,
>>^
>>
>> On Wed, Jul 22, 2020 at 9:28 PM Timo Heister  wrote:
>>
>>> Yuesu Jin,
>>>
>>> the error message should be higher up in the output. To see them more
>>> clearly, you can compile again with "make -j 1". What compiler and
>>> what version of deal.II is this? (look at your summary.log)
>>>
>>> On Wed, Jul 22, 2020 at 7:23 PM yuesu jin  wrote:
>>> >
>>> > Dear Deal.II team,
>>> >
>>> >   I am installing the deal.ii on a new cluster. The compiling process
>>> stopped at 62%.
>>> >
>>> > [ 62%] Building CXX object
>>> source/numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_qpmf.cc.o
>>> > [ 62%] [ 62%] Building CXX object
>>> source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q1_eulerian.cc.o
>>> > Building CXX object
>>> source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q_eulerian.cc.o
>>> > [ 62%] Built target obj_fe_debug
>>> > [ 62%] Built target obj_numerics_debug
>>> >
>>> > The last few lines are:
>>> >
>>> > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In
>>> member function ‘dealii::IndexSet::IntervalIterator
>>> dealii::IndexSet::IntervalIterator::operator++(int)’:
>>> >
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44:
>>> note: synthesized method
>>> ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const
>>> dealii::IndexSet::IntervalIterator&)’ first required here
>>> >const IndexSet::IntervalIterator iter = *this;
>>> > ^
>>> > In file included from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector.h:24:0,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector_memory.h:26,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/lapack_full_matrix.h:27,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/tensor.h:29,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/point.h:23,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature.h:22,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature_lib.h:22,
>>> >  from
>>> /home/yjin6/DEALII/dealii-9.2.0/source/fe/mapping_q_eulerian.cc:16:
>>> >
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:640:5:
>>> warning: unused parameter ‘other’ [-Wunused-parameter]
>>> >  IntervalIterator(const IntervalIterator ) = default;
>>> >  ^
>>> > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In
>>> member function ‘dealii::IndexSet::IntervalIterator
>>> dealii::IndexSet::IntervalIterator::operator++(int)’:
>>> >
>>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44:
>>> note: synthesized method
>>> ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const
>>> dealii::IndexSet::IntervalIterator&)’ first required here
>>> >const IndexSet::IntervalIterator iter = *this;
>>> > ^
>>> > make: *** [all] Error 2
>>> >
>>> > Could you give me some instructions about that? Thank you!
>>> > --
>>> > Yuesu Jin,
>>> > Ph.D student,
>>> > University of Houston,
>>> > 

Re: [deal.II] Accessing nodal values of a FEM solution

2020-07-23 Thread Xuefeng Li
On Sun, Jul 19, 2020 at 7:36 PM Wolfgang Bangerth 
wrote:

> On 7/19/20 6:28 PM, Daniel Arndt wrote:
> >
> > The tutorial examples show only how to access values of the solution
> at
> > the quadrature points within each cell.
> >
> >
> https://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#how-to-get-the-mapped-position-of-support-points-of-my-element
> > <
> https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdealii%2Fdealii%2Fwiki%2FFrequently-Asked-Questions%23how-to-get-the-mapped-position-of-support-points-of-my-element=02%7C01%7CWolfgang.Bangerth%40colostate.edu%7Cc61491e1703e46c5be0f08d82c43defe%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637308017305040965=TM3AYA4IqcrckUMqRTWfCJWUz3MGrUx%2FRFGvRrsg40Y%3D=0>
>
> > might also be helpful.
>
> You might also be interested in looking at the do_half_phase_step()
> function
> of step-58:
>
>
> https://dealii.org/developer/doxygen/deal.II/step_58.html#ImplementingtheStrangsplittingsteps
>
> Best
>   W.
>
>
> Thank both of you for your replies. The Step-58 function is very helpful
in showing how to access nodal point values of a solution vector object. I
assume I can access the nodal point coordinates in the similar way, where a
vector of nodal points is created using the
   DoFTools::map_dofs_to_support_points()
function.

However, I have two more related questions. BTW, I am a newbie in C++
programming. So my questions may seem absurd.

   1. Now that we have a vector holding all nodal point coordinates, and
   another vector holding all nodal point values of the solution. How do we
   access every nodal point coordinates, and at the same time, the associated
   nodal point value within the same loop?
   2. In addition to nodal point values of a solution, are the partial
   derivatives (or gradient) of the solution at each nodal point available in
   deal.ii?

Thanks again for any assistance!

-- 
Stay put, practice social distancing, and be safe!

Best,

--Xuefeng Li, (504)865-3340(phone)
   Like floating clouds, the heart rests easy
   Like flowing water, the spirit stays free
  Loyola University New Orleans
   New Orleans, Louisiana (504)865-2051(fax)

-- 
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/CAO2HPGUH18nde3KSrBkVFmeiuyChR_MKevmVMNDh%2B7xc5BO6%3DA%40mail.gmail.com.


[deal.II] Complex-valued distributed matrices in dealii

2020-07-23 Thread Pascal Kraft
Dear Deal.II devs and users,

In the latest release a lot of (great) work has been done to make complex 
numbers more of a first-class citizen in deal, which has made my code a lot 
more readable. Currently, I am stuck with one problem, though. Are there 
any distributed datatypes for matrices that accept complex numbers?

The dealii sparse matrix implementation is a template and allows complex 
numbers - however that implementation has no MPI functionality, which I 
need.

The Petsc Sparse Matrix and Trilinos Sparse Matrix are no templates. In the 
types header I found the declaration of TrilinosScalar as double but 
changing it and recompiling dealii with the changed header threw an error. 

I have Trillions compiled with support for complex numbers and also 
searched through the LinearAlgebra documentation.

I require GMRES as a solver (which should be possible, because the GMRES 
Versions all use a templated Vector which can take complex components) and 
MPI distribution of a sparse system. I have so far only seen FullMatrix to 
accept complex numbers.

Can anyone give me a pointer on what is possible?

Kind regards,
Pascal Kraft

-- 
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/4f4af1e0-4020-4dbf-aa9a-3a3fb7297d90o%40googlegroups.com.


[deal.II] Location for Boundary Condition Application

2020-07-23 Thread McKenzie Davis
Hello! 

I'm interested in applying a non-homogeneous Dirichlet boundary condition 
to a specific edge. However, I'm unsure how to identify or specify a 
particular edge or face to add the boundary condition to. Could you help 
clear this up for me?

Thank you for your help,

McKenzie

-- 
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/401a1c3e-83bd-4fd6-8306-ea9285d92331n%40googlegroups.com.


Re: [deal.II] Installation stopped

2020-07-23 Thread Bruno Turcksin
Yuesu Lin,

Do you have access to a newer compiler? gcc 4.8.5 is very old.

Best,

Bruno

On Wednesday, July 22, 2020 at 11:26:05 PM UTC-4, yuesu jin wrote:
>
> Dear Timo,
>  The configuration in summary.log file is:
>
> deal.II configuration:
> #CMAKE_BUILD_TYPE:   DebugRelease
> #BUILD_SHARED_LIBS:  ON
> #CMAKE_INSTALL_PREFIX:   /home/yjin6/DEALII/main
> #CMAKE_SOURCE_DIR:   /home/yjin6/DEALII/dealii-9.2.0
> #(version 9.2.0)
> #CMAKE_BINARY_DIR:   /home/yjin6/DEALII/dealii-9.2.0/build
> #CMAKE_CXX_COMPILER: GNU 4.8.5 on platform Linux x86_64
> #/usr/bin/c++
>
> And error message is:
>
> /home/yjin6/DEALII/dealii-9.2.0/build/source/dofs/dof_tools_sparsity.inst:12118:27:
>  
>   required from here
> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55: 
> error: 
> no matching function for call to ‘make_flux_sparsity_pattern(const 
> dealii::hp::DoFHandler<3, 3>&, dealii::BlockDynamicSparsityPattern&, 
> dealii::AffineConstraints&, const bool&, const dealii::Table<2, 
> dealii::DoFTools::Coupling>&, const dealii::Table<2, 
> dealii::DoFTools::Coupling>&, const subdomain_id&,  function type>)’
> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:1352:55: 
> note: candidates are:
> /home/yjin6/DEALII/dealii-9.2.0/source/dofs/dof_tools_sparsity.cc:689:3: 
> note: template void 
> dealii::DoFTools::make_flux_sparsity_pattern(const DoFHandlerType&, 
> SparsityPatternType&)
>make_flux_sparsity_pattern(const DoFHandlerType ,
>^
>
> On Wed, Jul 22, 2020 at 9:28 PM Timo Heister  wrote:
>
>> Yuesu Jin,
>>
>> the error message should be higher up in the output. To see them more
>> clearly, you can compile again with "make -j 1". What compiler and
>> what version of deal.II is this? (look at your summary.log)
>>
>> On Wed, Jul 22, 2020 at 7:23 PM yuesu jin  wrote:
>> >
>> > Dear Deal.II team,
>> >
>> >   I am installing the deal.ii on a new cluster. The compiling process 
>> stopped at 62%.
>> >
>> > [ 62%] Building CXX object 
>> source/numerics/CMakeFiles/obj_numerics_debug.dir/vector_tools_project_qpmf.cc.o
>> > [ 62%] [ 62%] Building CXX object 
>> source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q1_eulerian.cc.o
>> > Building CXX object 
>> source/fe/CMakeFiles/obj_fe_debug.dir/mapping_q_eulerian.cc.o
>> > [ 62%] Built target obj_fe_debug
>> > [ 62%] Built target obj_numerics_debug
>> >
>> > The last few lines are:
>> >
>> > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In 
>> member function ‘dealii::IndexSet::IntervalIterator 
>> dealii::IndexSet::IntervalIterator::operator++(int)’:
>> > 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44: 
>> note: synthesized method 
>> ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const 
>> dealii::IndexSet::IntervalIterator&)’ first required here
>> >const IndexSet::IntervalIterator iter = *this;
>> > ^
>> > In file included from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector.h:24:0,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/vector_memory.h:26,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/lac/lapack_full_matrix.h:27,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/tensor.h:29,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/point.h:23,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature.h:22,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/quadrature_lib.h:22,
>> >  from 
>> /home/yjin6/DEALII/dealii-9.2.0/source/fe/mapping_q_eulerian.cc:16:
>> > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:640:5: 
>> warning: unused parameter ‘other’ [-Wunused-parameter]
>> >  IntervalIterator(const IntervalIterator ) = default;
>> >  ^
>> > /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h: In 
>> member function ‘dealii::IndexSet::IntervalIterator 
>> dealii::IndexSet::IntervalIterator::operator++(int)’:
>> > 
>> /home/yjin6/DEALII/dealii-9.2.0/include/deal.II/base/index_set.h:1192:44: 
>> note: synthesized method 
>> ‘dealii::IndexSet::IntervalIterator::IntervalIterator(const 
>> dealii::IndexSet::IntervalIterator&)’ first required here
>> >const IndexSet::IntervalIterator iter = *this;
>> > ^
>> > make: *** [all] Error 2
>> >
>> > Could you give me some instructions about that? Thank you!
>> > --
>> > Yuesu Jin,
>> > Ph.D student,
>> > University of Houston,
>> > College of Natural Sciences and Mathematics,
>> > Department of Earth and Atmospheric Sciences,
>> > Houston, Texas 77204-5008
>> > 346-404-2062
>> >
>> > --
>> > The deal.II project is located at