- problem can be now represented using potential energy or residual

force vector, autodiff takes care of linearization

- elasticity equations are now solved using e.g. principle of minimum
  potential energy. syntax is quite good, see notebook.

- updated how to interpolate fields, by introducing function spaces.
  syntax is now good. still have to figure out how to do time derivatives

- etc. etc. tutorial is broken at the moment, i took of get_lhs and
  get_rhs because they didn't really work.
This commit is contained in:
Jukka Aho
2015-10-26 05:40:41 +02:00
parent 2c11b2b2b2
commit 016e3cd8bf
15 changed files with 1870 additions and 826 deletions
@@ -0,0 +1,39 @@
# heat source f=12
DEBUT()
MAIL = LIRE_MAILLAGE()
MO = AFFE_MODELE(
MAILLAGE=MAIL,
AFFE = _F(MAILLE='E1', PHENOMENE='THERMIQUE', MODELISATION='PLAN'))
MAT = DEFI_MATERIAU(
THER = _F(LAMBDA = 6.0))
CHMAT = AFFE_MATERIAU(
MAILLAGE = MAIL,
AFFE = _F(MAILLE = 'E1', MATER = MAT))
BC = AFFE_CHAR_THER( # Dirichlet boundary condition on 0 <= X <= 1, Y = 1
MODELE = MO,
TEMP_IMPO = (_F(NOEUD = ('N3','N4'), TEMP=0)))
# Heat source f = 12
LO = AFFE_CHAR_THER(
MODELE = MO,
SOURCE = _F(MAILLE='E1', SOUR=12.0))
RESU = THER_LINEAIRE(
MODELE=MO,
CHAM_MATER=CHMAT,
EXCIT=(
_F(CHARGE=BC),
_F(CHARGE=LO)))
IMPR_RESU(
MODELE = MO,
FORMAT = 'RESULTAT',
RESU = _F(RESULTAT = RESU))
FIN()
@@ -0,0 +1,13 @@
COOR_2D
N1 0.0 0.0
N2 1.0 0.0
N3 1.0 1.0
N4 0.0 1.0
FINSF
QUAD4
E1 N1 N2 N3 N4
FINSF
FIN
@@ -0,0 +1,92 @@
-- CODE_ASTER -- VERSION : EXPLOITATION (stable) --
Version 11.4.0 du 05/06/2013
Copyright EDF R&D 1991 - 2015
Exécution du : Fri Oct 23 23:35:34 2015
Nom de la machine : jukka-desktop
Architecture : 64bit
Type de processeur : x86_64
Système d'exploitation : Linux 3.13.0-66-generic
Langue des messages : en (UTF-8)
!------------------------------------------------------------------------------------!
! <A> <SUPERVIS2_2> !
! !
! Vous utilisez une vieille version de Code_Aster. !
! !
! En mettant à jour votre version, vous bénéficierez des dernières améliorations !
! apportées au code depuis 15 mois. !
! Si vous avez des développements privés, vous risquez d'avoir un travail !
! important de portage si vous ne suivez pas les mises à jour. !
! !
! !
! Ceci est une alarme. Si vous ne comprenez pas le sens de cette !
! alarme, vous pouvez obtenir des résultats inattendus ! !
!------------------------------------------------------------------------------------!
Parallélisme MPI : inactif
Parallélisme OpenMP : actif
Nombre de processus utilisés : 1
Version de la librairie HDF5 : 1.8.8
Version de la librairie MED : 3.0.6
Librairie MUMPS : installée
Version de la librairie SCOTCH : 5.1.10
Mémoire limite pour l'exécution : 4096.00 Mo
consommée par l'initialisation : 197.46 Mo
par les objets du jeu de commandes : 1.15 Mo
reste pour l'allocation dynamique : 3897.26 Mo
Taille limite des fichiers d'échange : 48.00 Go
--------------------------------------------------------------------------------
ASTER 11.04.00 CONCEPT RESU CALCULE LE 23/10/2015 A 23:35:34 DE TYPE EVOL_THER
======>
------>
CHAMP AUX NOEUDS DE NOM SYMBOLIQUE TEMP
NUMERO D'ORDRE: 0 INST: 0.00000000000000E+00
NOEUD TEMP
N1 1.00000000000000E+00
N2 1.00000000000000E+00
N3 1.11022302462516E-16
N4 1.11022302462516E-16
<I> <FIN> FERMETURE DE LA BASE "GLOBALE" EFFECTUEE.
<FIN> Arrêt normal dans "FIN".
<I> <FIN> ARRET NORMAL DANS "FIN" PAR APPEL A "JEFINI".
<I> <FIN> MEMOIRE JEVEUX MINIMALE REQUISE POUR L'EXECUTION : 20.87 Mo
<I> <FIN> MEMOIRE JEVEUX OPTIMALE REQUISE POUR L'EXECUTION : 27.32 Mo
<I> <FIN> MAXIMUM DE MEMOIRE UTILISEE PAR LE PROCESSUS LORS DE L'EXECUTION : 226.60 Mo
********************************************************************************
* COMMAND : USER : SYSTEM : USER+SYS : ELAPSED *
********************************************************************************
* init (jdc) : 0.15 : 0.02 : 0.17 : 0.17 *
* . compile : 0.00 : 0.00 : 0.00 : 0.00 *
* . exec_compile : 0.05 : 0.01 : 0.06 : 0.05 *
* . report : 0.00 : 0.00 : 0.00 : 0.01 *
* . build : 0.00 : 0.00 : 0.00 : 0.00 *
* DEBUT : 0.01 : 0.02 : 0.03 : 0.03 *
* LIRE_MAILLAGE : 0.00 : 0.00 : 0.00 : 0.01 *
* AFFE_MODELE : 0.00 : 0.00 : 0.00 : 0.00 *
* DEFI_MATERIAU : 0.00 : 0.00 : 0.00 : 0.00 *
* AFFE_MATERIAU : 0.01 : 0.00 : 0.01 : 0.00 *
* AFFE_CHAR_THER : 0.00 : 0.00 : 0.00 : 0.01 *
* AFFE_CHAR_THER : 0.00 : 0.00 : 0.00 : 0.00 *
* THER_LINEAIRE : 0.01 : 0.00 : 0.01 : 0.01 *
* IMPR_RESU : 0.01 : 0.00 : 0.01 : 0.00 *
* FIN : 0.01 : 0.01 : 0.02 : 0.02 *
* . part Superviseur : 0.17 : 0.04 : 0.21 : 0.21 *
* . part Fortran : 0.04 : 0.01 : 0.05 : 0.04 *
********************************************************************************
* TOTAL_JOB : 0.21 : 0.05 : 0.26 : 0.25 *
********************************************************************************
@@ -0,0 +1,40 @@
# Flux q=6 on free boundary
# B1 = boundary element
DEBUT()
MAIL = LIRE_MAILLAGE()
MO = AFFE_MODELE(
MAILLAGE=MAIL,
AFFE = _F(MAILLE=('B1', 'E1'), PHENOMENE='THERMIQUE', MODELISATION='PLAN'))
MAT = DEFI_MATERIAU(
THER = _F(LAMBDA = 6.0))
CHMAT = AFFE_MATERIAU(
MAILLAGE = MAIL,
AFFE = _F(MAILLE = 'E1', MATER = MAT))
BC = AFFE_CHAR_THER( # Dirichlet boundary condition on 0 <= X <= 1, Y = 1
MODELE = MO,
TEMP_IMPO = (_F(NOEUD = ('N3','N4'), TEMP=0)))
# Heat flux on free boundary
LO = AFFE_CHAR_THER(
MODELE = MO,
FLUX_REP = _F(MAILLE='B1', FLUN=6))
RESU = THER_LINEAIRE(
MODELE=MO,
CHAM_MATER=CHMAT,
EXCIT=(
_F(CHARGE=BC),
_F(CHARGE=LO)))
IMPR_RESU(
MODELE = MO,
FORMAT = 'RESULTAT',
RESU = _F(RESULTAT = RESU))
FIN()
@@ -0,0 +1,17 @@
COOR_2D
N1 0.0 0.0
N2 1.0 0.0
N3 1.0 1.0
N4 0.0 1.0
FINSF
QUAD4
E1 N1 N2 N3 N4
FINSF
SEG2
B1 N1 N2
FINSF
FIN
@@ -0,0 +1,92 @@
-- CODE_ASTER -- VERSION : EXPLOITATION (stable) --
Version 11.4.0 du 05/06/2013
Copyright EDF R&D 1991 - 2015
Exécution du : Fri Oct 23 23:52:48 2015
Nom de la machine : jukka-desktop
Architecture : 64bit
Type de processeur : x86_64
Système d'exploitation : Linux 3.13.0-66-generic
Langue des messages : en (UTF-8)
!------------------------------------------------------------------------------------!
! <A> <SUPERVIS2_2> !
! !
! Vous utilisez une vieille version de Code_Aster. !
! !
! En mettant à jour votre version, vous bénéficierez des dernières améliorations !
! apportées au code depuis 15 mois. !
! Si vous avez des développements privés, vous risquez d'avoir un travail !
! important de portage si vous ne suivez pas les mises à jour. !
! !
! !
! Ceci est une alarme. Si vous ne comprenez pas le sens de cette !
! alarme, vous pouvez obtenir des résultats inattendus ! !
!------------------------------------------------------------------------------------!
Parallélisme MPI : inactif
Parallélisme OpenMP : actif
Nombre de processus utilisés : 1
Version de la librairie HDF5 : 1.8.8
Version de la librairie MED : 3.0.6
Librairie MUMPS : installée
Version de la librairie SCOTCH : 5.1.10
Mémoire limite pour l'exécution : 4096.00 Mo
consommée par l'initialisation : 197.46 Mo
par les objets du jeu de commandes : 1.14 Mo
reste pour l'allocation dynamique : 3897.26 Mo
Taille limite des fichiers d'échange : 48.00 Go
--------------------------------------------------------------------------------
ASTER 11.04.00 CONCEPT RESU CALCULE LE 23/10/2015 A 23:52:48 DE TYPE EVOL_THER
======>
------>
CHAMP AUX NOEUDS DE NOM SYMBOLIQUE TEMP
NUMERO D'ORDRE: 0 INST: 0.00000000000000E+00
NOEUD TEMP
N1 1.00000000000000E+00
N2 1.00000000000000E+00
N3 5.55111512312578E-17
N4 5.55111512312578E-17
<I> <FIN> FERMETURE DE LA BASE "GLOBALE" EFFECTUEE.
<FIN> Arrêt normal dans "FIN".
<I> <FIN> ARRET NORMAL DANS "FIN" PAR APPEL A "JEFINI".
<I> <FIN> MEMOIRE JEVEUX MINIMALE REQUISE POUR L'EXECUTION : 21.00 Mo
<I> <FIN> MEMOIRE JEVEUX OPTIMALE REQUISE POUR L'EXECUTION : 27.32 Mo
<I> <FIN> MAXIMUM DE MEMOIRE UTILISEE PAR LE PROCESSUS LORS DE L'EXECUTION : 226.59 Mo
********************************************************************************
* COMMAND : USER : SYSTEM : USER+SYS : ELAPSED *
********************************************************************************
* init (jdc) : 0.16 : 0.01 : 0.17 : 0.17 *
* . compile : 0.00 : 0.00 : 0.00 : 0.00 *
* . exec_compile : 0.04 : 0.01 : 0.05 : 0.06 *
* . report : 0.01 : 0.00 : 0.01 : 0.00 *
* . build : 0.00 : 0.00 : 0.00 : 0.00 *
* DEBUT : 0.02 : 0.01 : 0.03 : 0.04 *
* LIRE_MAILLAGE : 0.00 : 0.00 : 0.00 : 0.00 *
* AFFE_MODELE : 0.00 : 0.00 : 0.00 : 0.00 *
* DEFI_MATERIAU : 0.00 : 0.00 : 0.00 : 0.00 *
* AFFE_MATERIAU : 0.00 : 0.00 : 0.00 : 0.01 *
* AFFE_CHAR_THER : 0.01 : 0.00 : 0.01 : 0.00 *
* AFFE_CHAR_THER : 0.00 : 0.00 : 0.00 : 0.00 *
* THER_LINEAIRE : 0.01 : 0.01 : 0.02 : 0.02 *
* IMPR_RESU : 0.00 : 0.00 : 0.00 : 0.00 *
* FIN : 0.01 : 0.01 : 0.02 : 0.03 *
* . part Superviseur : 0.18 : 0.03 : 0.21 : 0.23 *
* . part Fortran : 0.03 : 0.02 : 0.05 : 0.04 *
********************************************************************************
* TOTAL_JOB : 0.21 : 0.05 : 0.26 : 0.27 *
********************************************************************************