[deal.II] deal.II Newsletter #121

2020-06-05 Thread Rene Gassmoeller
Hello everyone!

This is deal.II newsletter #121.
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:

#10470: Fix more issues found by AddressSanitizer (proposed by masterleinad) 
https://github.com/dealii/dealii/pull/10470

#10469: Fixed default parameters for step-70. (proposed by luca-heltai) 
https://github.com/dealii/dealii/pull/10469

#10468: update taskflow to 2.5.0 (proposed by tjhei; merged) 
https://github.com/dealii/dealii/pull/10468

#10467: use WITH_TBB for the affinity quicktest (proposed by tjhei) 
https://github.com/dealii/dealii/pull/10467

#10466: add some documentation to InterpolatedTensorProductGridData (proposed 
by tjhei; merged) https://github.com/dealii/dealii/pull/10466

#10465: Remove unneeded template argument (proposed by peterrum) 
https://github.com/dealii/dealii/pull/10465

#10464: Simplify line_orientation() (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/10464

#10463: Fix Trilinos::SparseMatrix::clear_row 2nd arg. (proposed by 
dougshidong) https://github.com/dealii/dealii/pull/10463

#10461: Avoid use-after-scope when calling MappinQCache::initialize multiply 
(proposed by masterleinad; merged) https://github.com/dealii/dealii/pull/10461

#10460: Next step in fixing AffineConstraints. (proposed by bangerth) 
https://github.com/dealii/dealii/pull/10460

#10458: remove redundant documentation for 
GridTools::find_active_cell_around_point() functions (proposed by nfehn) 
https://github.com/dealii/dealii/pull/10458

#10457: add tolerance to BoundingBox::point_inside() (proposed by nfehn) 
https://github.com/dealii/dealii/pull/10457

#10456: Fix bug in find_active_cell_around_point_tolerance() (proposed by 
nfehn) https://github.com/dealii/dealii/pull/10456

#10455: Fix clang-10 bug in grid/tria.cc (proposed by masterleinad; merged) 
https://github.com/dealii/dealii/pull/10455

#10454: Move some class declarations into the .h file. (proposed by bangerth; 
merged) https://github.com/dealii/dealii/pull/10454

#10453: Fix distribution of levels in pft (proposed by peterrum) 
https://github.com/dealii/dealii/pull/10453

#10452: Add assert on range of incoming index in Tensor::operator[] const. 
(proposed by simonsticko; merged) https://github.com/dealii/dealii/pull/10452

#10451: rename cpp-taskflow to taskflow (proposed by tjhei; merged) 
https://github.com/dealii/dealii/pull/10451

#10450: Triangulation/DoFHandler: binary incompatibility note (proposed by 
peterrum) https://github.com/dealii/dealii/pull/10450

#10448: Get rid of TriaObject. (proposed by bangerth) 
https://github.com/dealii/dealii/pull/10448

#10446: Fix a comment in the documentation. (proposed by bangerth; merged) 
https://github.com/dealii/dealii/pull/10446

#10445: Remove some duplicated code. (proposed by bangerth; merged) 
https://github.com/dealii/dealii/pull/10445

#10444: Fix particles data out for no particles. (proposed by gassmoeller; 
merged) https://github.com/dealii/dealii/pull/10444

#10442: Update output of test (proposed by peterrum) 
https://github.com/dealii/dealii/pull/10442

#10441: Fix implicit capture warning in step-32 (proposed by masterleinad; 
merged) https://github.com/dealii/dealii/pull/10441

#10440: Rename TriaAccessor::set(). (proposed by bangerth; merged) 
https://github.com/dealii/dealii/pull/10440

#10439: Introduce internal::TriangulationImplementation::Policy (proposed by 
peterrum) https://github.com/dealii/dealii/pull/10439

#10437: Revert "disable using c++ 20 iota-view and always use boost" (proposed 
by masterleinad; merged) https://github.com/dealii/dealii/pull/10437

#10436: Use range-based iterators in tria.cc (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/10436

#10435: Improve the efficiency of the step62 assembly (proposed by dangars; 
merged) https://github.com/dealii/dealii/pull/10435

#10434: Replace TriaObject (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/10434

