Floquet periodic conditions and complex valued algebra

60 views
Skip to first unread message

Daniel Garcia

unread,
Jul 21, 2016, 1:13:16 PM7/21/16
to deal.II User Group
Hi all,

I'm an experimental physicist. Although I do some theoretical work as well. I'm looking for an opensource FEM library.

I took a look to deal.ii and it looks great. Before I start to use it I would like to know if you think that it is be possible do the following calculations.

If you think that it is possible to do the following calculations, I'll ask more specific questions in the future.

  1. Is it possible to work with complex valued algebra? I read in "projects ideas" that there is some progress in this area. Right now the approach is to solve two equations (Step 29). I understand that because deal.II is heavily templated it should be possible to use deal.ii with std::complex<double> 
  2. Is it possible to calculate the eigenvalues (step-36) of a complex valued equation/system?
  3. Would it be possible to calculate the eigenmodes of an structure with Floquet Periodic Boundary Conditions? It is like step.45 but I need to add a phase shift exp(-i theta). Because of the Floquet Periodic Conditions there will be real and imaginary eigenvalues. Probably the matrix of the system will be hermitian. Would it be possible to do this with deal.ii?
  4. I would like to do as well time domain and frequency domain calculations. For these calculations I need PMLs (perfectly matched layer). Is it possible to implement PMLs in deal.ii?
Thanks a lot,
Daniel

Daniel Garcia

unread,
Jul 21, 2016, 2:58:18 PM7/21/16
to deal.II User Group
Hi,

I forgot to mention that I work with the elastic wave equation in the frequency domain: u(x,y,z,t) = u(x,y,z)*exp(i*omega*t)

Thanks,
Daniel

Daniel Arndt

unread,
Jul 30, 2016, 8:15:37 AM7/30/16
to deal.II User Group
Daniel,

1.) You can use complex valued algebra if you split your problem into two equations. Apart from that most of the algebra objects can be used with std::complex<double>.
At the moment, this is not true for constraints given by a ConstraintMatrix object, but this is WIP (https://github.com/dealii/dealii/issues/1760).
2.) Using SLEPc it should be able to compute eigenvalues for a complex valued system
3.) As already mentioned at the moment you can't use std::complex in a ConstraintMatrix. If however, you are able to formulate your problem as a system of real valued problems 
you can use whatever (linear) boundary condition you want. You can use make_periodicity_constraints to setup the DoFs you want to constraint and modify the inhomogeneity afterwards suitably.
4.) If you can formulate your problem as PDE (in not more than 3D) you can likely use deal.II for solving it numerically.

Best,
Daniel

Daniel Garcia

unread,
Jul 31, 2016, 5:47:42 AM7/31/16
to deal.II User Group
Dear Daniel,

Thanks a lot for your answer. I will start to use deal.ii and I will come back with more specific questions.

Best,
Daniel
Reply all
Reply to author
Forward
0 new messages