Welcome to the forums. Please post in English or French.

You are not logged in.

#26 2018-07-02 14:33:43

Ioannis
Member
Registered: 2016-04-01
Posts: 42

Re: Code_Aster inside a Docker container available for everyone

The same applies for the path of the files in the export file.
Define them as if they are located at "/home/aster/shared/"


Aether Engineering
- aethereng.com -

Offline

#27 2018-07-02 14:48:35

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,535

Re: Code_Aster inside a Docker container available for everyone

ok i have got the points

but it seems that i have to run twice as_run to get the results file written to the directory i started the problem at first
or
it looks like there is fairly long timme (several teens of second) before the results are writtem to the directory i started the problem at first

one more question why does the .mess file ends with
<I>_EXIT_CODE = 2

i still have to get confidence to this way of running code_aster

Offline

#28 2018-07-02 15:11:25

Ioannis
Member
Registered: 2016-04-01
Posts: 42

Re: Code_Aster inside a Docker container available for everyone

I am afraid I cannot help on this one.
I get the results real-time in my folder and the mess file is as expected.
If you want to share the export file for a check, maybe there is something wrong there but I don't really know


Aether Engineering
- aethereng.com -

Offline

#29 2018-07-02 15:30:56

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,535

Re: Code_Aster inside a Docker container available for everyone

Ioannis

thanks for your valuable help

i found out that i have to type a Ctrl C in the terminal to really end up  the study and get the results properly saved

compared to a regular linux code_aster run of the same problem the results are ok
the speed is a few percent slower, quite good

i have to make more test but i am not really enthusiastic about docker code_aster at the time
main draw back is the black box side and the lack of a proper reliable doc

Offline

#30 2018-07-02 16:03:57

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

Thanks Ioannis for your help, and also many thanks also to Jean-Pierre for your valuable remarks.

Like Code_Aster, Docker itself as well as this image are open-source: their source codes are all deposited on Github.

Docker itself is rather well documented, see docs.docker.com

Concerning this Docker image for Code_Aster..it is currently just a personal project and of coruse lacks a comprehensive documentation and may also contain bugs or performance lags..I'm not myself a purely IT geek (like many others just a computational mechanical guy) or an expert on Docker. So I decided to open-source this project so that others can share their experiences.

Offline

#31 2018-07-02 18:00:35

Ioannis
Member
Registered: 2016-04-01
Posts: 42

Re: Code_Aster inside a Docker container available for everyone

tianyikillua wrote:

Thanks Ioannis for your help

You are welcome Tianyi, it is a pleasure to support and promote this work!

I find the value of this contribution to be very high because:

1. I cannot compare the potential problems one can have when trying to install code_aster and its prerequisites with the luxury of just downloading an image of the software. I mean the installation process is ok but for some distros or when you are re-installing another version or an additional component there are cases where one can face serious problems that are difficult to understand the origin and to overcome.

2. Code_aster does not come precompiled for Windows, let alone Mac OS. So it is a really great opportunity to promote its dissemination among the Windows users. And of course, I am really happy to be able to run even the parallel version in Windows!

Best,
Ioannis


Aether Engineering
- aethereng.com -

Offline

#32 2018-07-03 17:44:32

MateoMartinez123
Member
Registered: 2018-01-12
Posts: 17

Re: Code_Aster inside a Docker container available for everyone

tianyikillua wrote:

To your 1st question, make sure that you allocate enough CPU to your Docker environment. You can go to the settings and allocate the number of CPU's you want to have in your Docker containers.

To your 2nd question, you need to add

P version stable_mpi

in your export file.

Thank you, now seems that is running in more than 1 processor, but when reaches the analysis part, the next error message appears:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   ! <S> Exception utilisateur levee mais pas interceptee.                          !
   ! Les bases sont fermees.                                                        !
   ! Type de l'exception : error                                                    !
   !                                                                                !
   ! Erreur de programmation lors de l'assemblage :                                 !
   !    Les quantités que l'on cherche à assembler (MATR_ELEM ou VECT_ELEM) ont été !
   ! calculées avec au                                                              !
   !    moins 2 partitions différentes :  _0000002 et _0000004                      !
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Should I change the solver to mumps? In the test cases they uses the mult_front solver...

thank you so much and regards!

Offline

#33 2018-07-03 17:59:16

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

What is for sure is that the MULT_FRONT solver doesn't support MPI parallelism, while MUMPS does. See [u4.50.01]

MULT_FRONT only consider OpenMP parallelism.

So you could indeed try using MUMPS in parallel. Please let me know if it works. Anyway in the latest development version MUMPS is now the default solver due to its robustness.

Offline

#34 2018-07-03 18:20:11

MateoMartinez123
Member
Registered: 2018-01-12
Posts: 17

Re: Code_Aster inside a Docker container available for everyone

tianyikillua wrote:

What is for sure is that the MULT_FRONT solver doesn't support MPI parallelism, while MUMPS does. See [u4.50.01]

MULT_FRONT only consider OpenMP parallelism.

So you could indeed try using MUMPS in parallel. Please let me know if it works. Anyway in the latest development version MUMPS is now the default solver due to its robustness.

