## Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems

 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: John Peterson - 2012-06-24 19:19:05 On Saturday, June 23, 2012, Kyunghoon Lee wrote: > Hi all, > > I wonder what is the best way of computing strain and stress values with > displacements obtained by solving linear elasticity problems. I can simply > follow displacement-strain and strain-stress relationships (using finite > difference to compute gradients), but I guess it would be more natural to > use basis function information. I'd appreciate it if someone can suggest > me some reference examples. What about using some kind of gradient recovery method like Zienkewicz-Zhu to postprocess the solution? Libmesh also has the patch recovery error estimator machinery that may be inspirational. -- John 

 [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Kyunghoon Lee - 2012-06-24 02:34:51 Hi all, I wonder what is the best way of computing strain and stress values with displacements obtained by solving linear elasticity problems. I can simply follow displacement-strain and strain-stress relationships (using finite difference to compute gradients), but I guess it would be more natural to use basis function information. I'd appreciate it if someone can suggest me some reference examples. K. Lee. 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Vikram Garg - 2012-06-24 03:34:15 Hey Kyunghoon, If you are using FEMSystem, see element_postprocess.C and side_postprocess.C in this example: libmesh/examples/adjoints/adjoints_ex1 ( http://libmesh.sourceforge.net/adjoints_ex1.php) If you are not using FEMSystem, I believe all you will have to do is to write a loop over all elements, and then adapt the contents of element/side_postprocess.C to the interior of that loop. Thanks. On Sat, Jun 23, 2012 at 9:34 PM, Kyunghoon Lee wrote: > Hi all, > > I wonder what is the best way of computing strain and stress values with > displacements obtained by solving linear elasticity problems. I can simply > follow displacement-strain and strain-stress relationships (using finite > difference to compute gradients), but I guess it would be more natural to > use basis function information. I'd appreciate it if someone can suggest > me some reference examples. > > K. Lee. > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Libmesh-users mailing list > Libmesh-users@... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > -- Vikram Garg PhD Candidate Institute for Computational and Engineering Sciences The University of Texas at Austin http://users.ices.utexas.edu/~vikram/ http://www.runforindia.org/runners/vikramg 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Kyunghoon Lee - 2012-06-24 05:11:40 On Sun, Jun 24, 2012 at 11:33 AM, Vikram Garg wrote: > Hey Kyunghoon, > If you are using FEMSystem, see > element_postprocess.C and side_postprocess.C in this example: > libmesh/examples/adjoints/adjoints_ex1 ( > http://libmesh.sourceforge.net/adjoints_ex1.php) > > If you are not using FEMSystem, I believe all you will have to do is to > write a loop over all elements, and then adapt the contents of > element/side_postprocess.C to the interior of that loop. > > Thanks. > Hi Grag, Thank you for the suggestion. I'm working on Reduced Cantilever Problem ( http://libmesh.sourceforge.net/reduced_basis_ex5.php), so I guess I'm using FEMSystem. I checked the two files, element_postprocess.C and side_postprocess.C, but I cannot figure out how I can use them for my strain & stress evaluations. Can you elaborate, plz? K. Lee. 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Vikram Garg - 2012-06-24 18:41:14 Hey Kyunghoon, Unfortunately, I am not very familiar with reduced basis methods (or with linear elasticity). If you were using regular Finite Elements, then going by this formulation of linear elasticity ( http://en.wikipedia.org/wiki/Linear_elasticity#Direct_tensor_form), the strain is the gradient of the displacement that is solved for. So I believe, one would use element_postprocess.C, but instead of computing interior_value, one would use compute interior_gradient to compute the strain, and then use Hooke's law to get the stress. This would work if you needed average stress over a subset of the domain. However, if you needed stress and strain at a point, you might want to use point_gradient. See line 464 in libmesh/examples/fem_system/fem_system_ex1/naviersystem.C , it gives an example for point_value but the idea is the same for point_gradient. The definitions for point_value and point_gradient are in libmesh/src/systems/system.C . Thanks. On Sun, Jun 24, 2012 at 12:11 AM, Kyunghoon Lee wrote: > On Sun, Jun 24, 2012 at 11:33 AM, Vikram Garg wrote: > >> Hey Kyunghoon, >> If you are using FEMSystem, see >> element_postprocess.C and side_postprocess.C in this example: >> libmesh/examples/adjoints/adjoints_ex1 ( >> http://libmesh.sourceforge.net/adjoints_ex1.php) >> >> If you are not using FEMSystem, I believe all you will have to do is to >> write a loop over all elements, and then adapt the contents of >> element/side_postprocess.C to the interior of that loop. >> >> Thanks. >> > > Hi Grag, > > Thank you for the suggestion. I'm working on Reduced Cantilever Problem ( > http://libmesh.sourceforge.net/reduced_basis_ex5.php), so I guess I'm > using FEMSystem. I checked the two files, element_postprocess.C and > side_postprocess.C, but I cannot figure out how I can use them for my > strain & stress evaluations. Can you elaborate, plz? > > K. Lee. > -- Vikram Garg PhD Candidate Institute for Computational and Engineering Sciences The University of Texas at Austin http://users.ices.utexas.edu/~vikram/ http://www.runforindia.org/runners/vikramg 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: John Peterson - 2012-06-24 19:19:05 On Saturday, June 23, 2012, Kyunghoon Lee wrote: > Hi all, > > I wonder what is the best way of computing strain and stress values with > displacements obtained by solving linear elasticity problems. I can simply > follow displacement-strain and strain-stress relationships (using finite > difference to compute gradients), but I guess it would be more natural to > use basis function information. I'd appreciate it if someone can suggest > me some reference examples. What about using some kind of gradient recovery method like Zienkewicz-Zhu to postprocess the solution? Libmesh also has the patch recovery error estimator machinery that may be inspirational. -- John 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Derek Gaston - 2012-06-24 23:35:25 Lot's of options here... but what we generally do is compute the _average_ stress and strain (pick a component) and store it per element using CONSTANT, MONOMIAL's in an ExplicitSystem... that way we can view the stress/strain in your visualization tool. This is pretty similar to what Abaqus and other solid mechanics codes do. libMesh will even output a nodal interpolation of that CONSTANT, MONOMIAL field by default if you are using Exodus... which again matches what Abaqus typically does... Computing the average is trivially easy... just integrate whatever component of stress/strain you are interested in (or compute Mises or whatever) over the element (loop over qp's, multiply by JxW and add it up) then just divide by elem->volume() to get the average on that element and store the result into the ExplicitSystem solution vector at the corresponding element DoF for your CONSTANT, MONOMIAL... Derek On Sun, Jun 24, 2012 at 1:19 PM, John Peterson wrote: > On Saturday, June 23, 2012, Kyunghoon Lee wrote: > > > Hi all, > > > > I wonder what is the best way of computing strain and stress values with > > displacements obtained by solving linear elasticity problems. I can > simply > > follow displacement-strain and strain-stress relationships (using finite > > difference to compute gradients), but I guess it would be more natural to > > use basis function information. I'd appreciate it if someone can suggest > > me some reference examples. > > > What about using some kind of gradient recovery method like Zienkewicz-Zhu > to postprocess the solution? > > Libmesh also has the patch recovery error estimator machinery that may be > inspirational. > > > -- > John > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Libmesh-users mailing list > Libmesh-users@... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: David Knezevic - 2012-08-09 00:36:06 I just added stress plotting to systems_of_equations_ex6. I used CONSTANT MONOMIALs, as you suggested Derek, and plot the 9 entries of \sigma as well as the von Mises stress. David On 06/24/2012 07:35 PM, Derek Gaston wrote: > Lot's of options here... but what we generally do is compute the _average_ > stress and strain (pick a component) and store it per element using > CONSTANT, MONOMIAL's in an ExplicitSystem... that way we can view the > stress/strain in your visualization tool. > > This is pretty similar to what Abaqus and other solid mechanics codes do. > libMesh will even output a nodal interpolation of that CONSTANT, MONOMIAL > field by default if you are using Exodus... which again matches what Abaqus > typically does... > > Computing the average is trivially easy... just integrate whatever > component of stress/strain you are interested in (or compute Mises or > whatever) over the element (loop over qp's, multiply by JxW and add it up) > then just divide by elem->volume() to get the average on that element and > store the result into the ExplicitSystem solution vector at the > corresponding element DoF for your CONSTANT, MONOMIAL... > > Derek > > On Sun, Jun 24, 2012 at 1:19 PM, John Peterson wrote: > >> On Saturday, June 23, 2012, Kyunghoon Lee wrote: >> >>> Hi all, >>> >>> I wonder what is the best way of computing strain and stress values with >>> displacements obtained by solving linear elasticity problems. I can >> simply >>> follow displacement-strain and strain-stress relationships (using finite >>> difference to compute gradients), but I guess it would be more natural to >>> use basis function information. I'd appreciate it if someone can suggest >>> me some reference examples. >> >> What about using some kind of gradient recovery method like Zienkewicz-Zhu >> to postprocess the solution? >> >> Libmesh also has the patch recovery error estimator machinery that may be >> inspirational. >> >> >> -- >> John >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Libmesh-users mailing list >> Libmesh-users@... >> https://lists.sourceforge.net/lists/listinfo/libmesh-users >> > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Libmesh-users mailing list > Libmesh-users@... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > > 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: David Knezevic - 2012-06-25 00:01:41 K, I'd recommend that you do this first for a "normal FE" example like systems_of_equations_ex4, and then apply what you learn there to the RB case. David On 06/24/2012 07:35 PM, Derek Gaston wrote: > Lot's of options here... but what we generally do is compute the _average_ > stress and strain (pick a component) and store it per element using > CONSTANT, MONOMIAL's in an ExplicitSystem... that way we can view the > stress/strain in your visualization tool. > > This is pretty similar to what Abaqus and other solid mechanics codes do. > libMesh will even output a nodal interpolation of that CONSTANT, MONOMIAL > field by default if you are using Exodus... which again matches what Abaqus > typically does... > > Computing the average is trivially easy... just integrate whatever > component of stress/strain you are interested in (or compute Mises or > whatever) over the element (loop over qp's, multiply by JxW and add it up) > then just divide by elem->volume() to get the average on that element and > store the result into the ExplicitSystem solution vector at the > corresponding element DoF for your CONSTANT, MONOMIAL... > > Derek > > On Sun, Jun 24, 2012 at 1:19 PM, John Peterson wrote: > >> On Saturday, June 23, 2012, Kyunghoon Lee wrote: >> >>> Hi all, >>> >>> I wonder what is the best way of computing strain and stress values with >>> displacements obtained by solving linear elasticity problems. I can >> simply >>> follow displacement-strain and strain-stress relationships (using finite >>> difference to compute gradients), but I guess it would be more natural to >>> use basis function information. I'd appreciate it if someone can suggest >>> me some reference examples. >> >> What about using some kind of gradient recovery method like Zienkewicz-Zhu >> to postprocess the solution? >> >> Libmesh also has the patch recovery error estimator machinery that may be >> inspirational. >> >> >> -- >> John >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Libmesh-users mailing list >> Libmesh-users@... >> https://lists.sourceforge.net/lists/listinfo/libmesh-users >> > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Libmesh-users mailing list > Libmesh-users@... > https://lists.sourceforge.net/lists/listinfo/libmesh-users 
 Re: [Libmesh-users] computing strain and stress from the solutions of linear elastic problems From: Kyunghoon Lee - 2012-06-25 07:26:04 On Mon, Jun 25, 2012 at 8:01 AM, David Knezevic wrote: > K, > > I'd recommend that you do this first for a "normal FE" example like > systems_of_equations_ex4, and then apply what you learn there to the RB > case. > > David > Thank you all for the replies. I'll follow David's suggestion; work on Systems Example 4 - Linear Elastic Cantilever first, then move on to its RB version. K. Lee.