#10433: Move methods of TriaLevel, TriaFaces, and TriaObjects (proposed by 
peterrum; merged) https://github.com/dealii/dealii/pull/10433

#10432: disable using c++ 20 iota-view and always use boost (proposed by tjhei; 
merged) https://github.com/dealii/dealii/pull/10432

#10430: Work on TriaObject (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/10430

#10429: Make CellData::vertices to std::vector (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/10429

#10428: threading changelog entry (proposed by tjhei; merged) 
https://github.com/dealii/dealii/pull/10428

#10427: tests: remove with_threads (proposed by tjhei; merged) 
https://github.com/dealii/dealii/pull/10427

#10426: Fix compiling step-69 with gcc-10 and C++20 (proposed by masterleinad; 
merged) https://github.com/dealii/dealii/pull/10426

#10425: windows: force quick tests in serial (proposed by tjhei; merged) 

Re: [deal.II] step 70 9.2 version

2020-06-05 Thread heena patel
Thanks Luca it works.

Regards,
Heena

On Fri, Jun 5, 2020 at 6:19 PM luca.heltai  wrote:

> Dear Heena,
>
> unfortunately, we failed in cherry picking a default value in the
> parameter file.
>
> The generated parameter handler tries to write output files in a `results`
> directory (as indicated in the default parameter file `set Output directory
> = results`), which however is not created by the installation. You can
> either change the parameter file and set the output directory to `.` or
> create the directory `results` in the location where you are running the
> program.
>
> Wolfgang, it seems that indeed the default parameter file in 9.2 still
> contains `set Output directory = results`. :(
>
> L.
>
>
> > On 5 Jun 2020, at 7:03, heena patel  wrote:
> >
> > Dear all,
> >
> > I had downloaded latest 9.2 version and had
> run some tutorials successfully. When I try to run tutorial 70 it gives
> following error. Kindly help me.
> >
> >
> > TimerOutput objects finalize timed values printed to the
> > screen by communicating over MPI in their destructors.
> > Since an exception is currently uncaught, this
> > synchronization (and subsequent output) will be skipped
> > to avoid a possible deadlock.
> > -
> >
> >
> > 
> > Exception on processing:
> >
> > 
> > An error occurred in line <1360> of file
>  in
> function
> > void dealii::ParameterHandler::print_parameters(const string&,
> dealii::ParameterHandler::OutputStyle) const
> > The violated condition was:
> > out
> > Additional information:
> > An input/output error has occurred. There are a number of reasons
> why this may be happening, both for reading and writing operations.
> >
> > If this happens during an operation that tries to read data: First, you
> may be trying to read from a file that doesn't exist or that is not
> readable given its file permissions. Second, deal.II uses this error at
> times if it tries to read information from a file but where the information
> in the file does not correspond to the expected format. An example would be
> a truncated file, or a mesh file that contains not only sections that
> describe the vertices and cells, but also sections for additional data that
> deal.II does not understand.
> >
> > If this happens during an operation that tries to write data: you may be
> trying to write to a file to which file or directory permissions do not
> allow you to write. A typical example is where you specify an output file
> in a directory that does not exist.
> > 
> >
> >
> > 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/d102ed42-8257-4674-a900-1e6337af2849o%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/A09065B3-5AFF-4CD5-BA40-3EC1B31D6385%40gmail.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_OxbhQGZq4_Ms9OovTxux9WaJa5jHOVGgEodFJPSLbN_t4aw%40mail.gmail.com.


Re: [deal.II] step 70 9.2 version

2020-06-05 Thread luca.heltai
Yes. On it.

L.

> On 5 Jun 2020, at 18:21, Wolfgang Bangerth  wrote:
> 
> On 6/5/20 10:19 AM, luca.heltai wrote:
>> Wolfgang, it seems that indeed the default parameter file in 9.2 still 
>> contains `set Output directory = results`.:(
> 
> Want to move that to the 9.2.x branch in case we create a .1 release?
> 
> 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/2b049651-fe11-0be9-d096-4dc87c53190c%40colostate.edu.

-- 
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/6898F69A-E5F0-4D59-86A4-D962E828037E%40gmail.com.


[deal.II] Re: How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-05 Thread Lex Lee
Brilliant! Thanks a lot. -Lei Li

On Friday, June 5, 2020 at 4:49:56 AM UTC-7, Simon Sticko wrote:
>
> Hi,
> I suspect that the condition you have would be easier to enforce weakly by 
> adding terms to the weak formulation, as is done in e.g. discontinuous 
> Galerkin.
>
> Nevertheless, if you still want the normals at the nodes you can create a 
> "dummy" quadrature which has the nodes on the face as quadrature points:
>
> const FiniteElement  = ... // some element 
>
> const Quadrature quadrature(fe.get_unit_face_support_points());
>
> You can then use this quadrature in FEFaceValues to get the normals. Here, 
> the weights of the dummy quadrature are inf, but if the normals are 
> everything you need that isn't a problem.
>
> Best,
> Simon
>
> On Thursday, June 4, 2020 at 8:09:08 PM UTC+2, Lex Lee wrote:
>>
>> Hello Deal.II Users,
>>
>>
>> I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
>> v_s) \cdot n  on three vector variables at the interface with affine 
>> constraint class in Deal.II's library.
>>
>> (Where, V, v_s, and v_f are velocity vectors on two different domains,  
>> and they are coupled with each other at the interface; n is the normal 
>> vector; \phi_f is the volume fraction.)
>>
>>
>> I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
>> depending on the absolute values of n_x or n_y (n_x and n_y are the 
>> components at x, y directions of the normal vector n).
>>
>> Now, I have a problem with getting the normal vectors *at nodes *when 
>> playing with affine constraint within the fe_nothing and hp:finite element 
>> framework. The relevant function/class I have found in Deal.II's library 
>> all return the normal vector *at quadrature points,* not at nodes.
>>
>> Have you ever encountered a problem like this? Could you kindly share me 
>> your idea of handling this problem? Thousand of thanks. 
>>
>>
>> Best,
>>
>> Lei Li
>>
>>
>>

-- 
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/a2a816d5-2cf1-483f-a0c6-967992b10a20o%40googlegroups.com.


Re: [deal.II] step 70 9.2 version

2020-06-05 Thread Wolfgang Bangerth

On 6/5/20 10:19 AM, luca.heltai wrote:

Wolfgang, it seems that indeed the default parameter file in 9.2 still contains 
`set Output directory = results`.:(


Want to move that to the 9.2.x branch in case we create a .1 release?

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/2b049651-fe11-0be9-d096-4dc87c53190c%40colostate.edu.


Re: [deal.II] step 70 9.2 version

2020-06-05 Thread luca.heltai
Dear Heena, 

unfortunately, we failed in cherry picking a default value in the parameter 
file. 

The generated parameter handler tries to write output files in a `results` 
directory (as indicated in the default parameter file `set Output directory = 
results`), which however is not created by the installation. You can either 
change the parameter file and set the output directory to `.` or create the 
directory `results` in the location where you are running the program. 

Wolfgang, it seems that indeed the default parameter file in 9.2 still contains 
`set Output directory = results`. :(

L.


> On 5 Jun 2020, at 7:03, heena patel  wrote:
> 
> Dear all,
>  
> I had downloaded latest 9.2 version and had run 
> some tutorials successfully. When I try to run tutorial 70 it gives following 
> error. Kindly help me.
> 
> 
> TimerOutput objects finalize timed values printed to the
> screen by communicating over MPI in their destructors.
> Since an exception is currently uncaught, this
> synchronization (and subsequent output) will be skipped
> to avoid a possible deadlock.
> -
> 
> 
> 
> Exception on processing: 
> 
> 
> An error occurred in line <1360> of file 
>  in 
> function
> void dealii::ParameterHandler::print_parameters(const string&, 
> dealii::ParameterHandler::OutputStyle) const
> The violated condition was: 
> out
> Additional information: 
> An input/output error has occurred. There are a number of reasons why 
> this may be happening, both for reading and writing operations.
> 
> If this happens during an operation that tries to read data: First, you may 
> be trying to read from a file that doesn't exist or that is not readable 
> given its file permissions. Second, deal.II uses this error at times if it 
> tries to read information from a file but where the information in the file 
> does not correspond to the expected format. An example would be a truncated 
> file, or a mesh file that contains not only sections that describe the 
> vertices and cells, but also sections for additional data that deal.II does 
> not understand.
> 
> If this happens during an operation that tries to write data: you may be 
> trying to write to a file to which file or directory permissions do not allow 
> you to write. A typical example is where you specify an output file in a 
> directory that does not exist.
> 
> 
> 
> 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/d102ed42-8257-4674-a900-1e6337af2849o%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/A09065B3-5AFF-4CD5-BA40-3EC1B31D6385%40gmail.com.


[deal.II] Re: How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-05 Thread Simon Sticko
Hi,
I suspect that the condition you have would be easier to enforce weakly by 
adding terms to the weak formulation, as is done in e.g. discontinuous 
Galerkin.

Nevertheless, if you still want the normals at the nodes you can create a 
"dummy" quadrature which has the nodes on the face as quadrature points:

const FiniteElement  = ... // some element 

const Quadrature quadrature(fe.get_unit_face_support_points());

You can then use this quadrature in FEFaceValues to get the normals. Here, 
the weights of the dummy quadrature are inf, but if the normals are 
everything you need that isn't a problem.

Best,
Simon

On Thursday, June 4, 2020 at 8:09:08 PM UTC+2, Lex Lee wrote:
>
> Hello Deal.II Users,
>
>
> I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
> v_s) \cdot n  on three vector variables at the interface with affine 
> constraint class in Deal.II's library.
>
> (Where, V, v_s, and v_f are velocity vectors on two different domains,  
> and they are coupled with each other at the interface; n is the normal 
> vector; \phi_f is the volume fraction.)
>
>
> I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
> depending on the absolute values of n_x or n_y (n_x and n_y are the 
> components at x, y directions of the normal vector n).
>
> Now, I have a problem with getting the normal vectors *at nodes *when 
> playing with affine constraint within the fe_nothing and hp:finite element 
> framework. The relevant function/class I have found in Deal.II's library 
> all return the normal vector *at quadrature points,* not at nodes.
>
> Have you ever encountered a problem like this? Could you kindly share me 
> your idea of handling this problem? Thousand of thanks. 
>
>
> Best,
>
> Lei Li
>
>
>

-- 
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/ad68ea89-35dc-4f0d-a9a0-3eb2f2cedd59o%40googlegroups.com.


[deal.II] Re: hp fem error assigning Fourier

2020-06-05 Thread A.Z Ihsan
Hi Peter, 
thank you for the answer. Actually i did put the fe_series.h. 
I forgot to mention that the problem arise when i use template 
specialization by the end the implementation

#include 
#include 
#include 
#include 

using namespace dealii;

namespace hpfe{
template 
class HPSolver
{
public:
 HPSolver(
 const unsigned int max_fe_degree);
 //virtual ~HPSolver();

const hp::FECollection& get_fe_collection();
 const hp::QCollection& get_face_quadrature_collection();   
 
protected:
 hp::FECollection fe_collection;
 hp::QCollection quadrature_collection;
 hp::QCollection face_quadrature_collection;
 hp::QCollection  fourier_q_collection;
 std::unique_ptr> fourier;
 std::vector ln_k;
 Table>fourier_coefficients;
};

template 
HPSolver::HPSolver(
 const unsigned int max_degree)
{
 for (unsigned int degree=2; degree <= max_degree; ++degree)
   {
 fe_collection.push_back(FE_Q(degree));
 quadrature_collection.push_back(QGauss(degree+1));
 face_quadrature_collection.push_back(QGauss(degree+1));
   }
 const unsigned int N = max_degree;
 QGauss<1>  base_quadrature(2);
 QIterated quadrature(base_quadrature, N);
 for (unsigned int i = 0; i < fe_collection.size(); i++)
   fourier_q_collection.push_back(quadrature);
 std::vector n_coefficients_per_direction(fe_collection.size
(), N);
 fourier = std::make_unique>(n_coefficients_per_
direction, fe_collection, fourier_q_collection);
 //resize(fourier_coefficients, N);
}
}
template class hpfe::HPSolver<3, Vector> ;

can you try once more?

BR, 
ihsan


> On Friday, 5 June 2020 10:40:29 UTC+2, A.Z Ihsan wrote:
>>
>>
>> Hi All, 
>>
>> I am trying to implement hp-fem into my problem according to the step-27. 
>> But, i have an error when i am trying to compile, 
>>
>> error: no matching function for call to 'dealii::FESeries::Fourier<3, 
>>> 3>::Fourier(std::vector&, dealii::hp::FECollection<3, 3>&, 
>>> dealii::hp::QCollection<3>&)'
>>>  { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
>>
>>
>> i believe there is a mistake in assigning fourier, but i copied the 
>> step-27 exactly. 
>> Here is the code snippet... could someone help me?
>>
>> template 
>> class HPSolver
>> {
>> public:
>> HPSolver(
>> const unsigned int max_fe_degree);
>> virtual ~HPSolver();
>>
>> const hp::FECollection& get_fe_collection();
>> const hp::QCollection& get_face_quadrature_collection();   
>>  
>> protected:
>> hp::FECollection fe_collection;
>> hp::QCollection quadrature_collection;
>> hp::QCollection face_quadrature_collection;
>> hp::QCollection  fourier_q_collection;
>> std::unique_ptr> fourier;
>> std::vector ln_k;
>> Table>fourier_coefficients;
>> };
>>
>> template 
>> HPSolver::HPSolver(
>> const unsigned int max_degree,
>> :
>> max_fe_degree(max_degree)
>> {
>> for (unsigned int degree=2; degree <= max_fe_degree; ++degree)
>>   {
>> fe_collection.push_back(FE_Q(degree));
>> quadrature_collection.push_back(QGauss(degree+1));
>> face_quadrature_collection.push_back(QGauss(degree+1));
>>   }
>> const unsigned int N = max_fe_degree;
>> QGauss<1>  base_quadrature(2);
>> QIterated quadrature(base_quadrature, N);
>> for (unsigned int i = 0; i < fe_collection.size(); i++)
>>   fourier_q_collection.push_back(quadrature);
>> std::vector 
>> n_coefficients_per_direction(fe_collection.size(), N);
>> fourier = 
>> std_cxx14::make_unique>(n_coefficients_per_direction, 
>> fe_collection, fourier_q_collection);
>> resize(fourier_coefficients, N);
>> }
>>
>> BR, 
>> Ihsan
>>
>

-- 
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/18f66ec5-7283-476e-b643-63b693ca10f7o%40googlegroups.com.


[deal.II] Re: hp fem error assigning Fourier

2020-06-05 Thread 'peterrum' via deal.II User Group
Dear Ihsan,

I have no problem to compile the following code (your code with minor 
adjustments):


#include 
#include 
#include 
#include 

using namespace dealii;

template 
class HPSolver
{
public:
   HPSolver(
   const unsigned int max_fe_degree);
   //virtual ~HPSolver();

const hp::FECollection& get_fe_collection();
   const hp::QCollection& get_face_quadrature_collection();   
 
protected:
   hp::FECollection fe_collection;
   hp::QCollection quadrature_collection;
   hp::QCollection face_quadrature_collection;
   hp::QCollection  fourier_q_collection;
   std::unique_ptr> fourier;
   std::vector ln_k;
   Table>fourier_coefficients;
};

template 
HPSolver::HPSolver(
   const unsigned int max_degree)
{
   for (unsigned int degree=2; degree <= max_degree; ++degree)
 {
   fe_collection.push_back(FE_Q(degree));
   quadrature_collection.push_back(QGauss(degree+1));
   face_quadrature_collection.push_back(QGauss(degree+1));
 }
   const unsigned int N = max_degree;
   QGauss<1>  base_quadrature(2);
   QIterated quadrature(base_quadrature, N);
   for (unsigned int i = 0; i < fe_collection.size(); i++)
 fourier_q_collection.push_back(quadrature);
   std::vector n_coefficients_per_direction(fe_collection.size
(), N);
   fourier = std::make_unique>(
n_coefficients_per_direction, fe_collection, fourier_q_collection);
   //resize(fourier_coefficients, N);
}

int main()
{
   HPSolver<3,Vector > solver(3);
}


So my guess is that you have forgotten: `#include https://www.dealii.org/developer/doxygen/deal.II/fe__series_8h_source.html>
>`?

Hope this helps!

Peter

On Friday, 5 June 2020 10:40:29 UTC+2, A.Z Ihsan wrote:
>
>
> Hi All, 
>
> I am trying to implement hp-fem into my problem according to the step-27. 
> But, i have an error when i am trying to compile, 
>
> error: no matching function for call to 'dealii::FESeries::Fourier<3, 
>> 3>::Fourier(std::vector&, dealii::hp::FECollection<3, 3>&, 
>> dealii::hp::QCollection<3>&)'
>>  { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
>
>
> i believe there is a mistake in assigning fourier, but i copied the 
> step-27 exactly. 
> Here is the code snippet... could someone help me?
>
> template 
> class HPSolver
> {
> public:
> HPSolver(
> const unsigned int max_fe_degree);
> virtual ~HPSolver();
>
> const hp::FECollection& get_fe_collection();
> const hp::QCollection& get_face_quadrature_collection();   
>  
> protected:
> hp::FECollection fe_collection;
> hp::QCollection quadrature_collection;
> hp::QCollection face_quadrature_collection;
> hp::QCollection  fourier_q_collection;
> std::unique_ptr> fourier;
> std::vector ln_k;
> Table>fourier_coefficients;
> };
>
> template 
> HPSolver::HPSolver(
> const unsigned int max_degree,
> :
> max_fe_degree(max_degree)
> {
> for (unsigned int degree=2; degree <= max_fe_degree; ++degree)
>   {
> fe_collection.push_back(FE_Q(degree));
> quadrature_collection.push_back(QGauss(degree+1));
> face_quadrature_collection.push_back(QGauss(degree+1));
>   }
> const unsigned int N = max_fe_degree;
> QGauss<1>  base_quadrature(2);
> QIterated quadrature(base_quadrature, N);
> for (unsigned int i = 0; i < fe_collection.size(); i++)
>   fourier_q_collection.push_back(quadrature);
> std::vector 
> n_coefficients_per_direction(fe_collection.size(), N);
> fourier = 
> std_cxx14::make_unique>(n_coefficients_per_direction, 
> fe_collection, fourier_q_collection);
> resize(fourier_coefficients, N);
> }
>
> BR, 
> Ihsan
>

-- 
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/8312e8f9-6237-4c24-a452-6c445a609b73o%40googlegroups.com.


[deal.II] hp fem error assigning Fourier

2020-06-05 Thread A.Z Ihsan

Hi All, 

I am trying to implement hp-fem into my problem according to the step-27. 
But, i have an error when i am trying to compile, 

error: no matching function for call to 'dealii::FESeries::Fourier<3, 
> 3>::Fourier(std::vector&, dealii::hp::FECollection<3, 3>&, 
> dealii::hp::QCollection<3>&)'
>  { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }


i believe there is a mistake in assigning fourier, but i copied the step-27 
exactly. 
Here is the code snippet... could someone help me?

template 
class HPSolver
{
public:
HPSolver(
const unsigned int max_fe_degree);
virtual ~HPSolver();

const hp::FECollection& get_fe_collection();
const hp::QCollection& get_face_quadrature_collection();   
 
protected:
hp::FECollection fe_collection;
hp::QCollection quadrature_collection;
hp::QCollection face_quadrature_collection;
hp::QCollection  fourier_q_collection;
std::unique_ptr> fourier;
std::vector ln_k;
Table>fourier_coefficients;
};

template 
HPSolver::HPSolver(
const unsigned int max_degree,
:
max_fe_degree(max_degree)
{
for (unsigned int degree=2; degree <= max_fe_degree; ++degree)
  {
fe_collection.push_back(FE_Q(degree));
quadrature_collection.push_back(QGauss(degree+1));
face_quadrature_collection.push_back(QGauss(degree+1));
  }
const unsigned int N = max_fe_degree;
QGauss<1>  base_quadrature(2);
QIterated quadrature(base_quadrature, N);
for (unsigned int i = 0; i < fe_collection.size(); i++)
  fourier_q_collection.push_back(quadrature);
std::vector 
n_coefficients_per_direction(fe_collection.size(), N);
fourier = 
std_cxx14::make_unique>(n_coefficients_per_direction, 
fe_collection, fourier_q_collection);
resize(fourier_coefficients, N);
}

BR, 
Ihsan

-- 
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/3ee9b204-dd25-451b-b4fc-208a8c550ff4o%40googlegroups.com.