Need for simple applied examples

298 views
Skip to first unread message

Ладутенко Константин

unread,
Sep 8, 2014, 4:33:55 PM9/8/14
to dea...@googlegroups.com

Hi!

 First of all I would like to thank deal.II authors for a nice software and documentation. I am for sure not enough qualified in FEM to make any remarks, but still hope that there are some more users with similar problems.

 My problem is that I am overwhelmed with all these details needed to use deal.II

I should note that previously I had no problems learning new methods or software I want to use, no matter is it in C, C++, Fortran, Python, Bash, Lisp etc., using large and small libs in any case, software packages with and without GUI and so on. Usually at takes few hours or, if my goal is big, few days to learn what I need. However, after learning first steps from deal.II tutorial and brief look to some others, watching about 15 lectures of Wolfgang I still not really sure how to "deal" with my task. Yes, I suppose that deal.II will be rather useful for me in long term and I hope I will mange with it one day, but... Hey! If you can teach your students to use deal.II than it should not be a problem to teach them to use emacs (and with help of CEDET you can have whole project aware code auto complete,  project source navigation, refactoring and so on in emacs too, remotely over ssh :) 

My point is that there is a need for number of simplified examples, which will not use all these advanced features, that deal.II has. I suppose, that a regular user do not want to become a FEM guru, he just want to solve his problem. And often there is no FEM guru near by... So it is important that all of these simplified examples should produce some meaningful result from practical point of view.

It is easy to find many hundreds of such examples and application notes, that come with Comsol, Ansys, CST, Lumerical and so on, ranging from simple beam deflection to complete device modeling. Usually it take less then an hour to follow guidelines and reproduce the result, including to play around changing this or that...   

Last but not least - there should be less math and more physics in the description, which is intuitively can be understood with applied scientist of engineer. Yes, same kind of equation can describe many effects in very different topics... But it should be much more easier to understand what is going on if you put Maxwell equations into deal.II instead of writing many math around "u" and "v" for the same problem.

I hope I can contribute to partly fill the gap between applied science and deal.II, which I found to be for myself. Still I hope, may be there is a solution I missed you can point me.

Best regards,
Ladutenko Konstantin,
Jr. Research Fellow
Ioffe Institute 
St. Petersburg, Russia

Wolfgang Bangerth

unread,
Sep 15, 2014, 5:36:12 PM9/15/14
to dea...@googlegroups.com

Ladutenko,
It all depends on what your goal is. If you want to compute the
deflection of a beam, or want to solve a Laplace equation with a
standard discretization on a mesh you have little control over with a
solver you can't change, then deal.II is not the right tool for you.
There are many good codes that can do that -- Comsol is one, but also
Ansys and Abaqus are excellent tools if you have an application that
fits what they can do.

The point of deal.II is a different one, though: we provide the tools if
you want to (i) build a FEM solver for problems for which there are not
yet any commercial and well developed codes, or (ii) you are a method
developer and want to play with different discretizations, different
solvers, etc. If these are your goals, then you will need to be able to
control the different parts of your application yourself, and in that
case a library like deal.II is a tool much better suited to the task
than is an application like Comsol.


> Last but not least - there should be less math and more physics in the
> description, which is intuitively can be understood with applied
> scientist of engineer. Yes, same kind of equation can describe many
> effects in very different topics... But it should be much more easier to
> understand what is going on if you put Maxwell equations into deal.II
> instead of writing many math around "u" and "v" for the same problem.

I think that depends on where you come from. In the end, handwaving is
not enough in documentation but one has to be precise to explain what
exactly a function does. This being mathematical software, "intuition"
does not suffice, but formulas are frequently necessary.


All of this said, there is no question that providing adequate
documentation for a tool like deal.II is about the biggest challenge we
have with software this large. This is why there are many layers of
documentation (videos, tutorial programs, documentation modules,
class-level documentation, function-level documentation) that provide
you with different views. We have spent many years writing this
documentation (my guess is that there are 5+ man years of work in the
documentation alone) but it is a process that is never finished and
where one can always (i) write more to explain better, (ii) provide
alternative points of entry to those looking at things from a different
direction. Any concrete suggestions on how to (and, in particular help
with) improve the documentation are always welcome, and we'd be happy to
work with you if you have ideas!

