Professional Documents
Culture Documents
Engine
opxxxx.F90
Code_Aster
Code_Aster
SUPERVISOR
others
Command file
Command catalogs
Routine
COPIER=OPER(nom="COPIER",
op=
#include "asterc/getres.h"
CONCEPT = SIMP(statut='o',,),
INFO = SIMP(statut='f',
typ='I',
into=(1, 2),
defaut=1, ),
#include "asterfort/getvid.h"
!...
call jemarq()
call getres(sd2, typsup, oper)
call getvid(' ', 'CONCEPT', scal=sd1, nbret=iret)
Example : (demo001a)
MAIL2= COPIER(
CONCEPT= MAIL[k+1]
)
end subroutine
But
more sophisticated computations are needed : Stiffness matrix, stress fields, .
Engine
TExxxx.F90
Code_Aster
FE SUPERVISOR
others
FE catalogs
Command
catalog
Command
name =>
n op
Ex.
CALC_CHAMP
=> op0052
opxxxx.F90
calcul .F90
get
keywords :
call getvid..
call getvr8
call getvtx
Prepare datas
(fields) and call
calcul
(option)
For each
element in
model
Op0052
Option=SIEQ_ELGA
texxxx.F90
F.E. catalog
compute
Fe type +
option
option =>
And store
n te xxxx
result in output
field
gener_me3d_3
3D tetra, hexa
SIEQ_ELGA =>
te0335.F90
te0335 : gauss
point equivalent
stress on FE
Behaviours
(see ..src/catalo/compelem/phenomene_modelisation__.cata)
And dimension (1,2,3). Ex. in 3D :
MAILLE__ TETRA4
Open it !
GENER_ME3D_3
TYPE_GENE__
ENTETE__ ELEMENT__ MECA_HEXA20
MAILLE__ HEXA20
MAILLE__ TETRA4
RIGI=FPG1 FPG1=FPG1 MASS=FPG4
NOEU=NOEU
FPG_LISTE__ MATER=(RIGI MASS NOEU FPG1)
GAUSS__ RIGI=COT3 MASS=COT3 NOEU=NOEU
=
1 2 3 4
ARLQ_1=FPG1
ELNO__
ELNO__
ELNO__
ELGA__
IDEN__
IDEN__
IDEN__
RIGI
(DX
(X
(SIXX
(SIXX
DY
Y
SIYY
SIYY
DZ
Z
SIZZ SIXY
SIZZ SIXY
)
SIXZ
SIXZ
SIYZ
SIYZ
)
)
OPTION__
RIGI_MECA
11
IN__
CCAMASS
CMATERC
OUT__ MMATUUR
PCAMASS
PMATERC
PMATUUR
NGEOMER
ZVARCPG
PGEOMER
PVARCPR
SIEF_ELGA
22
IN__
ZVARCPG
CMATERC
PVARCPR
PMATERC
SIEF_ELNO
ZVARCPG
ECONTNO
PVARCPR
PSIEFNOR
SIEQ_ELGA
335
PDEPLAR
PGEOMER
PCONTRR
PCONTRR
PSIEFNOC
PCONTRR
PCONTEQ
DDL_MECA
NGEOMER
OUT__ ECONTPG
IN__ ECONTPG
OUT__ ECONTNC
IN__ ECONTPG
OUT__ ECOEQPG
Details on FE option
Ex: option SIEQ_ELGA in 3D
equivalent stresses : von Mises, Tresca, principal stresses
Open : .src/catalo/typelem/gener_me3d_3.cata
SIEQ_ELGA 335
IN__
OUT__
ECONTPG
ECOEQPG
PCONTRR
Input : 6 cmps of
stresses on each
gauss point
PCONTEQ
output : 17 cmps
of equivalent
stresses on each
gauss point
Get stresses
(input)
call tecach('OOO','PCONTRR','L',iret,nval=7,itab=itabin)
Get equiv.
stresses
(output)
call tecach('OOO','PCONTEQ','E',iret,nval=7,itab=itabou)
icont=itabin(1)
iequi
= itabou(1)
nbsp
= itabou(7)
nbcmp
= itabin(2)/itabin(3)
ncmpeq = itabou(2)/itabou(3)
do ipg = 1, npg
do isp = 1, nbsp
Fgequi :
computes
quivalent
stresses
fami
out
ndim
nno
nnos
npg
jdfde
jdfd2
jgano
-> all OK ;
Code_Aster
LCxxxx.F90
Engine
Native laws
LC SUPERVISOR
others
Behaviours laws
LC catalogs
MFRONT
Exterior laws
(UMAT)
texxxx.F90
Read inputs
Loop on gauss pts
nmcomp (laws
integration)
store outputs :
stress,
int. Variables,
tangent
stiffness
te0139 : calls
nmpl3d (small strains)
nmdlog (gdef_log)
nmgr3d (grot_gdep)
.
nmcomp.F90
(option, behaviour)
=> redece.F90
(substepping) =>
lc0000.F90
Behaviour laws catalog
bibpyt/Comportement/*
Behaviour name =>
nlc, nb int. Var.,
call
call
call
RIGI_MECA_TANG =>
RAPH_MECA
=>
FULL_MECA
=>
Prediction Ktgt
Stress, int.var
Stress, int.var, actual Ktgt
required)
if (option.eq.'RAPH_MECA'.or.option(1:9).eq.'FULL_MECA') then
call jevech('PDEPLPR', 'L', ideplp)
Output stress and internal
call jevech('PVECTUR', 'E', ivectu)
variable fields if required
call jevech('PCONTPR', 'E', icontp)
call jevech('PVARIPR', 'E', ivarip)
endif
src/bibpyt/Comportement/*
Number of lc
subroutines
loi = LoiComportement(
nom='VISC_TAHERI',
doc=""" elasto-visco-plastic Taheri cyclic behaviour and shakedown effects """
num_lc=18,
Number of internal
nb_vari=9,
variables
nom_vari=('EPSPEQ', 'SIGMAPIC', 'EPSPXX', 'EPSPYY',
'EPSPZZ', 'EPSPXY', 'EPSPXZ', 'EPSPYZ', 'INDIPLAS'),
mc_mater = ('ELAS', 'TAHERI', 'LEMAITRE'),
Names of internal
variables
lc0000.F90
if num_lc=17 then
If num_lc=18 then
.
If num_lc=50 then
If num_lc=58 then
( ("lin", "nonlin",),
( ("lin", "nonlin",),
_(u"element stresses"), ),
solution : FE catalogs
New option catalog (in .src/catalo/options)
SIGM_ELEM
OPTION__
IN__
PCONTRR SIEF_R 'RESU!SIEF_ELGA!N'
OUT__
PCONTEL SIEF_R ELEM__
SIGM_ELEM
TP4 : sslv04a,b,c,d.comm
IMPR_RESU(FORMAT='MED',RESU=(_F(RESULTAT=RESU),))
SIGM_ELEM