# Nicolò Grilli
# University of Bristol
# 4 Ottobre 2021
# create a model with salome meca as in the youtube video
# [ Ссылка ]
# Meric-Cailletaud finite strain crystal plasticity
# modify the code as follows with respect to the online version at
# /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud/MericCailletaudFiniteStrainSingleCrystalViscoPlasticity.mfront
# we add the option in the brick FiniteStrainSingleCrystal
@Brick FiniteStrainSingleCrystal{
shifted_elastic_deformation_gradient : true
};
# such that the elastic deformation gradient does not need to be initialised
# to unit matrix
# instead of using the @Parameter keyword
# use @MaterialProperty so that these can be input in the code aster .comm file
@MaterialProperty real n;
@MaterialProperty real K;
@MaterialProperty real tau0;
@MaterialProperty real Q;
@MaterialProperty real b;
@MaterialProperty real d;
@MaterialProperty real C;
# compile mfront code
# src and include folders will appear
cd /home/nicolo/projects/SalomeMeca2019/appli_V2019.0.3_universal
./salome shell
cd /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud
mfront-3.2.1 --obuild --interface=aster MericCailletaudFiniteStrainSingleCrystalViscoPlasticity.mfront
# copy the Salome model OneElemElastic.hdf to
# /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud
# and run it with elastic properties
# the folder OneElemElastic_Files will be created
# in
# /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud/OneElemElastic_Files/RunCase_1/Result-Stage_1/
# there is the RunCase_1_Stage_1.comm file that must be modified to use MFront
# Material constants must be changed for MFront
mater = DEFI_MATERIAU(identifier='2:1',
ELAS=_F(E=208000.0,NU=0.3),
MFRONT=_F(LISTE_COEF=(208000.0, 208000.0, 208000.0, 0.3, 0.3, 0.3, 80000.0, 80000.0, 80000.0,10.0,25.0,66.62,11.43,2.1,494.0,14363)));
# The COMPORTEMENT section must be changed in STAT_NON_LINE
# pointing to the library compiled before
resnonl = STAT_NON_LINE(identifier='10:1',
COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
ITER_INTE_MAXI=1000,
NOM_ROUTINE='astermericcailletaudfinitestrainsinglecrystalviscoplasticity',
RELATION='MFRONT',
LIBRAIRIE='/home/nicolo/projects/SalomeMeca2019/test_MericCailletaud/src/libAsterBehaviour.so'),
CHAM_MATER=fieldmat,
EXCIT=_F(CHARGE=load,
FONC_MULT=RampU),
INCREMENT=_F(LIST_INST=listr),
METHODE='NEWTON',
MODELE=model,
NEWTON=_F(MATRICE='TANGENTE',
REAC_ITER=1,),
CONVERGENCE=_F(ITER_GLOB_MAXI=10000,))
# once modifications are done, the simulation can be launched
cd /home/nicolo/projects/SalomeMeca2019/appli_V2019.0.3_universal
./salome shell
cd /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud/OneElemElastic_Files/RunCase_1/Result-Stage_1/
as_run export
# note export file contains all the information about
# the .comm input file and where the output will be
# to visualise the results, open Salome
cd /home/nicolo/projects/SalomeMeca2019/appli_V2019.0.3_universal
./salome
# go to Paravis directly
# right click on "built-in", the open the result file:
# /home/nicolo/projects/SalomeMeca2019/test_MericCailletaud/OneElemElastic_Files/RunCase_1/Result-Stage_1/OneElemMFront.med
# and you can see the results
# ELGA field to surface is the filter necessary to observe the stress values
Ещё видео!