Help with Scipy07 abstract and project planning for the summer
So, I have a small university grant to work on a research project this summer focused on impact dynamics. The project has two parts:
- Designing an impact test device to extract material properties at impact speeds
- Coming up with a Python based, FEA simulation of the impact test
I have learned just enough about SfePy to believe that it is a good fit for my project. But not enough to know all that I am going to have to do to make this project work. And not even really enough to write an intelligent abstract. But the abstract is due next Monday. So, while I am still learning SfePy, I could use some help and direction in writing my abstract and planning my summer project.
I am planning on trying to contribute contact modeling capabilities eventually. I believe my project will also need the following, which SfePy may or may not already be capable of:
- a nonlinear material model (or at least piece-wise linear) for the stress vs. strain material behavior
- modeling two bodies, one with an initial velocity and one that is initially stationary (they could initially start at the instant of contact, so that an algorithm for describing when contact happens could be put off for now)
I put together a description of the problem and an high-speed video of an impact test here: http://www.siue.edu/~rkrauss/research_project3.html The entire impact event last 10 or so milliseconds.
Can you help me understand what it will take to model this test, what SfePy can already do, and what I will need to contribute to make this project come together?
Thanks,
Ryan
Hi Ryan,
Ryan Krauss wrote:
So, I have a small university grant to work on a research project this summer focused on impact dynamics. The project has two parts:
- Designing an impact test device to extract material properties at impact speeds
- Coming up with a Python based, FEA simulation of the impact test
Could you elaborate a bit what kinds of materials can be tested with your device? Just curious. I have read (quickly) the web page mentioned below, but did not find it.
I have learned just enough about SfePy to believe that it is a good fit for my project. But not enough to know all that I am going to have to do to make this project work. And not even really enough to write an intelligent abstract. But the abstract is due next Monday. So, while I am still learning SfePy, I could use some help and direction in writing my abstract and planning my summer project.
It's good to hear that you wish to work within our project, thanks! We will support you as much as we can, of course. In this (early) phase any contributor makes huge difference.
I am planning on trying to contribute contact modeling capabilities eventually. I believe my project will also need the following, which SfePy may or may not already be capable of:
- a nonlinear material model (or at least piece-wise linear) for the stress vs. strain material behavior
This should be no problem. We already have nonlinear terms (convective term of Navier-Stokes). If you give me the constitutive equation, it should be a matter of one afternoon. (big IMHO, but Ondrej knows how fast we can be :)
- modeling two bodies, one with an initial velocity and one that is initially stationary (they could initially start at the instant of contact, so that an algorithm for describing when contact happens could be put off for now)
Now here it depends how you wish to treat the contact of the two FE meshes (or is one of the bodies completely rigid?). I have not much experience in this, but should be able to give you advice concerning the code.
I put together a description of the problem and an high-speed video of an impact test here: http://www.siue.edu/~rkrauss/research_project3.html The entire impact event last 10 or so milliseconds.
Nice!
Can you help me understand what it will take to model this test, what SfePy can already do, and what I will need to contribute to make this project come together?
- adding the particular material model (IMHO easy)
- model the contact problem in time - here I would need more information on how would you like to proceed. Time-dependent problems can be solved, but you will probably need also implement some time-step adaptivity. We solve for the moment quasistatic problems with fixed time step, which would not work for fast dynamic simulations.
Anyway, I do not know how long the abstract should be, but you could mention implementing your nonlinear material, a time-step adaptivity, and/or the impact code into SfePy. If you send me some draft of the abstract, I could fill in some SfePy-specific info.
hope that helps, r.
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time).
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.)
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time.
I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After that, it would be cool to focus on a the material model by setting up a simulation with just one body (the foam sample) maybe with a prescribed force or displacement vs, time on its top surface to simulate a low-velocity material test (like an Instron test in compression). They probably don't have Instron(tm) material test devices in eastern Europe and you guys might not be working in solid mechanics, so let me know if that doesn't make sense.
Thanks again,
Ryan
On Tue, Jun 24, 2008 at 8:32 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Hi Ryan,
Ryan Krauss wrote:
So, I have a small university grant to work on a research project this summer focused on impact dynamics. The project has two parts:
- Designing an impact test device to extract material properties at impact speeds
- Coming up with a Python based, FEA simulation of the impact test
Could you elaborate a bit what kinds of materials can be tested with your device? Just curious. I have read (quickly) the web page mentioned below, but did not find it.
I have learned just enough about SfePy to believe that it is a good fit for my project. But not enough to know all that I am going to have to do to make this project work. And not even really enough to write an intelligent abstract. But the abstract is due next Monday. So, while I am still learning SfePy, I could use some help and direction in writing my abstract and planning my summer project.
It's good to hear that you wish to work within our project, thanks! We will support you as much as we can, of course. In this (early) phase any contributor makes huge difference.
I am planning on trying to contribute contact modeling capabilities eventually. I believe my project will also need the following, which SfePy may or may not already be capable of:
- a nonlinear material model (or at least piece-wise linear) for the stress vs. strain material behavior
This should be no problem. We already have nonlinear terms (convective term of Navier-Stokes). If you give me the constitutive equation, it should be a matter of one afternoon. (big IMHO, but Ondrej knows how fast we can be :)
- modeling two bodies, one with an initial velocity and one that is initially stationary (they could initially start at the instant of contact, so that an algorithm for describing when contact happens could be put off for now)
Now here it depends how you wish to treat the contact of the two FE meshes (or is one of the bodies completely rigid?). I have not much experience in this, but should be able to give you advice concerning the code.
I put together a description of the problem and an high-speed video of an impact test here: http://www.siue.edu/~rkrauss/research_project3.html The entire impact event last 10 or so milliseconds.
Nice!
Can you help me understand what it will take to model this test, what SfePy can already do, and what I will need to contribute to make this project come together?
- adding the particular material model (IMHO easy)
- model the contact problem in time - here I would need more information on how would you like to proceed. Time-dependent problems can be solved, but you will probably need also implement some time-step adaptivity. We solve for the moment quasistatic problems with fixed time step, which would not work for fast dynamic simulations.
Anyway, I do not know how long the abstract should be, but you could mention implementing your nonlinear material, a time-step adaptivity, and/or the impact code into SfePy. If you send me some draft of the abstract, I could fill in some SfePy-specific info.
hope that helps, r.
Ryan Krauss wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time).
That's ok, I have things to do ;)
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.)
I see. Now you will have to choose which stress and strain measures to use. There are just small (Cauchy) strain and stress tensors tight now. I assume you will need some large strain measure, e.g. Green strain tensor, as used in the total Lagrangian formulation (I am interested to have this implemented, too.) What books have you checked? I may know some and it will help in setting up the terminology.
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time.
I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After that, it would be cool to focus on a the material model by setting up a simulation with just one body (the foam sample) maybe with a prescribed force or displacement vs, time on its top surface to simulate a low-velocity material test (like an Instron test in
ok, this is a very reasonable start.
compression). They probably don't have Instron(tm) material test devices in eastern Europe and you guys might not be working in solid mechanics, so let me know if that doesn't make sense.
No problem, I work in solid mechanics, or even biomechanics. People even model the crash tests at our lab :) As for devices, this is no more a problem here, too. People are what is missing - the best leave to US due to much better funding there :]
As a matter of fact I have lots of code in matlab (large deformations, nonlinear composite models, etc.) that I developped long time ago within a post-doc project preceding what is now at http://www-sop.inria.fr/CardioSense3D/, and no time to port it to SfePy. Maybe your work could make that porting easier. I will have to think about it at least.
r.
I am intriged by the idea of a Lagrangian formulation, but none of my books seem to use that term exactly. I assume we are talking about applying Lagrange's equations in a matrix formulation. I see mention of variational approaches and energy formulations, which both sound like they could be related to a Lagragian formulaiton. Can you either expand on what you mean and/or refer me to a book that talks about this?
Thanks,
Ryan
On Tue, Jun 24, 2008 at 9:57 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time).
That's ok, I have things to do ;)
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.)
I see. Now you will have to choose which stress and strain measures to use. There are just small (Cauchy) strain and stress tensors tight now. I assume you will need some large strain measure, e.g. Green strain tensor, as used in the total Lagrangian formulation (I am interested to have this implemented, too.) What books have you checked? I may know some and it will help in setting up the terminology.
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time.
I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After that, it would be cool to focus on a the material model by setting up a simulation with just one body (the foam sample) maybe with a prescribed force or displacement vs, time on its top surface to simulate a low-velocity material test (like an Instron test in
ok, this is a very reasonable start.
compression). They probably don't have Instron(tm) material test devices in eastern Europe and you guys might not be working in solid mechanics, so let me know if that doesn't make sense.
No problem, I work in solid mechanics, or even biomechanics. People even model the crash tests at our lab :) As for devices, this is no more a problem here, too. People are what is missing - the best leave to US due to much better funding there :]
As a matter of fact I have lots of code in matlab (large deformations, nonlinear composite models, etc.) that I developped long time ago within a post-doc project preceding what is now at http://www-sop.inria.fr/CardioSense3D/, and no time to port it to SfePy. Maybe your work could make that porting easier. I will have to think about it at least.
r.
The only thing I found online (fast google search) was: http://en.wikiversity.org/wiki/Nonlinear_finite_elements/Total_Lagrangian_ap...
The theory is described for example in the book of Crisfield from the list I sent here, or in
Belytschko, T., Liu, W. K. and Moran, B. Nonlinear Finite Elements for Continua and Structures J. Wiley & Sons, New York, 2000
Basically, when you describe a body that undergoes small deformation, you can express the variational form in terms of integrals over either the undeformed or the deformed configuration, as they are almost the same. (briefly, a configuration = the body at a certain time and space).
On the other hand, to describe large deformations, you must carefully distinguish over which domain you integrate. There are two basic approaches - Lagrangian and Eulerian, based on the notions of material and spatial coordinates, the latter used mainly in fluid dynamics. For solids, the Lagrangian formulation is usually employed, expressing all terms in material coordinates. Now due to nonlinear nature of the problem it is usually solved it in time increments - depending on which time step is taken as the reference step (with displacements relative to it) we get either total Lagrangian formulation (displacements relative to initial, undeformed configuration) or the updated Lagrangian formulation (displacements relative to previous time step). Other choice is possible, too, but those two are the most used.
This was an extremely brief intro, but I hope you get the picture :)
r.
Ryan Krauss wrote:
I am intriged by the idea of a Lagrangian formulation, but none of my books seem to use that term exactly. I assume we are talking about applying Lagrange's equations in a matrix formulation. I see mention of variational approaches and energy formulations, which both sound like they could be related to a Lagragian formulaiton. Can you either expand on what you mean and/or refer me to a book that talks about this?
Thanks,
Ryan
On Tue, Jun 24, 2008 at 9:57 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time). That's ok, I have things to do ;)
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.) I see. Now you will have to choose which stress and strain measures to use. There are just small (Cauchy) strain and stress tensors tight now. I assume you will need some large strain measure, e.g. Green strain tensor, as used in the total Lagrangian formulation (I am interested to have this implemented, too.) What books have you checked? I may know some and it will help in setting up the terminology.
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time. I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After that, it would be cool to focus on a the material model by setting up a simulation with just one body (the foam sample) maybe with a prescribed force or displacement vs, time on its top surface to simulate a low-velocity material test (like an Instron test in ok, this is a very reasonable start.
compression). They probably don't have Instron(tm) material test devices in eastern Europe and you guys might not be working in solid mechanics, so let me know if that doesn't make sense. No problem, I work in solid mechanics, or even biomechanics. People even model the crash tests at our lab :) As for devices, this is no more a problem here, too. People are what is missing - the best leave to US due to much better funding there :]
As a matter of fact I have lots of code in matlab (large deformations, nonlinear composite models, etc.) that I developped long time ago within a post-doc project preceding what is now at http://www-sop.inria.fr/CardioSense3D/, and no time to port it to SfePy. Maybe your work could make that porting easier. I will have to think about it at least.
r.
That is very helpful. I appreciate the brief overview. Bathe's book also discusses the TL formulation (I didn't find it until after I had sent my last email).
It sounds like the difference between TL and UL for large deformations is related to whether you are using engineering strain (TL) or true strain (UL). Am I understanding that correctly?
My first really simple model was just an ODE using essentially one element, sort of one rigid mass with the foam specimen being one nonlinear spring. I used an engineering strain vs. stress model. So, I think that is where I want to start with FEA and SfePy: large deformations and, I guess, total Lagrangian formulation.
Ryan
On Mon, Jun 30, 2008 at 4:02 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
The only thing I found online (fast google search) was: http://en.wikiversity.org/wiki/Nonlinear_finite_elements/Total_Lagrangian_ap...
The theory is described for example in the book of Crisfield from the list I sent here, or in
Belytschko, T., Liu, W. K. and Moran, B. Nonlinear Finite Elements for Continua and Structures J. Wiley & Sons, New York, 2000
Basically, when you describe a body that undergoes small deformation, you can express the variational form in terms of integrals over either the undeformed or the deformed configuration, as they are almost the same. (briefly, a configuration = the body at a certain time and space).
On the other hand, to describe large deformations, you must carefully distinguish over which domain you integrate. There are two basic approaches - Lagrangian and Eulerian, based on the notions of material and spatial coordinates, the latter used mainly in fluid dynamics. For solids, the Lagrangian formulation is usually employed, expressing all terms in material coordinates. Now due to nonlinear nature of the problem it is usually solved it in time increments - depending on which time step is taken as the reference step (with displacements relative to it) we get either total Lagrangian formulation (displacements relative to initial, undeformed configuration) or the updated Lagrangian formulation (displacements relative to previous time step). Other choice is possible, too, but those two are the most used.
This was an extremely brief intro, but I hope you get the picture :)
r.
Ryan Krauss wrote:
I am intriged by the idea of a Lagrangian formulation, but none of my books seem to use that term exactly. I assume we are talking about applying Lagrange's equations in a matrix formulation. I see mention of variational approaches and energy formulations, which both sound like they could be related to a Lagragian formulaiton. Can you either expand on what you mean and/or refer me to a book that talks about this?
Thanks,
Ryan
On Tue, Jun 24, 2008 at 9:57 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time). That's ok, I have things to do ;)
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.) I see. Now you will have to choose which stress and strain measures to use. There are just small (Cauchy) strain and stress tensors tight now. I assume you will need some large strain measure, e.g. Green strain tensor, as used in the total Lagrangian formulation (I am interested to have this implemented, too.) What books have you checked? I may know some and it will help in setting up the terminology.
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time. I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After that, it would be cool to focus on a the material model by setting up a simulation with just one body (the foam sample) maybe with a prescribed force or displacement vs, time on its top surface to simulate a low-velocity material test (like an Instron test in ok, this is a very reasonable start.
compression). They probably don't have Instron(tm) material test devices in eastern Europe and you guys might not be working in solid mechanics, so let me know if that doesn't make sense. No problem, I work in solid mechanics, or even biomechanics. People even model the crash tests at our lab :) As for devices, this is no more a problem here, too. People are what is missing - the best leave to US due to much better funding there :]
As a matter of fact I have lots of code in matlab (large deformations, nonlinear composite models, etc.) that I developped long time ago within a post-doc project preceding what is now at http://www-sop.inria.fr/CardioSense3D/, and no time to port it to SfePy. Maybe your work could make that porting easier. I will have to think about it at least.
r.
Ryan Krauss wrote:
That is very helpful. I appreciate the brief overview. Bathe's book also discusses the TL formulation (I didn't find it until after I had sent my last email).
Good.
It sounds like the difference between TL and UL for large deformations is related to whether you are using engineering strain (TL) or true strain (UL). Am I understanding that correctly?
Probably yes (terminology often differs). The fundamental thing is which configuration is taken as the reference one (= the one you integrate over). Other things like strain and stress measures follow from that. In TL these are the Green strain (E) and the 2nd Piola-Kirchhoff stress (S) (these are energetically coupled - \int S dE measures deformation energy, other such couples exist). You may be right, though, it depends on what you mean by "engineering" and "true" strain.
My first really simple model was just an ODE using essentially one element, sort of one rigid mass with the foam specimen being one nonlinear spring. I used an engineering strain vs. stress model. So, I think that is where I want to start with FEA and SfePy: large deformations and, I guess, total Lagrangian formulation.
Yep. I like TL (one fixed reference configuration) more than UL, which seems to me more as a "moving target".
r.
That is funny. I almost included my definitions and then deleted them. Didn't know how universal they are, or if I am even remembering them correctly from undergraduate mechanics of materials. So, the definition I remember of engineering strain is deformation divided by inital length. True strain is deformation divided by current length.
Ryan
On Mon, Jun 30, 2008 at 9:32 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
That is very helpful. I appreciate the brief overview. Bathe's book also discusses the TL formulation (I didn't find it until after I had sent my last email).
Good.
It sounds like the difference between TL and UL for large deformations is related to whether you are using engineering strain (TL) or true strain (UL). Am I understanding that correctly?
Probably yes (terminology often differs). The fundamental thing is which configuration is taken as the reference one (= the one you integrate over). Other things like strain and stress measures follow from that. In TL these are the Green strain (E) and the 2nd Piola-Kirchhoff stress (S) (these are energetically coupled - \int S dE measures deformation energy, other such couples exist). You may be right, though, it depends on what you mean by "engineering" and "true" strain.
My first really simple model was just an ODE using essentially one element, sort of one rigid mass with the foam specimen being one nonlinear spring. I used an engineering strain vs. stress model. So, I think that is where I want to start with FEA and SfePy: large deformations and, I guess, total Lagrangian formulation.
Yep. I like TL (one fixed reference configuration) more than UL, which seems to me more as a "moving target".
r.
Ryan Krauss wrote:
That is funny. I almost included my definitions and then deleted them. Didn't know how universal they are, or if I am even remembering them correctly from undergraduate mechanics of materials. So, the definition I remember of engineering strain is deformation divided by inital length. True strain is deformation divided by current length.
I see. It is not so simple in finite deformation context - both engineering strain and true strain are linear measures, valid for small strains only. The Green strain used in TL is not linear. It is defined (in matrix form) E = 1/2 (F^T F - I), where F = dx_i/dX_j is the deformation gradient, x = X + u, X = undeformed body coordinates, u = displacement.
r.
I see. It makes sense that what I am remembering is an oversimplification, I am just trying to relate new, complicated stuff to old, comfortable stuff.
On Mon, Jun 30, 2008 at 10:15 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
That is funny. I almost included my definitions and then deleted them. Didn't know how universal they are, or if I am even remembering them correctly from undergraduate mechanics of materials. So, the definition I remember of engineering strain is deformation divided by inital length. True strain is deformation divided by current length.
I see. It is not so simple in finite deformation context - both engineering strain and true strain are linear measures, valid for small strains only. The Green strain used in TL is not linear. It is defined (in matrix form) E = 1/2 (F^T F - I), where F = dx_i/dX_j is the deformation gradient, x = X + u, X = undeformed body coordinates, u = displacement.
r.
On Tue, Jun 24, 2008 at 4:28 PM, Ryan Krauss <ryan...@gmail.com> wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time).
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.)
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time.
I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After
Great. I'll be at SciPy2008 too. I was thinking about giving a presentation about SymPy + something about SfePy, e.g. manufactured solutions. So I have the same deadline for an abstract as you have.
Ondrej
That would be cool. I use Python+Maxima+Latex for nice looking symbolic stuff (I wrote a hackish set of Python tools for handling my own mixed language - sort of like literate programming). I would be ineterested in hearing how SymPy is going.
On 6/24/08, Ondrej Certik <ond...@certik.cz> wrote:
On Tue, Jun 24, 2008 at 4:28 PM, Ryan Krauss <ryan...@gmail.com> wrote:
That is awesome. I appreciate your willingness to help and will send a draft of the abstract soon (I need to focus on class prep stuff today, so I might not get to work on it until tomorrow - so you might not see it until Thursday moring your time).
One body is completely rigid. For now I am focusing on a polyurethane foam. That is the simplest material that is practically used in these kinds of applications (automotive safey design). The foam material model for now is a piecewise linear stress vs. strain curve. Obviously, I know nothing of the inner workings of SfePy (yet), but I was thinking in terms of finding the current stress in an element of the foam based on knowing the current displacement and turning that amount of displacement into a measure of strain. The stress/strain curve would then give the stress, knowing the stress and the area of the element allows a force for the element to be found. (Forgive me if I am using FEA jaragon loosely and incorrectly, I just checked about 15 FEA books out of our library Friday. I have tinkered with it in the past, but am far from where I need to be.)
As far as the contact, I was planning to start with a simple scenario and moving up in stages. At first, I have a flat steel dropping mass and a flat foam sample. So, the two surfaces are completely in contact. To start with, I thought of just starting the simulation at the instant of contact, so that no algorithm for determining contact would be necessary. The next step up would be still having the two flat surfaces, but starting the simulation several milliseconds before the impact occurs. For a third and much more complicated step, I have some experimental data with a hemispherical ball impacting a flat foam specimen. Now the contact area changes with time.
I really appreciate your support and willingness to help. I have a significant learning curve ahead of me. But I think it will be really good. Tomorrow I will focus on the Scipy08 abstract (sorry I got the year wrong in the subject line) and start learning TetGen. After
Great. I'll be at SciPy2008 too. I was thinking about giving a presentation about SymPy + something about SfePy, e.g. manufactured solutions. So I have the same deadline for an abstract as you have.
Ondrej
On Wed, Jun 25, 2008 at 5:32 AM, Ryan Krauss <ryan...@gmail.com> wrote:
That would be cool. I use Python+Maxima+Latex for nice looking symbolic stuff (I wrote a hackish set of Python tools for handling my own mixed language - sort of like literate programming). I would be ineterested in hearing how SymPy is going.
It's going good. :) What kind of stuff are you doing with maxima+python? Could you give me some examples? I'll try if it can be done in SymPy as well.
Ondrej
Attached is an example of what I do. I definitely need symbolic matrix stuff, sometimes including symoblic matrix inversion. Maxima is definitely painful and not Pythonic (but I guess painful and non-Pythonic might be synonyms). I hate lisp. But Maxima and Emacs both try and pull me into it.
The main thing I like about my approach is that I put things like
\maxima{
}
and
\maximano{
}
in the .tex file. The Python text processing engine then pulls that stuff out, creates a Maxima batch file and then substitutes the tex output of Maxima back in. The maximano environment is for simplications and other calculations I don't want in the final output. I then use regular expressions in Python to post-process the tex output of Maxima into something pretty (and turn tex into LaTeX).
So, Python is at the top level and with Maxima's help, turns wlt_trans_test.tex into wlt_trans_test_out.tex, which is a real LaTeX file that can be passed to pdflatex.
I have similar \py{} and \pyno{} environments for embedding python in LaTeX.
I like it, but it is definitely an ugly mess of code.
Ryan
On Wed, Jun 25, 2008 at 2:53 AM, Ondrej Certik <ond...@certik.cz> wrote:
On Wed, Jun 25, 2008 at 5:32 AM, Ryan Krauss <ryan...@gmail.com> wrote:
That would be cool. I use Python+Maxima+Latex for nice looking symbolic stuff (I wrote a hackish set of Python tools for handling my own mixed language - sort of like literate programming). I would be ineterested in hearing how SymPy is going.
It's going good. :) What kind of stuff are you doing with maxima+python? Could you give me some examples? I'll try if it can be done in SymPy as well.
Ondrej
A draft of my abstract is attached. I would appreciate any thoughts you have (is it clear, does it make sense, etc), but could especially use help with the FEA specific parts. Any details, depth, or clarity that you can add to those portions would be much appreciated.
Do you think I need to define finite element analysis in the abstract? What is your impression of the audience?
I am open to adding additional authors, depending on the level of involvement people want to have.
Thanks,
Ryan
On Wed, Jun 25, 2008 at 10:15 AM, Ryan Krauss <ryan...@gmail.com> wrote:
Attached is an example of what I do. I definitely need symbolic matrix stuff, sometimes including symoblic matrix inversion. Maxima is definitely painful and not Pythonic (but I guess painful and non-Pythonic might be synonyms). I hate lisp. But Maxima and Emacs both try and pull me into it.
The main thing I like about my approach is that I put things like
\maxima{
}
and
\maximano{
}
in the .tex file. The Python text processing engine then pulls that stuff out, creates a Maxima batch file and then substitutes the tex output of Maxima back in. The maximano environment is for simplications and other calculations I don't want in the final output. I then use regular expressions in Python to post-process the tex output of Maxima into something pretty (and turn tex into LaTeX).
So, Python is at the top level and with Maxima's help, turns wlt_trans_test.tex into wlt_trans_test_out.tex, which is a real LaTeX file that can be passed to pdflatex.
I have similar \py{} and \pyno{} environments for embedding python in LaTeX.
I like it, but it is definitely an ugly mess of code.
Ryan
On Wed, Jun 25, 2008 at 2:53 AM, Ondrej Certik <ond...@certik.cz> wrote:
On Wed, Jun 25, 2008 at 5:32 AM, Ryan Krauss <ryan...@gmail.com> wrote:
That would be cool. I use Python+Maxima+Latex for nice looking symbolic stuff (I wrote a hackish set of Python tools for handling my own mixed language - sort of like literate programming). I would be ineterested in hearing how SymPy is going.
It's going good. :) What kind of stuff are you doing with maxima+python? Could you give me some examples? I'll try if it can be done in SymPy as well.
Ondrej
Introduction and Problem Statement
Automobile crashes cost the lives of 30,000 Americans in an average year. Some of these deaths might be prevented through the design of safer automobiles. Crashworthiness design relies heavily on computer simulations because reliable physical tests cannot be run until very late in the design of a vehicle. Even though finite element analysis (FEA) is widely used in crash simulations, there are often discrepancies between simulations and the results of physical tests. These differences can lead to failures of critical tests late in the design cycle when correcting the problem is often costly and difficult. Research is need to find and remove the causes of these discrepancies and make the simulations more accurate.
Overview of Research Approach
The ultimate goal of this research is to create a software platform that provides a reliable virtual test environment with excellent agreement between simulation and experiment.
The basic approach of this research is to break a crash simulation into smaller pieces. Each piece must be accurately modelled by itself before a reliable system model can be created. A crash test typically involves three components: a dummy, the vehicle sheet metal, and some foam or energy absorbing material. This work is starting by focusing on the energy absorbing material.
Two causes are often sited for the discrepancies between simulation and experiment: not being able to get accurate material data at impact speeds and the difficulty of modeling the contact between two colliding bodies during a crash. Getting high speed material data is difficult because the data is often contaminated by ringing that comes from internal resonances in the test device. A test device has been found that produces decent material impact response data. The natural frequencies if this device are very high, so that ringing in the data can safely be filtered without adversely effects.
This paper focuses on developing finite element analysis software that simulates this material impact test. The test consists of a small mass dropping onto a material sample. The dropping mass has an accelerometer on the back of it to measure the force between the material sample and the dropping mass. The impact velocity is also measured. Material properties will be extracted from the combination of simulation and experiment.
Open-Source Finite Element Modeling of Contact and Impact Events
Accurate simulation of this material impact test requires finite element analysis software with the following capabilities:
- nonlinear material modeling
- large deformations
- the ability to model contact between two bodies (the contact area may vary with time as one body pushes into the other)
The primary contribution of this work is adding contact modeling capabilities to an existing Python finite element analysis solver (SfePy). SfePy is an excellent fit for this work for several reasons: it is Python based, it includes a nonlinear solver, it takes advantage of NumPy and SciPy, and it is backed by a helpful community of researchers.
The development of open-source FEA software is necessary if research is to be conducted on contact modeling algorithms. Closed-source, proprietary software does not allow the researcher access to these algorithms in order to conduct research.
The open-source nature of the software being developed will allow others to review, modify, and build on the algorithms for contact modeling. The software module and contact algorithms will be verified by comparison with experimental results.
Ryan Krauss wrote:
A draft of my abstract is attached. I would appreciate any thoughts you have (is it clear, does it make sense, etc), but could especially use help with the FEA specific parts. Any details, depth, or clarity that you can add to those portions would be much appreciated.
Do you think I need to define finite element analysis in the abstract?
It is IMHO ok as it is. Maybe say that FEA is a modern tool to simulate real-world problems on computers.
What is your impression of the audience?
Now here I think you cannot assume much knowledge of your field. But it is a slightly different thing what is in the abstract and how you present your work.
I am open to adding additional authors, depending on the level of involvement people want to have.
My involvement depends if I find spare time to implement the material model :)
some remarks (sorry if my understanding of English is not sufficient):
Two causes are often sited for the discrepancies ... ? sited -> sighted?
frequencies if this device ... if -> in
the penultimate paragraph: too much words with 'research' :)
Otherwise it is a clear abstract, with well-defined aims and methods.
r.
Thanks for your thoughts. I really appreciate it. I don't know the answer to the sited vs. sighted question, but I wonder if I really meant "cited". It is always a little humbling when non-native speakers correct my grammar, but it is good for me.
Thanks again,
Ryan
On Thu, Jun 26, 2008 at 10:07 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
Ryan Krauss wrote:
A draft of my abstract is attached. I would appreciate any thoughts you have (is it clear, does it make sense, etc), but could especially use help with the FEA specific parts. Any details, depth, or clarity that you can add to those portions would be much appreciated.
Do you think I need to define finite element analysis in the abstract?
It is IMHO ok as it is. Maybe say that FEA is a modern tool to simulate real-world problems on computers.
What is your impression of the audience?
Now here I think you cannot assume much knowledge of your field. But it is a slightly different thing what is in the abstract and how you present your work.
I am open to adding additional authors, depending on the level of involvement people want to have.
My involvement depends if I find spare time to implement the material model :)
some remarks (sorry if my understanding of English is not sufficient):
Two causes are often sited for the discrepancies ... ? sited -> sighted?
frequencies if this device ... if -> in
the penultimate paragraph: too much words with 'research' :)
Otherwise it is a clear abstract, with well-defined aims and methods.
r.
Ryan Krauss wrote:
Thanks for your thoughts. I really appreciate it. I don't know the answer to the sited vs. sighted question, but I wonder if I really meant "cited". It is always a little humbling when non-native speakers correct my grammar, but it is good for me.
Well, we are good in spelling, as we usually learn the language from books -> it is easier to write for me then to talk. ;)
cheers, r. ps: I always wondered why the Americans do those spelling contests, as it is sooooo easy and the first thing to learn. Now I can see it is not trivial when you first speak and then write...
On Wed, Jun 25, 2008 at 5:15 PM, Ryan Krauss <ryan...@gmail.com> wrote:
Attached is an example of what I do. I definitely need symbolic matrix stuff, sometimes including symoblic matrix inversion. Maxima is definitely painful and not Pythonic (but I guess painful and non-Pythonic might be synonyms). I hate lisp. But Maxima and Emacs both try and pull me into it.
Thanks a lot. When I get some free time, I'll try to do the same in SymPy. It should be pretty easy.
Ondrej
That would be cool. Keep me posted.
On Thu, Jun 26, 2008 at 8:10 AM, Ondrej Certik <ond...@certik.cz> wrote:
On Wed, Jun 25, 2008 at 5:15 PM, Ryan Krauss <ryan...@gmail.com> wrote:
Attached is an example of what I do. I definitely need symbolic matrix stuff, sometimes including symoblic matrix inversion. Maxima is definitely painful and not Pythonic (but I guess painful and non-Pythonic might be synonyms). I hate lisp. But Maxima and Emacs both try and pull me into it.
Thanks a lot. When I get some free time, I'll try to do the same in SymPy. It should be pretty easy.
Ondrej
participants (3)
-
Ondrej Certik
-
Robert Cimrman
-
Ryan Krauss