LightForm-group / formable

Formability analysis in Python
Mozilla Public License 2.0
2 stars 1 forks source link

Allow fitting the Young's modulus to `TensileTest` data #12

Open aplowman opened 3 years ago

aplowman commented 3 years ago

We would need to modify TensileTest in the following ways:

JQFonseca commented 3 years ago

Why are we considering the elastic modulus in the formable package? Shouldn't it be restricted to the plastic part?

aplowman commented 3 years ago

The Young's modulus is used to find the plastic strain.

I agree formable probably isn't the best place for the TensileTest class, given that it obviously has utility outside of formability analysis. We have a separate dedicated package called tensile_test for this class. But I had moved the class into formable to make updates on the CSF easier whilst I was developing the Levenberg-Marquardt fitting functions.

We can move it back to the tensile_test package if you prefer.

JQFonseca commented 3 years ago

Apologies, I should have looked at the code better. The elastic part of the strain in experimental stress-strain data is often not the Young's modulus (the material property). It can contain compliance, for example. But if all you are doing is doing a linear estimate of the non-plastic strain then it's fine. Maybe call it compliance constant instead of modules, so it's clear it might not be the Young's modulus?

aplowman commented 3 years ago

The elastic part of the strain in experimental stress-strain data is often not the Young's modulus (the material property). It can contain compliance, for example.

Ah I see. Would an example of this be compliance due to deformation of the testing machine? If not, could you give an example?

If we opted for compliance_constant, this would be the inverse of the current youngs_modulus?

JQFonseca commented 3 years ago

Yes that's it. For larger deformations we often use compression testing where the samples are too small for on-sample extensometry (compressometry?) With tensile testing extensometry is more common but it is limited to smaller strains. Wayne has a good comparison of DIC tensile testing and cross-head data.

And yes, I guess compliance is the inverse. Maybe we can use stiffness_constant?

João

On Fri, 12 Feb 2021, 6:14 pm Adam Plowman, notifications@github.com wrote:

The elastic part of the strain in experimental stress-strain data is often not the Young's modulus (the material property). It can contain compliance, for example.

Ah I see. Would an example of this be compliance due to deformation of the testing machine? If not, could you give an example?

If we opted for compliance_constant, this would be the inverse of the current youngs_modulus?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LightForm-group/formable/issues/12#issuecomment-778357276, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZFQO4Y5HLEIEIXT2TJQNTS6VVXXANCNFSM4XQ5GGJA .

aplowman commented 3 years ago

OK, thanks! Let's go with the new method being fit_stiffness_constant, setting an attribute stiffness_constant. The TensileTest.__init__ parameter youngs_modulus should also be changed to stiffness_constant for consistency, with a note added to the docstring that this is where the Young's modulus should be specified, if it is given.