Talk:Neo-Hookean solid

message: This whole category currently suffers badly from articles which 
*use terms without defining them,
*use terms which are not standard in the wider context of applied mathematics, but which should defined in this wider context (e.g. using "first invariant" for "trace" is helpful to absolutely no-one, emphatically including materials science students)
*are inadequately linked with appropriate articles in multilinear algebra,
*fail to distinguish between tensors and tensor fields,
*fail to point out which quanties are constants arbitrarily chosen in order to model particular materials, and terms which represent generally defined physical quanties like internal energy.
In general, materials science notation tends to be far too clumsy and specialized, and engineering students should refuse to tolerate it.  (Even better, engineering professors should clean their house--- starting with these articles!)  However, to repeat, saying "first invariant" when you mean "trace" really takes the cake.  I mean, that's really appalling.  Since you should never use this term without adding or trace, why use it all?  What's the point?  If engineering professors are trying to keep their students from accidently learning some mathematics, they certainly are going about it the right way by inventing new terms which are not used outside their own classes.---CH  (talk) 00:35, 13 November 2005 (UTC)
thread_title: Cleanup

message: The Matlab script used to plot the figures has been pasted below.
% Plot neo Hookean materials
%
function neoHook
G = 1.5e6;
K = 2200e6;
nu = (3*K-2*G)/(2*(3*K+G))
C1 = G/2;
D1 = K/2;
K = 10000e6;
D2 = K/2;
K = 500e6;
D3 = K/2;
figure;
lambda = 0.1:0.05:5;
for i=1:length(lambda)
  J = newton(lambda(i), C1, D1);
  sig1(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J/lambda(i));
  J = newton(lambda(i), C1, D2);
  sig2(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J/lambda(i));
  J = newton(lambda(i), C1, D3);
  sig3(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J/lambda(i));
  sigI(i) = 2*C1*(lambda(i)^2-1/lambda(i));
end
p1 = plot(lambda, sig1*1.0e-6, 'k-', 'LineWidth', 3); hold on;
p2 = plot(lambda, sig2*1.0e-6, 'g-', 'LineWidth', 3); hold on;
p3 = plot(lambda, sig3*1.0e-6, 'b-', 'LineWidth', 3); hold on;
p4 = plot(lambda, sigI*1.0e-6, 'r-', 'LineWidth', 3); hold on;
plot([1.0 1.0], [-15 35], 'k-', 'LineWidth', 2);
plot([0.0 5.0], [0 0], 'k-', 'LineWidth', 2);
set(gca, 'XLim', [0 5], 'YLim', [-15 35], 'FontSize', 18, 'LineWidth', 2);
grid on;
axis square
title('Uniaxial stretch with \mu = 1.5 MPa', 'FontSize', 18);
xlabel('Stretch (\lambda)', 'FontSize', 18, 'LineWidth', 2);
ylabel('True axial stress (\sigma_{11}) (MPa)', 'FontSize', 18, 'LineWidth', 2);
legend([p1 p2 p3 p4], '\kappa = 2.2 GPa', '\kappa = 10 GPa', '\kappa = 0.5 GPa', 'Incompressible'); 
figure;
lambda = 0.1:0.05:5;
for i=1:length(lambda)
  J = newtonBiax(lambda(i), C1, D1);
  sig1(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J^2/lambda(i)^4);
  J = newtonBiax(lambda(i), C1, D2);
  sig2(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J^2/lambda(i)^4);
  J = newtonBiax(lambda(i), C1, D3);
  sig3(i) = 2*C1/J^(5/3)*(lambda(i)^2 - J^2/lambda(i)^4);
  sigI(i) = 2*C1*(lambda(i)^2-1/lambda(i)^4);
  sigIUniax(i) = 2*C1*(lambda(i)^2-1/lambda(i));
end
p1 = plot(lambda, sig1*1.0e-6, 'k-', 'LineWidth', 3); hold on;
p2 = plot(lambda, sig2*1.0e-6, 'g-', 'LineWidth', 3); hold on;
p3 = plot(lambda, sig3*1.0e-6, 'b-', 'LineWidth', 3); hold on;
p4 = plot(lambda, sigI*1.0e-6, 'r-', 'LineWidth', 3); hold on;
p5 = plot(lambda, sigIUniax*1.0e-6, '--', 'LineWidth', 3, 'Color', [0.2 0.7 0.5]); hold on;
plot([1.0 1.0], [-15 35], 'k-', 'LineWidth', 2);
plot([0.0 5.0], [0 0], 'k-', 'LineWidth', 2);
set(gca, 'XLim', [0 5], 'YLim', [-15 35], 'FontSize', 18, 'LineWidth', 2);
grid on;
axis square
title('Biaxial stretch with \mu = 1.5 MPa', 'FontSize', 18);
xlabel('Stretch (\lambda)', 'FontSize', 18, 'LineWidth', 2);
ylabel('True axial stress (\sigma_{11}) (MPa)', 'FontSize', 18, 'LineWidth', 2);
legend([p1 p2 p3 p4 p5], '\kappa = 2.2 GPa', '\kappa = 10 GPa', '\kappa = 0.5 GPa', 'Incompressible', 'Uniaxial'); 
function [J] = newton(lambda, C1, D1)
  J0 = 1.0;
  [fx, dfx] = evalfunction(lambda, J0, C1, D1);
  J1 = J0 - fx/dfx;
  Jdiff = J1-J0;
  while (Jdiff > 1.0e-6),
    J0 = J1;
    [fx, dfx] = evalfunction(lambda, J0, C1, D1);
    J1 = J0 - fx/dfx;
    Jdiff = J1-J0;
  end
  J = J1;
