Example 727:
Parameter estimation by minimising error of projections of data points scanned from actual deformed surface onto predicted deformed surface
This example estimates a neo-hookian parameter by minimising the error of projections of deformed surface data points on predicted deformed surfaces of a cantilever beam
The comfile run by this example is as follows:
#If the example path is not set, default to current directory
if(!defined $example) {
$example = "";
}
#Drop off the trailing / in the example path
$chopped = chop $example;
if($chopped ne "/"){
$example = $chopped;
}
#We set up the geometry, initial conditions and load up the deformed surface data markers the first time when $OPTI is not equal to one
if ($OPTI ne 1) {
fem def para;r;memory;example
fem def coor 3,1
fem def base;r;TriLinear;example
fem def;add base;r;BiLinear;example
fem def;add base;r;ConstPress;example
fem def node;r;cube;example
fem def elem;r;cube;example
fem def fibre;r;cube;example
fem def elem;r;cube;example fibre
fem def equa;r;mechanics;example
fem def mate;r;mooney_rivlin;example
fem group node 1,6,11,16 as BACKNODES
fem def init;r;gravity;example
fem def solve;r;newton;example
#read in deformed synthetic surface data
fem def data;r;cubedata_def;example
######################################################################################################################
#Need to project data points onto a predicted deformed surface (fem def init puts undef with bcs into deformed variables memory space)
#for optimiser to know information about number of data point residuals etc to start optimising.
#This can be fixed in cmiss code. Has been fixed in my local version so that I don't need to do this command here. Will commit when
#I have completed code to optimise for undeformed state.
fem def xi;c closest_face external deform
fem list data error deform
#read in the ipopti file
######################################################################################################################
#Some info on the ipopti prompts
#make sure that the derivative level is set to -1. -1 means that we are going to use first derivatives for the perturbation
#The step limit says that this is the max step that will be taken from the current material param value in the direction
#the line search has found to be the next step to minimise the residuals.
#The difference interval is the amount of perturbation that will be made to calculate the derivative at the current point in
#the optimisation space.
######################################################################################################################
# This >>symlink<< is set to current directory that full path doesn't need
# to be specified in MaterialParameterOptimisation.ipopti
# For further information of symling have a look under
# >> perldoc -f symlink <<
symlink "$example/example_727.com","example_727.com"
fem def optimise;r;undef;example
$OPTI = 1;
optimise;
} else {
#once the optimise file has been read in. we repeatedly solve the forward problem for each time we peturb the material parameters.
#In this case, the neo-Hookean param in the ipmate file.
fem def init;r;gravity;example
fem def solve;r;newton;example
fem solve inc 1.0 iter 20
fem def xi;c closest_face external deform #note! the code does not work with qualifier deformed. Only deform should be used
fem list data error deformed #remember that you can speed up optimisation by getting rid of this command in optimisation loop.
#evaluate residuals
fem evaluate resid wrt data_fitting function deformed
}
Additional testing commands:
fem def optimise;w;cmiss_test
Files used by this example are:
Name Modified Size
example_727.com 02-Apr-2005 3.2k
BiLinear.ipbase 01-Apr-2005 1.1k
ConstPress.ipbase 01-Apr-2005 1.1k
TriLinear.ipbase 01-Apr-2005 1.4k
cube.ipelem 01-Apr-2005 1.5k
cube.ipelfb 01-Apr-2005 1.1k
cube.ipfibr 01-Apr-2005 4.1k
cube.ipmesh 01-Apr-2005 1.0k
cube.ipnode 01-Apr-2005 4.7k
cube_def.ipnode 01-Apr-2005 4.8k
cubedata_def.ipdata 01-Apr-2005 179k
gravity.ipinit 01-Apr-2005 1.3k
mechanics.ipequa 01-Apr-2005 2.0k
memory.ippara 01-Apr-2005 5.9k
mooney_rivlin.ipmate 01-Apr-2005 2.2k
newton.ipsolv 16-Aug-2010 2.2k
newton.ipsolv.old 13-Apr-2007 2.0k
test_output.com 01-Apr-2005 30
undef.ipopti 01-Apr-2005 1.2k
view.com 01-Apr-2005 153
Download the entire example:
Name Modified Size
examples_7_72_727.tar.gz 17-Aug-2010 26k
Testing status by version:
Testing status by file:
- signal
i686-linux | | | |
SIGABRT | cm-debug: | exit due to SIGABRT signal. |
mips-irix | | | |
SIGABRT | cm-debug-clear-malloc: | exit due to SIGABRT signal. |
SIGABRT | cm-debug-clear-malloc7: | exit due to SIGABRT signal. |
rs6000-aix | | | |
SIGTRAP | cm64-debug: | exit due to SIGTRAP signal. |
- cmiss_test.log
- cmiss_test.ipopti
i686-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Missing | cm-debug: | output file not generated for ndiff;
generic answer. |
mips-irix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Missing | cm-debug-clear-malloc: | output file not generated for ndiff;
generic answer. |
Missing | cm-debug-clear-malloc7: | output file not generated for ndiff;
generic answer. |
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Success | cm64-debug: | ndiff test: no significant differences with
generic answer.
|
rs6000-aix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Missing | cm64-debug: | output file not generated for ndiff;
generic answer. |
x86_64-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Html last generated: Sun Mar 6 05:50:32 2016
Input last modified: Mon Aug 16 11:21:50 2010
CMISS Help /
Examples /
7 /
72 /
727