- Forum
- Public Forums
- Finite Element Modelling - Code_Aster
- Disable Boundary Condition depending on Time
Disable Boundary Condition depending on Time
- Helfenstein
- Topic Author
- Offline
- New Member
Less
More
- Posts: 3
- Thank you received: 0
9 years 11 months ago #7912
by Helfenstein
Disable Boundary Condition depending on Time was created by Helfenstein
Hi
In my simulation I will first press down a blank holder while forming a collar. Later I will lift up the blank holder. Therefore, first I want to add a force (AFFE_CHAR_MECA -> PRES) and later a displacement (AFFE_CHAR_MECA -> DDL_IMPO). I know the possibility to multiply the load with time depending values. But in this case it is not possible to define first the value of DLL_IMPO by zero bacause in this case the force will not have an effect.
How is it possible to enable and dissable boundary conditions like the DLL_IMPO in Code_Aster depending on time?
Thank you in advance for your support.
Best regards,
Urs Helfenstein
In my simulation I will first press down a blank holder while forming a collar. Later I will lift up the blank holder. Therefore, first I want to add a force (AFFE_CHAR_MECA -> PRES) and later a displacement (AFFE_CHAR_MECA -> DDL_IMPO). I know the possibility to multiply the load with time depending values. But in this case it is not possible to define first the value of DLL_IMPO by zero bacause in this case the force will not have an effect.
How is it possible to enable and dissable boundary conditions like the DLL_IMPO in Code_Aster depending on time?
Thank you in advance for your support.
Best regards,
Urs Helfenstein
- RichardS
- Offline
- Elite Member
9 years 11 months ago #7913
by RichardS
SimScale - Engineering Simulation in your browser!
Replied by RichardS on topic Re: Disable Boundary Condition depending on Time
Hello Urs,
it is not directly possible to de-activate a BC depending on the time, but indirectly of course.
You just have to divide your calculation into two solution steps of STAT_NON_LINE with the first one without displacement BCs as initial state (key word ETAT_INIT)
for the second one, where you can have a different set of BCs.
Best regards,
Richard
it is not directly possible to de-activate a BC depending on the time, but indirectly of course.
You just have to divide your calculation into two solution steps of STAT_NON_LINE with the first one without displacement BCs as initial state (key word ETAT_INIT)
for the second one, where you can have a different set of BCs.
Best regards,
Richard
SimScale - Engineering Simulation in your browser!
The following user(s) said Thank You: Helfenstein
- Helfenstein
- Topic Author
- Offline
- New Member
Less
More
- Posts: 3
- Thank you received: 0
9 years 11 months ago - 9 years 11 months ago #7942
by Helfenstein
Replied by Helfenstein on topic Re: Disable Boundary Condition depending on Time
Hey Richard,
Thank you very much for your reply. Works fine. Below an example if someone runs into the same question:
Best regards,
Urs
Thank you very much for your reply. Works fine. Below an example if someone runs into the same question:
# User Parameters
endT1 = 0.04 #[s] Stop Time for first Calculation Run
endT = 0.05 #[s] Stop of the simulation
maxdT = 0.001 #[s] Max Time Step
archivT = 0.001 #[s] Time increment to write results
DEBUT();
...
# List of time instant for the INCREMENTAL SOLUTION
timestep=DEFI_LIST_REEL(DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=endT,
NOMBRE=endT/maxdT,),
I NFO=2,
);
# List of time instant for ARCHIVAGE
L_archiv=DEFI_LIST_REEL(DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=endT,
NOMBRE=endT/archivT,),);
# Variable Time Step
incrm=DEFI_LIST_INST(
DEFI_LIST=_F(METHODE='AUTO',
LIST_INST=timestep,
PAS_MINI=1e-10,),
ECHEC=_F(EVENEMENT='ERREUR',
SUBD_PAS=4,),
ADAPTATION=_F(EVENEMENT='SEUIL',
NB_INCR_SEUIL=3,
NOM_PARA='NB_ITER_NEWTON',
CRIT_COMP='LE',
PCENT_AUGM=100.0,),);
#Calculate first phase
Result=DYNA_NON_LINE(
MODELE=Model,
INCREMENT=_F(LIST_INST=incrm,
INST_FIN=endT1, #SPECIFIES END TIME FOR FIRST PHASE
),
EXCIT=(_F(CHARGE=matFix,),
#### HOLD ####
_F(CHARGE=holdPres,
FONC_MULT=LRForce,),
#~ _F(CHARGE=HoldMove,
#~ FONC_MULT=LRLift,),
),
...
),
);
#Calculate Free String
Result=DYNA_NON_LINE(
reuse = Result, #Reuse former results
ETAT_INIT=_F(EVOL_NOLI=Result,), #Load Fields
MODELE=Model,
INCREMENT=_F(LIST_INST=incrm,),
EXCIT=(_F(CHARGE=matFix,),
#### HOLD ####
#~ _F(CHARGE=holdPres,
#~ FONC_MULT=LRForce,),
_F(CHARGE=HoldMove,
FONC_MULT=LRLift,),
),
...
);
...
FIN();
Best regards,
Urs
Last edit: 9 years 11 months ago by Helfenstein.
Moderators: catux
- Forum
- Public Forums
- Finite Element Modelling - Code_Aster
- Disable Boundary Condition depending on Time
Time to create page: 0.126 seconds