FSI with OpenFOAM and Code-Aster
- Eugene
- Topic Author
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
12 years 3 weeks ago #6495
by Eugene
Replied by Eugene on topic Re: FSI with OpenFOAM and Code-Aster
I decided to start with a very simplified problem and build from there.
My current model is a 1D beam with 10 nodes similar as is described in one of the wiki tutorials:
www.caelinux.org/wiki/index.php/Contrib:...ster/10_x_cases/beam
I was able to apply the distributed load as described in this post:
www.code-aster.org/forum2/viewtopic.php?id=14348
The boundary condition cosists of list "forcelist" of nodes and forces.
The next step is to switch over to dynamic linear analysis (DYNA_LINE_TRAN )
Does anyone know how to associate a list of forces with time?
or otherwise stated
How do you specify which foreclist to use for each time step?
With MECA_STATIQUE my boundayr condition consisted of a list of forces for all time:
All time -> use bc -> forcelist
Now moving on to DYNA_LINE_TRAN I am thinking of doing something like:
time1 -> use bc -> forcelist1
time2 -> use bc- > forcelist2
Any recommendations will be appreciated.
My current model is a 1D beam with 10 nodes similar as is described in one of the wiki tutorials:
www.caelinux.org/wiki/index.php/Contrib:...ster/10_x_cases/beam
I was able to apply the distributed load as described in this post:
www.code-aster.org/forum2/viewtopic.php?id=14348
The boundary condition cosists of list "forcelist" of nodes and forces.
The next step is to switch over to dynamic linear analysis (DYNA_LINE_TRAN )
Does anyone know how to associate a list of forces with time?
or otherwise stated
How do you specify which foreclist to use for each time step?
With MECA_STATIQUE my boundayr condition consisted of a list of forces for all time:
All time -> use bc -> forcelist
Now moving on to DYNA_LINE_TRAN I am thinking of doing something like:
time1 -> use bc -> forcelist1
time2 -> use bc- > forcelist2
Any recommendations will be appreciated.
- Claus
- Offline
- Moderator
Less
More
- Posts: 670
- Thank you received: 34
12 years 3 weeks ago #6507
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: FSI with OpenFOAM and Code-Aster
This tutorial touches on the subject - perhaps you can use it - Im not familiar with DYNA_LINE_TRAN though
www.caelinux.org/wiki/index.php/Contrib:...ng_the_load_function
/C
www.caelinux.org/wiki/index.php/Contrib:...ng_the_load_function
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
- Eugene
- Topic Author
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
12 years 3 weeks ago #6513
by Eugene
Replied by Eugene on topic Re: FSI with OpenFOAM and Code-Aster
I looked through the case but I'm not sure if it is what I need unless I missed something.
This is how I understand the example, please correct me if I'm wrong.
EXCITE = ch(t) = alpha(t)*ch (U4.53.02 p8/14)
EXCITE - excitation
alpha(t) - multiplication function (FONC_MULT) dependent on time
ch - load (CHARGE)
In the example suggested (see previous post) ch stays the same but alpha changes over time thereby changing the excitation.
In my case I have a list of forces for each time step.
Basically I already have the ch(t=1), ch(t=2), ch(t=3), ch(t=...)
But I'm not sure how to define it in the code since I don't have a multiplication function to do this with.
In my search for finding a way to define a distributed load I came across a macro to define the nodal forces.
So my question is still: Is there possibly a way to associate my a macro list of nodal forces with time?
In more detail:
Distributed loads can sometimes be described as a function of length or something.
The code then calculates the nodal forces using the functions given.
Since my distributed load could not be described by a function I defined it with a macro function (see previous posts).
For a time dependent solution I assume the code then just associates the list of nodal forces with a time instance.
Since in my case I dont have a clear multiplication function dependent on time I am looking for a way to include it in a macro list.
Thank you for all the responses. Its all very helpful.
This is how I understand the example, please correct me if I'm wrong.
EXCITE = ch(t) = alpha(t)*ch (U4.53.02 p8/14)
EXCITE - excitation
alpha(t) - multiplication function (FONC_MULT) dependent on time
ch - load (CHARGE)
In the example suggested (see previous post) ch stays the same but alpha changes over time thereby changing the excitation.
In my case I have a list of forces for each time step.
Basically I already have the ch(t=1), ch(t=2), ch(t=3), ch(t=...)
But I'm not sure how to define it in the code since I don't have a multiplication function to do this with.
In my search for finding a way to define a distributed load I came across a macro to define the nodal forces.
So my question is still: Is there possibly a way to associate my a macro list of nodal forces with time?
In more detail:
Distributed loads can sometimes be described as a function of length or something.
The code then calculates the nodal forces using the functions given.
Since my distributed load could not be described by a function I defined it with a macro function (see previous posts).
For a time dependent solution I assume the code then just associates the list of nodal forces with a time instance.
Since in my case I dont have a clear multiplication function dependent on time I am looking for a way to include it in a macro list.
Thank you for all the responses. Its all very helpful.
- RichardS
- Offline
- Elite Member
12 years 3 weeks ago - 12 years 3 weeks ago #6516
by RichardS
SimScale - Engineering Simulation in your browser!
Replied by RichardS on topic Re: FSI with OpenFOAM and Code-Aster
Hello Joubert,
my idea would be the following:
Since you want to use DYNA_LINE_TRAN you can use AFFE_CHAR_MECA_F. There the FORCE_NODALE list would not consist
of a list of forces per node, but of a list of time dependent functions of forces per node.
If you have the force data for all nodes and all timesteps you could save this in the proper format in a dat file.
then write a macro using multiple accurances of LIRE_FONCTION, one for each node (or one for each DOF per node).
Then use the other macro to apply these functions as nodal forces dependent with time.
I think this should work.
Regards,
Richard
my idea would be the following:
Since you want to use DYNA_LINE_TRAN you can use AFFE_CHAR_MECA_F. There the FORCE_NODALE list would not consist
of a list of forces per node, but of a list of time dependent functions of forces per node.
If you have the force data for all nodes and all timesteps you could save this in the proper format in a dat file.
then write a macro using multiple accurances of LIRE_FONCTION, one for each node (or one for each DOF per node).
Then use the other macro to apply these functions as nodal forces dependent with time.
I think this should work.
Regards,
Richard
SimScale - Engineering Simulation in your browser!
Last edit: 12 years 3 weeks ago by RichardS.
- Eugene
- Topic Author
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
12 years 2 weeks ago #6522
by Eugene
Replied by Eugene on topic Re: FSI with OpenFOAM and Code-Aster
I am looking into Richard's suggestion but struggle with something I think is probably very trivial (if so I appologise). Working through the documentation of LIRE_FONCTION U4.32.02 (and also helpful U2.51.02) I was wondering how it reads in a data file? Do you specify the data file name somehow or do you just read in a file with python?
- RichardS
- Offline
- Elite Member
12 years 2 weeks ago #6523
by RichardS
SimScale - Engineering Simulation in your browser!
Replied by RichardS on topic Re: FSI with OpenFOAM and Code-Aster
Hello here an example code:
This means:
- read input from data file with "logical unit" 38 (which you have to specify in your *.export file by adding the line
- saparator is 'none' which implies a whitespace a separator
- parameter data is the first column of the first block
- function value data is the second column of the first block
- parameter is 'FREQ'
- functional is 'E'
- extrapolated values outside the data bounds are taken to be constant
- interpolation sheme is linear
Regards,
Richard
E_FREQ = LIRE_FONCTION(UNITE=38,
SEPAR='None',
INDIC_PARA=(1,1),
INDIC_RESU=(1,2),
NOM_PARA = 'FREQ',
NOM_RESU = 'E',
PROL_GAUCHE='CONSTANT',
PROL_DROITE='CONSTANT',
INTERPOL='LIN',
INFO=2,);
This means:
- read input from data file with "logical unit" 38 (which you have to specify in your *.export file by adding the line
F libr /path/to/Data/file/Data_File.dat D 38
- saparator is 'none' which implies a whitespace a separator
- parameter data is the first column of the first block
- function value data is the second column of the first block
- parameter is 'FREQ'
- functional is 'E'
- extrapolated values outside the data bounds are taken to be constant
- interpolation sheme is linear
Regards,
Richard
SimScale - Engineering Simulation in your browser!
Moderators: catux
Time to create page: 0.144 seconds