ajout d'un nouveau test concernant l'utilisation d'une umat avec Herezh avec une loi thermo dépendante
This commit is contained in:
parent
c7be57bdd7
commit
176951e1e0
9 changed files with 813 additions and 0 deletions
|
@ -0,0 +1,116 @@
|
|||
###############################################################################################
|
||||
# Fichier de commande pour la visualisation elements finis #
|
||||
# Herezh++ V6.687 #
|
||||
# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ #
|
||||
# http://www-lg2m.univ-ubs.fr #
|
||||
###############################################################################################
|
||||
|
||||
|
||||
|
||||
debut_fichier_commande_visu # >>>>>> le mot cle: <debut_fichier_commande_visu>
|
||||
# permet au programme de se positionner au debut du fichier, il est indispensable
|
||||
|
||||
|
||||
# =================================================================================
|
||||
# || ***** demande d'une visualisation maple: ***** ||
|
||||
# =================================================================================
|
||||
# un mot cle de debut (debut_visualisation_maple)
|
||||
# un mot cle de fin ( fin_visualisation_maple)
|
||||
# la seule presence de ces deux mots cle suffit a activer la visualisation maple
|
||||
debut_visualisation_maple
|
||||
|
||||
# ----------------------------- definition de la liste des increments a balayer: ----------------
|
||||
debut_list_increment # un mot cle de debut de liste
|
||||
actif 1 # <0 ou 1> indique si l'ordre est actif ou non
|
||||
# une liste d'entier separee par des blancs, ou le mot cle (tous_les_increments)
|
||||
# un mot cle de fin de liste ( fin_list_increment)
|
||||
dernier_increment fin_list_increment
|
||||
|
||||
# ----------------------------- choix des maillages a visualiser: ----------------
|
||||
# la liste est facultative, par defaut la visualisation concerne le premier maillage
|
||||
debut_choix_maillage # un mot cle de debut,
|
||||
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
|
||||
# une liste d'entiers , puis <fin_choix_maillage>, sur une meme ligne
|
||||
1 fin_choix_maillage
|
||||
|
||||
# ----------------------------- definition des grandeurs a visualiser (maple): ----------------
|
||||
debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple),
|
||||
actif 1 # <0 ou 1> indique si l'ordre est actif ou non
|
||||
# les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin
|
||||
debut_grandeurs_globales fin_grandeurs_globales
|
||||
# ensuite pour chaque maillage:,
|
||||
# le numero du maillage <un entier>,
|
||||
# les infos pour la visualisation eventuelle des torseurs de reaction,
|
||||
# les infos pour la visualisation eventuelle aux noeud,
|
||||
# - tout d'abord les ddl principaux (position, deplacements, temperature etc.)
|
||||
# - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses
|
||||
# les infos pour la visualisation eventuelle aux elements,
|
||||
# - tout d'abord les grandeurs generiques (deformations, contraintes etc.)
|
||||
# - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def
|
||||
# enfin un mot cle de fin ( fin_grandeurs_maple)
|
||||
1 # le numero de maillage
|
||||
# les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction
|
||||
# une liste de nom <chaine de caracteres >, puis <fin_list_torseur_reaction>
|
||||
debut_list_torseur_reaction fin_list_torseur_reaction
|
||||
debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds
|
||||
# debut de la liste de noeuds, puis une liste de numero de noeud <entier>, puis <fin_list_noeud>
|
||||
deb_list_noeud fin_list_noeud
|
||||
# debut de la liste des ref de noeuds, puis une liste de nom <chaine de caracteres >, puis <fin_list_ref_noeud>
|
||||
deb_list_ref_noeud fin_list_ref_noeud
|
||||
# debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis <fin_list_ddl_noeud>
|
||||
deb_list_ddl_noeud fin_list_ddl_noeud
|
||||
type_sortie_ddl_retenue= 0
|
||||
# debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis <fin_list_ddl_etendu_noeud>
|
||||
deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds
|
||||
# debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis <fin_list_GrandParticuliere_noeud>
|
||||
deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds
|
||||
fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds
|
||||
debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements
|
||||
# debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis <fin_list_NbElement_NbPtInteg>
|
||||
deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg
|
||||
# debut de la liste des ref d'elements, puis une liste de: nom <chaine de caracteres > + numero d'integ, puis <fin_list_ref_element>
|
||||
deb_list_ref_element fin_list_ref_element
|
||||
# debut de la liste des ref de ptinteg d'elements, puis une liste de: nom <chaine de caracteres > puis <fin_list_ref_ptinteg_element>
|
||||
deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element
|
||||
# debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis <fin_list_ddl_element>
|
||||
deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements
|
||||
# debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis <fin_list_GrandParticuliere_element>
|
||||
deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements
|
||||
# tableau de grandeurs evoluees aux elements a visualiser, un par maillage
|
||||
deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element
|
||||
fin_liste_ddl_ptinteg # fin des grandeurs aux elements
|
||||
# informations particuliere dans le cas ou il y a une animation
|
||||
# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements)
|
||||
# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent
|
||||
# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme.
|
||||
debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier
|
||||
# un parametre de pilotage du style de sortie
|
||||
parametre_style_de_sortie 1
|
||||
# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc
|
||||
# (tangent pour les coques, suivant la fibre moyenne pour les element 1D )
|
||||
tenseur_en_absolue_ 0
|
||||
fin_grandeurs_maple # fin des grandeurs a visualiser au format maple
|
||||
|
||||
# ----------------------------- definition des parametres d'animation: ----------------
|
||||
debut_animation # un mot cle de debut de liste (debut_animation)
|
||||
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
|
||||
# des parametres avec des valeurs: (sur une meme ligne)
|
||||
cycleInterval 8 # cycleInterval <un reel> (indique le temps en seconde du cycle de l'animation)
|
||||
fin_animation # un mot cle de fin
|
||||
|
||||
fin_visualisation_maple
|
||||
# =================================================================================
|
||||
# || fin de la visualisation maple ||
|
||||
# =================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
fin_fichier_commande_visu # <<<<<< le mot cle <fin_fichier_commande_visu> permet
|
||||
# l'arret de la lecture des commandes, apres ce mot cle, aucune commande n'est lu, de plus
|
||||
# sans le mot cle de fin de fichier, le fichier n'est pas valide
|
||||
|
||||
###############################################################################################
|
||||
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
#
|
||||
# etude de la traction simple d'un cube trilineaire en statique
|
||||
#
|
||||
#-------------------------------------
|
||||
# definition de de la dimension |
|
||||
# elle peut être 1 ou 2 ou 3 |
|
||||
#-------------------------------------
|
||||
|
||||
dimension 3
|
||||
|
||||
# def du niveau de commentaire
|
||||
niveau_commentaire 3 #0
|
||||
|
||||
|
||||
TYPE_DE_CALCUL
|
||||
|
||||
non_dynamique avec plus lectureCommandesVisu
|
||||
|
||||
< cube111.her
|
||||
|
||||
les_courbes_1D
|
||||
C1_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 0.006
|
||||
Coordonnee dim= 2 -29. 0.057
|
||||
Coordonnee dim= 2 -17. 0.127
|
||||
Coordonnee dim= 2 -13. 0.156
|
||||
Coordonnee dim= 2 -9. 0.282
|
||||
Coordonnee dim= 2 0.5 0.465
|
||||
Coordonnee dim= 2 10. 0.547
|
||||
Coordonnee dim= 2 20. 0.556
|
||||
Coordonnee dim= 2 80. 0.607
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
C2_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 0.255
|
||||
Coordonnee dim= 2 -29. 0.255
|
||||
Coordonnee dim= 2 -17. 0.255
|
||||
Coordonnee dim= 2 -13. 0.305
|
||||
Coordonnee dim= 2 -9. 0.101
|
||||
Coordonnee dim= 2 0.5 0.008
|
||||
Coordonnee dim= 2 10. 0.021
|
||||
Coordonnee dim= 2 20. 0.065
|
||||
Coordonnee dim= 2 80. 0.062
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
C3_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 23.128
|
||||
Coordonnee dim= 2 -29. 43.128
|
||||
Coordonnee dim= 2 -17. 23.128
|
||||
Coordonnee dim= 2 -13. 18.175
|
||||
Coordonnee dim= 2 -9. 10.426
|
||||
Coordonnee dim= 2 0.5 0.031
|
||||
Coordonnee dim= 2 10. 0.003
|
||||
Coordonnee dim= 2 20. 0.008
|
||||
Coordonnee dim= 2 80. 0.014
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
|
||||
choix_materiaux
|
||||
|
||||
#-------------------------------------
|
||||
# Elements | Materiau |
|
||||
#-------------------------------------
|
||||
E_to MATE2
|
||||
# E_to H_AVEC_T_C1_C2_C3
|
||||
# E_to acier
|
||||
|
||||
|
||||
materiaux ----------------
|
||||
|
||||
|
||||
MATE2 LOI_VIA_UMAT
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# | exemple de loi de comportement defini en Umat |
|
||||
# | via un processus qui dialogue avec herezh++ |
|
||||
# ----------------------------------------------------------
|
||||
nom_de_la_loi= H_AVEC_T_C1_C2_C3 categorie= CAT_THERMO_MECANIQUE dim_loi= 3
|
||||
# utilisation_umat_interne
|
||||
# nom_pipe_envoi= pipe_envoi nom_pipe_reception= pipe_reception
|
||||
fin_loi_Umat
|
||||
|
||||
|
||||
#---------------------------------------------------
|
||||
# Nom Materiau | Type loi | Potentiel |
|
||||
#---------------------------------------------------
|
||||
acier ISOELAS
|
||||
|
||||
#---------------------
|
||||
# E | nu |
|
||||
#---------------------
|
||||
210000. 0.3
|
||||
|
||||
#------------------------------------------
|
||||
# Nom Materiau | Type loi |
|
||||
#------------------------------------------
|
||||
|
||||
|
||||
#C1, C2, C3 dependant T
|
||||
H_AVEC_T_C1_C2_C3 HART_SMITH3D
|
||||
C1= C1_thermo_dependant_ C1_fonction_T
|
||||
C2= C2_thermo_dependant_ C2_fonction_T
|
||||
C3= C3_thermo_dependant_ C3_fonction_T
|
||||
K= 0 type_potvol_ 4
|
||||
|
||||
|
||||
masse_volumique
|
||||
#-----------
|
||||
# RHO |
|
||||
#-----------
|
||||
E_to 1.00
|
||||
|
||||
charges
|
||||
#-----------------------------------------------------------------
|
||||
# Noeuds | Type de force : | Vecteur force |
|
||||
# | pression,ponctuelle,uniforme | |
|
||||
#-----------------------------------------------------------------
|
||||
#F_haut UNIFORME 0.0 0.0 1.40
|
||||
|
||||
|
||||
blocages
|
||||
#--------------------------------------------------------------------
|
||||
# Noeuds blocage
|
||||
#-------------------------------------------------------------------
|
||||
N_tout 'TEMP= 80'
|
||||
|
||||
N_bas UZ # blocage avec deux symétries
|
||||
N_arriere UY # une par rapport au plan xz
|
||||
N_droit UX # une par rapport au plan yz
|
||||
N_haut 'UZ=0.2' # même déplacement suivant les trois plans restant
|
||||
|
||||
|
||||
typecharge ------------
|
||||
#-------------------------
|
||||
# NOM DU | temps |
|
||||
# TYPE | |
|
||||
#------------------------
|
||||
TYPE1 1.
|
||||
|
||||
controle ------------
|
||||
#---------------------------
|
||||
# PARAMETRE | VALEUR |
|
||||
#---------------------------
|
||||
SAUVEGARDE 1
|
||||
DELTAtMAXI 0.1
|
||||
TEMPSFIN 1.
|
||||
DELTAt 0.1
|
||||
MULTIPLICATEUR 10.
|
||||
ITERATIONS 20
|
||||
PRECISION 1.e-3
|
||||
NORME Residu/PVExterne
|
||||
VARIATION_CHARGE_EXTERNE_SUR_RAIDEUR 1
|
||||
|
||||
|
||||
|
||||
para_pilotage_equi_global ------------
|
||||
#---------------------------
|
||||
# PARAMETRE | VALEUR |
|
||||
#---------------------------
|
||||
FACTEUR_AUGMENTATION 1.
|
||||
NB_BONNE_CONVERGENCE 20
|
||||
NB_ITER_POUR_BONNE_CONVERGENCE 1
|
||||
INIT_COMP_TANGENT_SIMPLE -1
|
||||
|
||||
|
||||
# resultats -----------
|
||||
#---------------------------
|
||||
# PARAMETRE | VALEUR |
|
||||
#---------------------------
|
||||
|
||||
resultats pas_de_sortie_finale_
|
||||
COPIE 0
|
||||
|
||||
|
||||
_fin_point_info_
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use English;
|
||||
use File::Basename;
|
||||
use Cwd;
|
||||
my $NOM_PROG = basename $PROGRAM_NAME;
|
||||
|
||||
#
|
||||
#
|
||||
# le but de ce script est de tuer (kill -9) le processus Herezh Umat_Hz.info
|
||||
# remarque : l executable Herezh a ete lance par le script LOI_VIA_UMAT_1.pretrait1 via
|
||||
# un lien symoblique dont le nom le rend facilement reperable pour faire un kill du processus
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
#chemin absolu vers l executable Herezh
|
||||
my $hzchemin = shift(@ARGV);
|
||||
|
||||
#nom du fichier .info
|
||||
my $finfo = shift(@ARGV);
|
||||
|
||||
#nom du fichier .log
|
||||
my $flog = shift(@ARGV);
|
||||
|
||||
|
||||
|
||||
#lien symbolique qui a ete utilise pour lancer le processus Herezh UMAT dans le script LOI_VIA_UMAT_1.pretrait1
|
||||
# (voir script LOI_VIA_UMAT_1.pretrait1)
|
||||
my $lien_symbolique_HZ = basename $hzchemin;
|
||||
$_ = basename cwd;
|
||||
$lien_symbolique_HZ = $_.'_'.$lien_symbolique_HZ;
|
||||
|
||||
|
||||
#recuperation du processus Herezh UMAT (par reconnaissance de la chaine $lien_symbolique_HZ)
|
||||
my @processus = qx(ps -U $ENV{USER} -o pid,%cpu,command | grep $lien_symbolique_HZ | grep -v grep);
|
||||
|
||||
|
||||
#si ce processus tourne encore, on le kill
|
||||
if($#processus != -1) {
|
||||
foreach my $processus (@processus) {
|
||||
next if(not $processus =~ /^\s*(\d+)/);
|
||||
my $pid = $1;
|
||||
kill("KILL", $pid);
|
||||
print "Attention (prog:$NOM_PROG) : le processus Herezh Umat_HZ.info tournait encore (suppression par kill -9)...\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
#reussite du script
|
||||
print "resultat posttrait : OK\n";
|
|
@ -0,0 +1,102 @@
|
|||
#!/usr/bin/env perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use English;
|
||||
use File::Basename;
|
||||
use Cwd;
|
||||
my $NOM_PROG = basename $PROGRAM_NAME;
|
||||
|
||||
#
|
||||
#
|
||||
# les buts de ce script sont :
|
||||
# 1- creer les pipes nommes pour le dialogue Herezh-Herezh (mkfifo)
|
||||
# 2- lancer le processus Herezh Umat_HZ.info (qui sert d UMAT pour le vrai calcul Herezh de ce test LOI_VIA_UMAT_1.info)
|
||||
# 3- s assurer que le processus Umat_HZ.info fonctionne avant de quitter
|
||||
#
|
||||
# remarque1 : on lance le processus Herezh Umat_HZ.info via le lien symbolique $lien_symbolique_HZ
|
||||
# dont le nom sera facile a reperer pour le script de post-traitement LOI_VIA_UMAT_1.posttrait1
|
||||
# (car le script LOI_VIA_UMAT_1.posttrait1 aura pour but de tuer ce processus apres le calcul LOI_VIA_UMAT_1.info)
|
||||
#
|
||||
# remarque2 : le processus Herezh Umat_HZ.info est lance dans un processus fils (fork) pour pouvoir le laisser
|
||||
# tourner en fond de tache et quitter ce script
|
||||
#
|
||||
|
||||
|
||||
#chemin absolu vers l executable Herezh
|
||||
my $hzchemin = shift(@ARGV);
|
||||
|
||||
#nom du fichier .info
|
||||
my $finfo = shift(@ARGV);
|
||||
|
||||
|
||||
|
||||
#forcer a vider le buffer (autoflush)
|
||||
$| = 1;
|
||||
|
||||
|
||||
|
||||
#creation des pipes nommes (mkfifo)
|
||||
system("mkfifo -m+wr Umat_envoi_Hz");
|
||||
if($!) {
|
||||
print "\nErreur (prog:$NOM_PROG) : probleme dans la creation du pipe nomme Umat_envoi_Hz ($!)...\n\n";
|
||||
print "resultat pretrait : ECHEC\n";
|
||||
exit;
|
||||
}
|
||||
system("mkfifo -m+wr Umat_reception_Hz");
|
||||
if($!) {
|
||||
print "\nErreur (prog:$NOM_PROG) : probleme dans la creation du pipe nomme Umat_reception_Hz ($!)...\n\n";
|
||||
print "resultat pretrait : ECHEC\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
#changement d extension (suppression de l extension .a_renommer pour faire de ce fichier un .info exploitable)
|
||||
system("mv -f Umat_HZ.info.a_renommer Umat_HZ.info");
|
||||
|
||||
|
||||
#lien symbolique vers Herezh pour rendre le nom de cette commande unique
|
||||
my $lien_symbolique_HZ = basename $hzchemin;
|
||||
$_ = basename cwd;
|
||||
$lien_symbolique_HZ = $_.'_'.$lien_symbolique_HZ;
|
||||
system("ln -s $hzchemin $lien_symbolique_HZ");
|
||||
|
||||
|
||||
#lancement du processus Herezh Umat dans un processus fils (fork)
|
||||
system("rm -f $lien_symbolique_HZ.com");
|
||||
my $pid_UMAT_HZ = fork();
|
||||
#
|
||||
#le bloc suivant ne concerne que le processus fils
|
||||
if($pid_UMAT_HZ == 0) {
|
||||
system("$lien_symbolique_HZ -f Umat_HZ.info");
|
||||
system("echo 1 > $lien_symbolique_HZ.com");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
#apres un temps de pause, on regarde si le processus Herezh tourne
|
||||
select(undef, undef, undef, 0.5);
|
||||
my $cpt_probleme = 0;
|
||||
while(join('', qx(ps | grep $lien_symbolique_HZ | grep -v grep)) eq '') {
|
||||
select(undef, undef, undef, 0.5);
|
||||
$cpt_probleme++;
|
||||
if($cpt_probleme == 50) {
|
||||
print "\nErreur (prog:$NOM_PROG) : le processus Herezh Umat_HZ.info ne se lance pas (ou alors s est arrete prematurement)...\n\n";
|
||||
print "resultat pretrait : ECHEC\n";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#apres un nouveau temps de pause, on regarde si le fichier $lien_symbolique_HZ.com a ete cree
|
||||
# si oui, ca veut dire que le processus Herezh Umat s est arrete => donc il y a un probleme
|
||||
select(undef, undef, undef, 0.5);
|
||||
if(-e "$lien_symbolique_HZ.com") {
|
||||
print "\nErreur (prog:$NOM_PROG) : le processus Herezh Umat_HZ.info s est peut-etre arrete prematurement...\n\n";
|
||||
print "resultat pretrait : ECHEC\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#reussite du script
|
||||
print "resultat pretrait : OK\n";
|
|
@ -0,0 +1,78 @@
|
|||
#fichier au format maple6
|
||||
###############################################################################################
|
||||
# Visualisation elements finis : Herezh++ V6.745 #
|
||||
# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ #
|
||||
# http://www-lg2m.univ-ubs.fr #
|
||||
###############################################################################################
|
||||
|
||||
|
||||
|
||||
# entete des donnees : informations gererales: on trouve successivement:
|
||||
# >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs
|
||||
# precedes du numero de colonne entre crochet
|
||||
# >> le nombre de maillages m, et dimension de l'espace de travail
|
||||
# puis pour chaque maillage,
|
||||
# >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit
|
||||
# correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions
|
||||
# des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment
|
||||
# puis pour chaque maillage
|
||||
# >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie ,
|
||||
# puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees
|
||||
# et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere)
|
||||
# precedes du numero de colonne correspondant entre crochet
|
||||
# puis pour chaque maillage
|
||||
# >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie ,
|
||||
# les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant
|
||||
# a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques,
|
||||
# on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl
|
||||
# chacun precedes du numero de colonne entre crochet
|
||||
# puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres),
|
||||
# suivi entre crochet, de la plage des numeros de colonnes, correspondant
|
||||
# chacun sur une ligne differentes
|
||||
# ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D:
|
||||
# tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2)
|
||||
# en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3)
|
||||
# non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3)
|
||||
# ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements,
|
||||
# ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique
|
||||
# ** ( cf: parametre_style_de_sortie = 0)
|
||||
|
||||
#====================================================================
|
||||
#|| recapitulatif des differentes grandeurs par colonne ||
|
||||
#====================================================================
|
||||
#---------------------------------- grandeur globales ------------------------------------
|
||||
#0 (nombre de grandeurs globales)
|
||||
#---------------------------------- maillage et dimension --------------------------------
|
||||
#1 3 (nombre de maillages et dimension)
|
||||
#---------------------------------- torseurs de reactions --------------------------------
|
||||
#0 0 (nombre de torseurs et nombre total de grandeurs associees)
|
||||
#
|
||||
#---------------------------------- grandeurs aux noeuds --------------------------------
|
||||
#0 0 (nombre de noeuds, nombre total de grandeurs associees)
|
||||
#---------------------------------- grandeurs aux elements ------------------------------
|
||||
#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles)
|
||||
# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS11 [6] EPS22 [7] EPS33 [8] SIG11
|
||||
#
|
||||
#
|
||||
#====================================================================
|
||||
#|| fin du recapitulatif des differentes grandeurs ||
|
||||
#====================================================================
|
||||
|
||||
# ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant
|
||||
# a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun
|
||||
# correspondant a un maillage. On trouve pour chaque enregistrement successivement :
|
||||
# s'il y a des grandeurs globales: le temps puis les grandeurs globales,
|
||||
# puis s'il y a des torseurs de reaction :
|
||||
# de nouveau le temps, les composantes de la resultante puis les composantes du moments
|
||||
# donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels
|
||||
# puis s'il y a des grandeurs aux noeuds: de nouveau le temps
|
||||
# les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud
|
||||
# puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds
|
||||
# puis s'il y a des grandeur aux elements:
|
||||
# le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques)
|
||||
# suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration
|
||||
# correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes
|
||||
# puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs
|
||||
# etc. pour tous les points d'integration - element
|
||||
|
||||
1.000000000000e+00 2.535879954109e+00 9.464032830629e+00 9.464101615138e+00 1.527727305432e-01 1.527727305432e-01 1.527777777778e-01 -6.884868259288e-06
|
|
@ -0,0 +1,50 @@
|
|||
------------------------------------------------------
|
||||
Auteur
|
||||
------------------------------------------------------
|
||||
Gérard Rio (gerard.rio@univ-ubs.fr)
|
||||
Julien Troufflard (troufflard@univ-ubs.fr)
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
Mots-cles
|
||||
------------------------------------------------------
|
||||
cube unitaire
|
||||
traction uniaxiale
|
||||
statique
|
||||
non_dynamique
|
||||
LOI_VIA_UMAT
|
||||
thermo dependance
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
But du test
|
||||
------------------------------------------------------
|
||||
test simple d une loi de comportement externe LOI_VIA_UMAT dans le cas
|
||||
d un dialogue Herezh-Herezh en prenant en compte une thermo dependance:
|
||||
""
|
||||
MAT_UMAT LOI_VIA_UMAT
|
||||
nom_de_la_loi= acier categorie= CAT_THERMO_MECANIQUE dim_loi= 3
|
||||
fin_loi_Umat
|
||||
""
|
||||
|
||||
------------------------------------------------------
|
||||
Description du calcul
|
||||
------------------------------------------------------
|
||||
mise en donnees :
|
||||
traction uniaxiale suivant Z sur un cube de coté 10 (1 element HEXAEDRE LINEAIRE)
|
||||
- loi hyper elastique HART_SMITH3D, avec les trois coefficients = une fonction de la temperature
|
||||
|
||||
NB: il est possible d'utiliser la loi en interne : cf. le fichier .info
|
||||
|
||||
-------------------------------------------------------
|
||||
Informations sur les fichiers facultatifs
|
||||
-------------------------------------------------------
|
||||
idem Test_R_LOI_VIA_UMAT_1
|
||||
|
||||
|
||||
-------------------------------------------------------
|
||||
Grandeurs de comparaison
|
||||
-------------------------------------------------------
|
||||
pour le point d integration 1 de l element 1 :
|
||||
- deformations : EPS11 EPS22 EPS33
|
||||
- contrainte : SIG11
|
|
@ -0,0 +1,104 @@
|
|||
#
|
||||
# l extension .a_renommer sera supprimee
|
||||
# pour faire de ce fichier un .info
|
||||
# (pour eviter d avoir 2 fichiers .info
|
||||
# au debut de ce test, car ce n est pas
|
||||
# autorise)
|
||||
#
|
||||
#
|
||||
|
||||
dimension 3
|
||||
|
||||
|
||||
niveau_commentaire 3
|
||||
|
||||
|
||||
TYPE_DE_CALCUL
|
||||
umat_abaqus
|
||||
|
||||
|
||||
noeuds
|
||||
1 NOEUDS
|
||||
1 0 0 0
|
||||
|
||||
elements
|
||||
1 ELEMENTS
|
||||
|
||||
1 POINT CONSTANT 1
|
||||
|
||||
|
||||
les_courbes_1D
|
||||
C1_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 0.006
|
||||
Coordonnee dim= 2 -29. 0.057
|
||||
Coordonnee dim= 2 -17. 0.127
|
||||
Coordonnee dim= 2 -13. 0.156
|
||||
Coordonnee dim= 2 -9. 0.282
|
||||
Coordonnee dim= 2 0.5 0.465
|
||||
Coordonnee dim= 2 10. 0.547
|
||||
Coordonnee dim= 2 20. 0.556
|
||||
Coordonnee dim= 2 80. 0.607
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
C2_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 0.255
|
||||
Coordonnee dim= 2 -29. 0.255
|
||||
Coordonnee dim= 2 -17. 0.255
|
||||
Coordonnee dim= 2 -13. 0.305
|
||||
Coordonnee dim= 2 -9. 0.101
|
||||
Coordonnee dim= 2 0.5 0.008
|
||||
Coordonnee dim= 2 10. 0.021
|
||||
Coordonnee dim= 2 20. 0.065
|
||||
Coordonnee dim= 2 80. 0.062
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
C3_fonction_T COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 -34. 23.128
|
||||
Coordonnee dim= 2 -29. 43.128
|
||||
Coordonnee dim= 2 -17. 23.128
|
||||
Coordonnee dim= 2 -13. 18.175
|
||||
Coordonnee dim= 2 -9. 10.426
|
||||
Coordonnee dim= 2 0.5 0.031
|
||||
Coordonnee dim= 2 10. 0.003
|
||||
Coordonnee dim= 2 20. 0.008
|
||||
Coordonnee dim= 2 80. 0.014
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
|
||||
choix_materiaux
|
||||
E_tout H_AVEC_T_C1_C2_C3
|
||||
|
||||
|
||||
materiaux
|
||||
|
||||
#C1, C2, C3 dependant T
|
||||
H_AVEC_T_C1_C2_C3 HART_SMITH3D
|
||||
C1= C1_thermo_dependant_ C1_fonction_T
|
||||
C2= C2_thermo_dependant_ C2_fonction_T
|
||||
C3= C3_thermo_dependant_ C3_fonction_T
|
||||
K= 0 type_potvol_ 4
|
||||
|
||||
masse_volumique
|
||||
E_tout 1.
|
||||
|
||||
|
||||
charges
|
||||
|
||||
|
||||
blocages
|
||||
|
||||
N_tout TEMP 0
|
||||
|
||||
|
||||
controle
|
||||
SAUVEGARDE 1
|
||||
|
||||
|
||||
resultats pas_de_sortie_finale_
|
||||
COPIE 0
|
||||
|
||||
|
||||
_fin_point_info_
|
|
@ -0,0 +1 @@
|
|||
LOI_VIA_UMAT_1
|
|
@ -0,0 +1,131 @@
|
|||
|
||||
#############################################################################
|
||||
# #
|
||||
# STAMM #
|
||||
# (maillage automatique de pieces simples) #
|
||||
#############################################################################
|
||||
# Copyright © 1997-2005 Gerard Rio, gerard.rio@univ-ubs.fr #
|
||||
# All rights reserved. http://www-lg2m.univ-ubs.fr/~rio #
|
||||
# #
|
||||
#############################################################################
|
||||
# version 02 , compatible avec la version Herezh++5.82
|
||||
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
# | construction automatique d'un maillage 3D |
|
||||
# | pour une utilisation par herezh++ |
|
||||
# ----------------------------------------------------------------
|
||||
# prisme de dimension : 10 x 10 x 10 ( 1 x 1 x 1 elements )
|
||||
# geometrie prismatique, decoupage en hexaedre(s), interpolation lineaire.
|
||||
|
||||
noeuds ------------
|
||||
8 NOEUDS
|
||||
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#|NO DU| X | Y | Z |
|
||||
#|NOEUD| | | |
|
||||
#---------------------------------------------------------------
|
||||
1 0 0 0
|
||||
2 0 0 10
|
||||
3 0 10 0
|
||||
4 0 10 10
|
||||
5 10 0 0
|
||||
6 10 0 10
|
||||
7 10 10 0
|
||||
8 10 10 10
|
||||
|
||||
# references des noeuds
|
||||
|
||||
N_avant 3 4 7 8
|
||||
N_arriere 1 2 5 6
|
||||
N_haut 2 4 6 8
|
||||
N_bas 1 3 5 7
|
||||
N_droit 1 2 3 4
|
||||
N_gauche 5 6 7 8
|
||||
N_haut_droit 2 4
|
||||
N_haut_gauche 6 8
|
||||
N_haut_arriere 2 6
|
||||
N_haut_avant 4 8
|
||||
N_bas_droit 1 3
|
||||
N_bas_gauche 5 7
|
||||
N_bas_arriere 1 5
|
||||
N_bas_avant 3 7
|
||||
N_arriere_droit 1 2
|
||||
N_arriere_gauche 5 6
|
||||
N_avant_droit 3 4
|
||||
N_avant_gauche 7 8
|
||||
N_haut_arriere_droit 2
|
||||
N_haut_arriere_gauche 6
|
||||
N_haut_avant_gauche 8
|
||||
N_haut_avant_droit 4
|
||||
N_bas_arriere_droit 1
|
||||
N_bas_arriere_gauche 5
|
||||
N_bas_avant_gauche 7
|
||||
N_bas_avant_droit 3
|
||||
N_to 1 2 3 4 5 6 7 8
|
||||
|
||||
|
||||
# les elements
|
||||
|
||||
elements ----------
|
||||
1 ELEMENTS
|
||||
#----------------------------------------------------------------------
|
||||
#| NO | | |
|
||||
#|ELTS | type element | Noeuds |
|
||||
#----------------------------------------------------------------------
|
||||
1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2
|
||||
|
||||
|
||||
|
||||
# references des elements
|
||||
|
||||
E_avant 1
|
||||
E_derriere 1
|
||||
E_haut 1
|
||||
E_bas 1
|
||||
E_droit 1
|
||||
E_gauche 1
|
||||
E_haut_droit 1
|
||||
E_haut_gauche 1
|
||||
E_haut_arriere 1
|
||||
E_haut_avant 1
|
||||
E_bas_droit 1
|
||||
E_bas_gauche 1
|
||||
E_bas_arriere 1
|
||||
E_bas_avant 1
|
||||
E_arriere_droit 1
|
||||
E_arriere_gauche 1
|
||||
E_avant_droit 1
|
||||
E_avant_gauche 1
|
||||
E_haut_arriere_droit 1
|
||||
E_haut_arriere_gauche 1
|
||||
E_haut_avant_gauche 1
|
||||
E_haut_avant_droit 1
|
||||
E_bas_arriere_droit 1
|
||||
E_bas_arriere_gauche 1
|
||||
E_bas_avant_gauche 1
|
||||
E_bas_avant_droit 1
|
||||
E_to 1
|
||||
|
||||
# references des faces et arretes d'elements
|
||||
|
||||
F_avant 1 5
|
||||
F_arriere 1 2
|
||||
F_haut 1 4
|
||||
F_bas 1 1
|
||||
F_droit 1 6
|
||||
F_gauche 1 3
|
||||
A_haut_droit 1 11
|
||||
A_haut_gauche 1 9
|
||||
A_haut_arriere 1 12
|
||||
A_haut_avant 1 10
|
||||
A_bas_droit 1 3
|
||||
A_bas_gauche 1 1
|
||||
A_bas_arriere 1 4
|
||||
A_bas_avant 1 2
|
||||
A_arriere_droit 1 8
|
||||
A_arriere_gauche 1 5
|
||||
A_avant_droit 1 7
|
||||
A_avant_gauche 1 6
|
||||
|
Loading…
Reference in a new issue