PDF

Mooney-Rivlin Curve Fit
Introduction
This tutorial example demonstrates how to use the Optimization Module to estimate unknown function parameters based on measured data. The two-parameter Mooney-Rivlin solid material model is used as an example, but the procedure is generally applicable when you need to fit a parametrized analytic function to measured data.
Note: This application is also used in Introduction to the Optimization Module.
Model Definition
The two-parameter incompressible Mooney-Rivlin material model describes the local behavior of rubber-like materials. The model assumes that the local strain energy density in an incompressible solid is a simple function of local strain invariants.
In a standard tensile test, a rotationally symmetric test specimen is pulled in such a way that it extends in one direction and contracts symmetrically in the other two. For this case of uniaxial extension, the relationship between applied force, F, and resulting extension, ΔL, of a true Mooney-Rivlin material is
(1)
where A0 is the original cross-section area of the test specimen and L0 is its reference length. The constants C10 and C01 are material parameters which must be determined by fitting Equation 1 to the experimental data from the tensile test.
In practice, tensile test data is delivered in a form which is independent of the geometry of the test specimen used. There are multiple possible formats. The one used here contains corresponding measured values of engineering stress, Pi, representing force per unit reference area
and stretch, λi, representing relative elongation
The expected relationship between these variables for a Mooney-Rivlin material is
Given N pairs of measurements i,Pi), i = 1..N, the values of C10 and C01 which best fit the measured data are considered to be those which minimize the total squared error
The curve fitting problem is therefore identical to an optimization problem.
Results
The following plot shows measured stress and stress computed using the material properties that have been fitted to the measured data.
Figure 1: Measured (green circles) and computed (blue line) stresses.
Application Library path: Optimization_Module/Parameter_Estimation/curve_fit_mooney_rivlin
Modeling Instructions
From the File menu, choose New.
New
In the New window, click Model Wizard.
Since no geometry is involved in this pure curve fitting problem, choose to create a 0D component. The Optimization interface is required when using least-squares objective functions while the Stationary study step is necessary as a container for the control variables to be optimized.
Model Wizard
1
In the Model Wizard window, click 0D.
2
In the Select Physics tree, select Mathematics>Optimization and Sensitivity>Optimization (opt).
3
Click Add.
4
Click Study.
5
In the Select Study tree, select Preset Studies>Stationary.
6
Click Done.
Global Definitions
Add the stretch parameter lambda which has been varied in the measured data. Also add the unknown material parameters as global model parameters.
Parameters
1
On the Home toolbar, click Parameters.
2
In the Settings window for Parameters, locate the Parameters section.
3
Variables 1
1
On the Home toolbar, click Variables and choose Global Variables.
Set up the assumed relationship between stretch and engineering stress as a variable expression in terms of lambda and the yet unknown C10 and C01.
2
In the Settings window for Variables, locate the Variables section.
3
Optimization (opt)
Global Least-Squares Objective 1
1
On the Optimization toolbar, click Global Least-Squares Objective.
You can import tensile test data from file in the form of comma-separated values or, as demonstrated here, enter the data manually into a local table.
2
In the Settings window for Global Least-Squares Objective, locate the Experimental Data section.
3
From the Data source list, choose Local table.
4
Click Add Column.
5
6
From the Parameter type list, choose Parameter.
7
In the Parameter name text field, type lambda.
8
From the Parameter column list, choose 1.
9
Study 1
Use an Optimization study step to set up control variables and select an optimization solver. The Levenberg-Marquardt solver is particularly efficient for least-squares problems such as this one.
Optimization
1
On the Study toolbar, click Optimization.
2
In the Settings window for Optimization, locate the Optimization Solver section.
3
From the Method list, choose Levenberg-Marquardt.
4
Locate the Control Variables and Parameters section. Click Add.
5
6
Click Add.
7
8
On the Study toolbar, click Compute.
Results
Add a plot of the least-squares fitted stress-strain curve together with the measured data.
Global 1
1
On the Home toolbar, click Add Plot Group and choose 1D Plot Group.
2
In the Model Builder window, right-click 1D Plot Group 1 and choose Global.
3
In the Settings window for Global, locate the y-axis data section.
4
Click P - Engineering stress in the upper-right corner of the section.
Global 2
1
In the Model Builder window, under Results right-click 1D Plot Group 1 and choose Global.
2
In the Settings window for Global, locate the y-axis data section.
3
Click comp1.opt.glsobj1.col1 - Least squares experimental value in the upper-right corner of the section. Click to expand the Coloring and style section. Locate the Coloring and Style section. Find the Line style subsection. From the Line list, choose None.
4
Find the Line markers subsection. From the Marker list, choose Circle.
5
From the Positioning list, choose In data points.
6
On the 1D Plot Group 1 toolbar, click Plot.
1D Plot Group 1
Finish the plot by adjusting the title, axis labels, and legend positioning.
1
In the Model Builder window, under Results click 1D Plot Group 1.
2
In the Settings window for 1D Plot Group, click to expand the Title section.
3
From the Title type list, choose None.
4
Locate the Plot Settings section. Select the x-axis label check box.
5
6
Select the y-axis label check box.
7
8
Click to expand the Legend section. From the Position list, choose Upper left.
Global Evaluation 1
Use the predefined Objective value node to evaluate the estimated values of material parameters C01 and C10.
1
In the Model Builder window, under Results>Derived Values click Global Evaluation 1.
2
In the Settings window for Global Evaluation, locate the Data section.
3
From the Parameter selection (lambda) list, choose Last.
4
Click Replace Expression in the upper-right corner of the Expressions section. From the menu, choose Solver>Control parameters>C10 - Mooney-Rivlin parameter.
5
Click Evaluate.
6
Click Replace Expression in the upper-right corner of the Expressions section. From the menu, choose Solver>Control parameters>C01 - Mooney-Rivlin parameter.
7
Click Evaluate.
1D Plot Group 1
Click the Zoom Extents button on the Graphics toolbar.