Atom topic feed | site map | contact | login | Protection des données personnelles | Powered by FluxBB | réalisation artaban
You are not logged in.
Hello everyone
I aim at doing a transient vibroacoustic analysis and as an input, I aim at imposing a space-time dependent pressure on a surface. This space-time dependent load is a list of N values I want to impose on the N nodes of my surface. And these N values change at each time step. The pressure values to be imposed on the surface nodes are stored in a .txt file; For the moment I use DYNA_VIBRA.
-I found in another discussion on the forum ("[SOLVED] Applying nodal forces node by node" from 2010, thanks to the authors !) a way to impose values node by node on the surface. I did something similar using python to build a load vector Vect_F. But in this case, the load vector does not vary with the time, it only works for a static case. I do not see any way to use a similar solution with a dynamical analysis with forces changing at each time step.
-I can alternatively initialise my Vect_F with ones on the surface nodes and use FONC_MULT in EXCIT to multiply the initial Vect_F by a scalar changing at each time step. But in this case the time variation applies in the same way to the entire loading vector Vect_F. And I need the loading values to vary independently of each other.
Here is an example of my actual .comm file with these two options (space dependent load imposed node by node or time dependent load uniform on the surface).
1) using DYNA_VIBRA, is it possible to make the vector imposed in VECT_ASSE vary at each time step using something other than FONC_MULT?
2) If not, is it possible for the function given by FONC_MULT to return a vector instead of a scalar (i.e. a matrix-vector product would have to be performed at each time step to obtain the new load vector)?
3) Is there an alternative way of imposing a node-by-node load whose nodal values change at each time step?
Thank you in advance !
Offline
hello
how many loaded nodes do you have ?
is the time function completely different for each node position ?
jean pierre aubry
Last edited by jeanpierreaubry (2023-09-14 15:29:25)
consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/
Offline
As I work on an industrial problem, i have a lot of loaded nodes (3.10^4 here).
And yes, the time function completely different for each node position. The loading values for each node come from a previous transient computation done with another software, so it can't be described by a funtion.
For the moment, in Code Aster documentation I've only seen problems with constant or periodic loads, or loads defined by functions.
Offline
Hello,
Solution (in you mail box
Using EVOL_CHAR in DYNA_VIBRA:
EVOL_CH=AFFE_CHAR_MECA(MODELE=MODEL,
EVOL_CHAR=resuChar,)
dynaResu=DYNA_VIBRA(BASE_CALCUL='PHYS',
TYPE_CALCUL='TRAN',
...
EXCIT=(_F(CHARGE=EVOL_CH,),
),
)
Problem: create resuChar !
The most versatil way:
resuChar=CREA_RESU(OPERATION='AFFE',
TYPE_RESU='EVOL_CHAR',
NOM_CHAM='PRES',
AFFE=(
_F(CHAM_GD=presOne, INST=0.0, ),
_F(CHAM_GD=presTwo, INST=1.0, ),
_F(CHAM_GD=presThree, INST=2.0, ),
) )
You have to create fields presOne, presTwo, etc...
Wz can use LIRE_TABLE + CREA_CHAMP
# Rank of table in file
instOne = 1
tablePresOne=LIRE_TABLE(UNITE=39,
FORMAT='ASTER',
NUME_TABLE=instOne,
SEPARATEUR=' ');
presOne = CREA_CHAMP(OPERATION='EXTR',
TYPE_CHAM='NOEU_PRES_R',
TABLE=tablePresOne,
MAILLAGE=MA)
# Rank of table in file
instTwo = 2
tablePresTwo=LIRE_TABLE(UNITE=39,
FORMAT='ASTER',
NUME_TABLE=instTwo,
SEPARATEUR=' ');
presTwo = CREA_CHAMP(OPERATION='EXTR',
TYPE_CHAM='NOEU_PRES_R',
TABLE=tablePresTwo,
MAILLAGE=MA)
Table file form:
#
#--------------------------------------------------------------------------------
#
#DEBUT_TABLE
#TITRE PRES - INST 1.0
NOEUD PRES
K8 R
A3 -100
A2 -200
A4 -300
A1 -400
#FIN_TABLE
#
#--------------------------------------------------------------------------------
#
#DEBUT_TABLE
#TITRE PRES - INST 2.0
NOEUD PRES
K8 R
A3 -10
A2 -20
A4 -30
A1 -40
#FIN_TABLE
#
#--------------------------------------------------------------------------------
Code_Asterの開発者
Offline