Best
Wolfgang


--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/

Tig

unread,
Sep 16, 2014, 5:44:42 AM9/16/14
to dea...@googlegroups.com
Hi Wolfgang,

 Thank you for your reply! Deal.II documentation is great, I really like your lectures, I will recommend them to my students.

1)  My goal is to correctly solve my problem as fast as possible, time needed to learn new tool included.

2) My choice is open source. We have few Comsol licenses usually not available for students (taken out for 'great and terrible' top science projects), this also leads to some troubles than you apply to use external cluster for computations. There is a number of other open source FEM codes (Elmer, GetFEM++, Moose, etc.), however as to me deal.ii seems to be a mature tool which I am learning with hope to use it many years after that.

3) I suppose that almost any project can benefit from large user base. It seems that deal.ii can solve many problems in different research areas. However average researcher with need of calculations will prefer to use matlab (or octave, scilab), may be some python codes (e.g. with help of sage) and sometimes some ancient Fortran codes - too large and awful to be maintained. GUI programs (Comsol, Ansys etc) are also an option.

It is a good way to start from basic elements of deal.ii, as it is done in stepXX tutorials and to go to some real world problems step by step. However you will need few weeks before your can start with your problem. Many possible users of deal.ii do not have so much time to be spend without any practical results. May be I am wrong, but a number of simple applied examples can be used as a kick start entry point to deal.ii. You can use them to copy-paste as building bricks for your exact (may be simplified) problem. It will not be solved in the best way deal.ii can provide,  but it will motivate to learn more details about how it should be done in deal.ii way.

4) My current research area of interest is metamaterials (with nonlinear effects coming soon), so Maxwell equations are one the first place. I am mostly interested in transient problems, however after 20 video lectures I am still not sure how i should treat them in deal.ii). This is my entry list of examples for electromagnetism (all of them can be found in almost any good book on the topic):
- Simulate dipole source  switching on in mirror box (zero boundary condition) until the field reaches corners of the box 
- Same in free space (PML boundary condition? I suppose this should be done with constrains in deal.ii, still do not know how).
- Steady state field of dipole source if free space (may be this should be the first example)
- Plane wave source in free space. Gaussian beam in free space.
- Transmission and reflection of normal incidence on dielectric interface, thin dielectric plate, multilayer coating. Results should be verified analytically. This can also be used as a high level test case for deal.ii  
- Get spectra from the Bragg mirror.
- Field distribution in Bragg resonator.
- Scattering from the sphere (Mie problem). Dielectric material, same with losses. Calculate total scattering, back- and forward- scattering, scattering angle distribution, verify with analytic formulas.  
- Same with sub-wavelength metal sphere (Drude model of metal, Lorentz model). Get out spectra of plasmonic resonance, verify position of resonance peak against formula. Change the host media. Calculate field amplification inside the sphere.
- Non-linear media: temporal and spatial solitions.
- Metamaterial cloak with Maxwell equations, as far as Comsol uses particle trace module for some reason http://www.comsol.com/model/ideal-cloak-11721
- etc

I can continue with this list, most of the situations are well known and has analytic solutions, so they can be used as a test case for deal.ii. I hope i will be able to contribute some of this examples as I learn deal.ii.


Best regards,
Kostya



--
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 a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/oNmugeCj9Ho/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Wolfgang Bangerth

unread,
Sep 17, 2014, 9:04:23 AM9/17/14
to dea...@googlegroups.com

Kostya,

> 3) I suppose that almost any project can benefit from large user base. It
> seems that deal.ii can solve many problems in different research areas.
> However average researcher with need of calculations will prefer to use matlab
> (or octave, scilab), may be some python codes (e.g. with help of sage) and
> sometimes some ancient Fortran codes - too large and awful to be maintained.
> GUI programs (Comsol, Ansys etc) are also an option.

Right. We don't want to make matlab/octave/etc obsolete. These are great
pieces of software and they do very well what they do. If you have a small
problem, using matlab is the right way to go. This includes the simple
five-point stencil on a uniform mesh -- this can be done quite easily in
matlab and there is nothing wrong with this.

As far as legacy codes are concerned, as long as they work, there is nothing
wrong with them. But if you want to build a new code that requires complex
situations, then that's what deal.II is there for.