I already try it but it doesnt work, I dont know what else could be...

Thank you in advance! Regards!

Offline

#35 2018-07-03 23:15:46

MateoMartinez123
Member
Registered: 2018-01-12
Posts: 17

Re: Code_Aster inside a Docker container available for everyone

I had try a set of configurations but nothing seems to work, even the test cases for the parallel version gets the same error when I raise the number of processors (the default is 1) in the export file. I was wondering if maybe you have some testcases for me to run so I can check if the error belongs to my system configuration or image settings or something else. Thank you so much! I am really excited about this topic because I have spent almost 2 months trying to compile the parallel aster version.

I really appreciate any help you can provide me.

Regards!

Last edited by MateoMartinez123 (2018-07-03 23:31:17)

Offline

#36 2018-07-04 08:55:38

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

Hi Mateo,

To verify that the parallel version works, the simplest way is to run the so-called unit tests. So you can for instance run one or several tests that are specific for the parallel version.

You can generate a list of these parallel units tests using

as_run --vers stable_mpi --list --all --filter='"parallel" in testlist'

Then just pick a random test to run, for instance the rather involved mumps05c

as_run --vers stable_mpi --test mumps05c

I got the following results

              -- CODE_ASTER -- VERSION : EXPLOITATION (stable) --

                     Version 13.4.0 modifiée le 29/06/2017
                     révision 503b50e0ecda - branche 'v13'
                         Copyright EDF R&D 1991 - 2018

                    Exécution du : Wed Jul  4 07:49:04 2018
                        Nom de la machine : d4c0762afd16
                              Architecture : 64bit
                          Type de processeur : x86_64
    Système d'exploitation : Linux Ubuntu 16.04 xenial 4.9.87-linuxkit-aufs
                        Langue des messages : en (UTF-8)

                           Version de Python : 2.7.12
                           Version de NumPy : 1.11.0
                            Parallélisme MPI : actif
                         Rang du processeur courant : 0
                       Nombre de processeurs utilisés : 8
                          Parallélisme OpenMP : actif
                        Nombre de processus utilisés : 2
                     Version de la librairie HDF5 : 1.8.14
                      Version de la librairie MED : 3.2.1
                     Version de la librairie MFront : 3.0.0
                     Version de la librairie MUMPS : 5.1.1
                    Version de la librairie PETSc : 3.7.7p0
                     Version de la librairie SCOTCH : 6.0.4
                  Mémoire limite pour l'exécution : 1274.00 Mo
                   consommée par l'initialisation : 319.56 Mo
                  par les objets du jeu de commandes : 0.00 Mo
                 reste pour l'allocation dynamique : 952.79 Mo
                Taille limite des fichiers d'échange : 12.00 Go

 <I> <FIN> FERMETURE DE LA BASE "GLOBALE" EFFECTUEE.

 <FIN> Arrêt normal dans "FIN".
 <I> <FIN> ARRET NORMAL DANS "FIN" PAR APPEL A "JEFINI".


 ---------------------------------------------------------------------------------
                                            cpu     system    cpu+sys    elapsed
 ---------------------------------------------------------------------------------
   Preparation of environment              0.00       0.00       0.00       0.00
   Copying datas                           0.00       0.01       0.01       0.03
   Code_Aster run                       1505.91     421.43    1927.34     246.58
     Code_Aster run - rank #0             92.22      26.79     119.01       0.00
     Code_Aster run - rank #1             89.25      29.34     118.59       0.00
     Code_Aster run - rank #2             89.45      29.64     119.09       0.00
     Code_Aster run - rank #3             96.95      22.62     119.57       0.00
     Code_Aster run - rank #4             89.74      28.97     118.71       0.00
     Code_Aster run - rank #5             91.54      26.38     117.92       0.00
     Code_Aster run - rank #6             94.98      23.85     118.83       0.00
     Code_Aster run - rank #7             98.10      20.41     118.51       0.00
   Copying results                         0.00       0.00       0.00       0.00
 ---------------------------------------------------------------------------------
   Total                                1505.96     421.49    1927.45     246.79
 ---------------------------------------------------------------------------------
 ---------------------------------------------------------------------------------
   (*) cpu and system times may be not correctly counted using mpirun.

as_run 1.13.10

------------------------------------------------------------
--- DIAGNOSTIC JOB : <A>_ALARM
------------------------------------------------------------

So it runs fine (only ALARM, not ERROR), even with 8 MPI cores mixed with 2 OpenMP threads...while I only allocated 4 CPU's to Docker.

As reported on github.com/tianyikillua/code_aster_on_docker, all the unit tests are passing, which include all parallel ones, except those that require a specific module (europlexus, etc).

Last edited by tianyikillua (2018-07-04 08:57:24)

Offline

#37 2018-07-06 21:27:53

marchandp
Member
Registered: 2011-07-25
Posts: 2

Re: Code_Aster inside a Docker container available for everyone

Hello,

thank you for the code_aster docker image, will be very usefull.
I have been able to run the container and execute a  test with as_run inside it.

Could you provide  an example command to execute  aster container passing arguments from the command line?