function [fx, dfx] = evalfunction(lambda, J, C1, D1)
  fx = D1*J^2 - (D1+2*C1/(3*lambda))*J + C1*J^(1/3)/lambda - C1*lambda^2/3;
  dfx = 2*D1*J - (D1+2*C1/(3*lambda)) + (1/3)*C1*J^(-2/3)/lambda;
function [J] = newtonBiax(lambda, C1, D1)
  J0 = 1.0;
  [fx, dfx] = evalfunctionBiax(lambda, J0, C1, D1);
  J1 = J0 - fx/dfx;
  Jdiff = J1-J0;
  while (Jdiff > 1.0e-6),
    J0 = J1;
    [fx, dfx] = evalfunctionBiax(lambda, J0, C1, D1);
    J1 = J0 - fx/dfx;
    Jdiff = J1-J0;
  end
  J = J1;
function [fx, dfx] = evalfunctionBiax(lambda, J, C1, D1)
  fx = (3*D1-C1/lambda^4)*J^2 + 3*C1/lambda^4*J^(4/3) - 3*D1*J - 2*C1*lambda^2;
  dfx = 2*(3*D1-C1/lambda^4)*J + 4*C1/lambda^4*J^(1/3) - 3*D1;
Bbanerje (talk) 06:32, 15 April 2010 (UTC)
thread_title:  Matlab code for plotting figures 

message: It seems that according to cited Ogden's book the compressible noe-Hookean model has to be
:
   W = C_{1}~(I_1 - 3 - 2\ln J) + D_1~(J-1)^2 
 
i.e. it involves I_1 , not \bar{I}_1  — Preceding unsigned comment added by 142.157.41.23 (talk) 16:44, 6 August 2013 (UTC)
replies: text: I don't have the Ogden book. Can you double check and fix the formula? Alex Bakharev (talk) 00:53, 7 August 2013 (UTC)
thread_title:  Ogden's compressible model 

message: I don't understand, why it is written  \varepsilon_{11}=\lambda-1  in the "Uniaxial extension" section? This seems to be wrong. Tovarischivanov (talk) 01:20, 18 April 2016 (UTC)
thread_title:  Error or source needed 

message: Substituted at 01:03, 30 April 2016 (UTC)
thread_title: Assessment comment

message: So, the identity matrices here are represented as "\boldsymbol{\mathit{1}}", a bold italic numeral one, but for me, it just renders as an italic numeral one without bolding, "\mathit{1}". For me, at least, this is extremely confusing. Firstly because I've never seen the identity matrix represented as anything other than "\boldsymbol{I}" or "\boldsymbol{I_n}", but also because it doesn't even look like a matrix. Since it's in italics, it looks like a scalar variable, but it's clearly not because it's a numeral, which made me think it might be an operator of some sort, especially since there are random non-breaking spaces peppered all over the place that make it difficult to tell whether the "\mathit{1}" in "p~\mathit{1}~+" should be associated with the "p" or the "+". The Wikipedia page for the identity matrix says that it is occasionally represented by bold "\boldsymbol{1}" in fields like quantum physics (I guess matsci is basically quantum), but does not sanction a nonbolded italic "\boldsymbol{\mathit{1}}".
So is it just me, or would it be appropriate to replace all the "p~\boldsymbol{\mathit{1}}"s with "p\boldsymbol{1}"? I see why it can't be "\boldsymbol{I}", with all the invariants and whatnot, but I'm pretty sure "p~\boldsymbol{\mathit{1}}" is just wrong, and it's definitely super confusing. I'm going to replace it all if no one responds to this in a while; I just wanted to check if I was missing something and this non-bold italic non-breaking space notation is actually correct.
Justin Kunimune (talk) 02:57, 27 May 2018 (UTC)
replies: text: The quantity \boldsymbol{\mathit{1}} is the rank-2 identity tensor (and not a matrix) and is italicised to make the notation consistent with other rank-2 tensors.  This tensor is not equal to the identity matrix except when orthonormal basis vectors are used.  However, the rendering engine of wikipedia maths has changed since this article was written and it's probably easier to just replace it with \boldsymbol{I}.  Please go ahead and make the changes as you see fit.  Just make sure the changes are consistent in all the related articles. Bbanerje (talk) 01:34, 28 May 2018 (UTC)
thread_title:  Identity matrix notation