> It is a good way to start from basic elements of deal.ii, as it is done in
> stepXX tutorials and to go to some real world problems step by step. However
> you will need few weeks before your can start with your problem. Many possible
> users of deal.ii do not have so much time to be spend without any practical
> results. May be I am wrong, but a number of simple applied examples can be
> used as a kick start entry point to deal.ii. You can use them to copy-paste as
> building bricks for your exact (may be simplified) problem. It will not be
> solved in the best way deal.ii can provide, but it will motivate to learn
> more details about how it should be done in deal.ii way.

It depends what your goal is. I typically go through steps 1-6 with the
students in my class within the first 3 or 4 weeks of a semester. This is in
addition to the other classes they take. In short courses where I have all
day, we are done with step-6 at the end of day 3. At that point you already
have a fully adaptive finite element solver for the Laplace equation.

I would venture the guess that the majority of people who use deal.II learn it
because they intend to use it for the next 2-3 years at least -- e.g., to
support research they do for a PhD thesis or projects beyond that. If you're
in for the long haul, then spending 3-4 weeks learning the basics are probably
well invested.

At the same time, it is certainly true that there are a significant number of
people who looked at deal.II and found it to be too complicated. Of course
we'd like to improve the documentation to make it simpler for these people to
use deal.II.
As with many other open source project, we suffer from a lack of manpower. If
someone had the time to write example programs in this vein, that would of
course be great. The ones you list are all in electromagnetics, so that might
suggest have a suite of EM examples/tutorials. As I said before, any help
would be greatly appreciated!

JT Hu

unread,
Sep 7, 2015, 2:20:57 PM9/7/15
to deal.II User Group
Hi Kostya,

It has been a year since you posted this.  Do you have any updates on developing Deal II methods for plasmonics/photonics calculations to share? If you have published any related work discuss the methods and coding, I will also be glad to read and cite!

Best,
Jingtian
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.

Konstantin Ladutenko

unread,
Sep 7, 2015, 5:26:55 PM9/7/15
to dea...@googlegroups.com
Hi,

Sorry, it was hard for me to find enough time to get really started with dell. Few things I was able to learn this summer you can find in this group and in updated step-6.

The next possible step for me is to solve Mie problem using deal.ii and compare against analytic solution. It something similar to H. Fahs self-written code you can find at http://hfahs.free.fr/software.html (and related bunch of publications http://hfahs.free.fr/pubs.html ). For sure I will present it here as soon as I have something to solve the problem of EM scattering correctly (and probably after that it can be added some nonlinearity for plasmonic nanoparticles).

I also found a book of Peter Monk "FEM for Maxwell equations" that is rather hard for me to read, however, I hope, it will give me answers to all my basic questions. There is also "Introduction to the Finite Element Method in Electromagnetics" by
Polycarpou which is much easier to read from my "applied" point of view.

Best regards,
Kostya


пн, 7 сент. 2015 г. в 21:21, JT Hu <jingt...@gmail.com>:

Mark Ma

unread,
Oct 16, 2017, 6:30:56 PM10/16/17
to deal.II User Group
Hi Konstantin,

Very very long time not contact with you, how are you doing? I am sorry I really have not too much time that could spend on Deal.II project, the Maxwell equation's problem and so on. 

what you propose here I think is right, at least in the view of very beginner of deal.II like me, the documentation in deal.ii is not hard to start with but really hard to understand and implement more advanced techniques like Adaptive mesh, hp refinement, PETsc / Trilinos. Since these techniques are introduced in different problems, very beginners may be expertise in optics but have to learn these techniques from tutorials of fludic-dynamics. Although from mathematics point of view, this is simple. I believe if there are some kind of simple examples implementing these techniques gradually would greatly decrease the learning and thinking time of beginners.

By the way, right now I am calculating temperature in MPI and unfortunately stucked. 😂

Best,
Mark
------------------
Laboratoire Hubert Curien, UMR CNRS 5516,
Bâtiment F 18 Rue du Professeur Benoît Lauras
42000 Saint-Etienne
FRANCE


在 2015年9月7日星期一 UTC+2下午11:26:55,Konstantin Ladutenko写道:
Reply all
Reply to author
Forward
0 new messages