something probably close to

docker run -ti --rm -v $pwd:$pwd quay.io/tianyikillua/code_aster  as_run --test forma02a
but my command currently does not work.
Regards,

Offline

#38 2018-07-06 22:25:10

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

Hello

You can do

docker run --rm quay.io/tianyikillua/code_aster "/home/aster/aster/bin/as_run --test forma02a"

To directly run a test without opening an interative shell

Or if you want to run `test.export` in your current directory (pwd), do

docker run --rm -v $(pwd):/home/aster/shared -w /home/aster/shared quay.io/tianyikillua/code_aster "/home/aster/aster/bin/as_run test.export"

Currently you have to specify the absolute path to as_run (/home/aster/aster/bin/as_run). The bashrc file is not loaded by doing this...maybe I need to modify the `.profile` file??? To investigate.

Last edited by tianyikillua (2018-07-07 11:21:45)

Offline

#39 2018-07-10 21:29:01

marchandp
Member
Registered: 2011-07-25
Posts: 2

Re: Code_Aster inside a Docker container available for everyone

thank you for your precise answer:

docker run --rm -v $(pwd):/app -w /app quay.io/tianyikillua/code_aster "/home/aster/aster/bin/as_run export_calculContraintes.txt"

first try: success!

Offline

#40 2018-08-12 20:36:49

Frederic.renou
Member
From: paris
Registered: 2009-02-26
Posts: 154
Website

Re: Code_Aster inside a Docker container available for everyone

Hello

This is a great new thanks for sharing your work this is so helpfull!

for your information I tried the salome_meca and they where some missing lib I solved it with:

apt-get install libglu1-mesa libGLU libxmu6 net-tools



regards


fred

Offline

#41 2018-08-14 15:06:31

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

Hi,

Thanks for the information. Which test cases failed because of these packages?

Using the latest packages (stable and testing) (code-aster.org/spip.php?article1078), I updated the stable Docker image (to 13.6) and also added a new image for the testing version 14.2. They should be functional in 2 hours (around 14 August 2018 at 18:00 UTC+2 Paris time); currently they are being built for the last time.

Again, both the sequantial and the parallel versions are available for the stable version.

Only the sequential version is current available for the testing version though.

Cheeeers,

Tianyi

Offline

#42 2019-02-07 15:57:35

llionevans
Member
Registered: 2018-07-27
Posts: 1

Re: Code_Aster inside a Docker container available for everyone

Out of interest, have you tried doing this for the whole Salome-Meca package or just Code_Aster?

Offline

#43 2019-02-08 09:22:33

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

1. If you mean using the officially compiled (using intel compilers) code_aster contained in the salome_meca package, there is already such Docker image quay.io/tianyikillua/salome_meca, where you can directly use the "as_run" command

2. If you mean using the GUI interface of salome_meca through Docker, there are lots of graphical issues (see for instance github.com/tianyikillua/code_aster_on_docker/issues/4, but also reported elsewhere) and there may be not a robust way to do this

Offline

#44 2019-06-03 16:10:40

sb1966
Member
Registered: 2015-03-16
Posts: 87

Re: Code_Aster inside a Docker container available for everyone

Dear All,

Congratulations to you all for this great work and useful feed back. Though I have not used it yet, I think, it is a great tool and has the potential to be a widely used one. I am saying this due to the following reasons, based on my experience with many of my students:
1) Many students, initially, have a phobia for Linux, which is a usual phenomenon.
2) For introductory FEM course at undergraduate level, many students hesitate to venture into the beautiful Linux world.
3) Using VM puts heavy load on common PCs/Laptops normally used by students, and make the solution pretty slow; the system hangs many a times.
4) Code-aster and Salome-Meca for windows (http*//code-aster-windows.com) are promising, but at present has some issues. Few of my students could not get results for STAT_NON_LINE in a parametric study, using astk in Windows 10. However, the same astk file (with path adjusted) gave appropriate results in Linux (UBUNTU18.04).
5) Even in Linux, change of Distribution creates problems due to changed library, default python version etc., as mentioned earlier in this thread.

These clearly indicates the advantages of docker, to run Code-aster in all platforms.

Now, I would like to know, whether  only as_run option is available or also astk way of running a study is possible.

With thanks and regards.

Sukumar

Offline

#45 2019-06-14 08:29:54

tianyikillua
Member
From: Paris
Registered: 2017-11-06
Posts: 57

Re: Code_Aster inside a Docker container available for everyone

Dear Sukumar,

Thank you for your remarks. As a matter of fact you can use `astk` with this Docker image, even under Windows.

59491059-7323d200-8e86-11e9-8bba-13f41012236f.png

1. For Windows users, download and open a X11 server via MobaXterm or vcXsrc, etc.
2. Get your IP address
3. Run (here for Windows users, note %cd%) in the directory containing simulations files

docker run -ti --rm -e DISPLAY=[YOUR IP ADDRESS]:0 -v %cd%:/home/aster/shared -w /home/aster/shared quay.io/tianyikillua/code_aster

4. Run `astk` in your terminal. Voilà

Offline

Board footer