stochastic finite element for biomechanics
TRANSCRIPT
-
7/30/2019 Stochastic Finite Element for Biomechanics
1/54
STOCHASTIC FINITE ELEMENTSTUDY OF NON-SPHERICAL
PEARS
Submitted by:
NAME: KEE MEW JONATHAN AH-FAT
MATRIC NO: U025875H
DEPARTMENT OF MECHANICAL ENGINEERINGNATIONAL UNIVERSITY OF SINGAPORE
Session 2005/2006
-
7/30/2019 Stochastic Finite Element for Biomechanics
2/54
Summary
The non-destructive analysis of the vibration responses of spherically shaped fruits in
order to evaluate their firmness by finite element simulations has been well studied over
the years. In this report, the aim is to transpose such a method to the study of non-
spherical fruits such as pears, strawberries, papayas, etc., to investigate the key factors
governing the resonant frequencies registered for the sorting of such non-spherical fruits.
An algorithm to generate pear models with random non-spherical shapes and their
corresponding finite element meshes was developed based on the statistical Gaussian
theory. The resonant frequencies of the artificial pears were calculated and, along withtheir corresponding mode shapes, were evaluated with regard to the different geometrical
features and the material properties of the pears. Modal and stochastic finite element
analyses were applied to reveal the extent of the effects of the geometrical features and
the material aspects.
One hundred 3D models of non-spherical pears were generated and modal analysis was
carried out to find out the natural frequencies spectrums. Amongst them, twenty models
were then selected such that their f o , the lowest spherical frequency , covered the whole
range of frequencies for the 100 pears to implement the stochastic finite element
simulations. Stochastic finite element analysis reveals that both the geometric features
and the inner qualities of the pear affect the calculation of the firmness remarkably. It can
be stated from the evaluations carried out that the sorting of non-spherical fruits should
be preceded by a sorting according to the geometric property of the fruit before firmness
is evaluated. The height was observed to affect the value of the firmness index of the
models and in their case, the height can be used as a criterion of preliminary selection.
2
-
7/30/2019 Stochastic Finite Element for Biomechanics
3/54
ACKNOWLEDGEMENT
The author wishes to express sincere appreciation of the advices given bymy supervisor, Prof HP Lee and the assistances by some other staffs of the Institute of High Performance Computing in carrying out this studysuccessfully.
3
-
7/30/2019 Stochastic Finite Element for Biomechanics
4/54
TABLE OF CONTENTS
SUMMARY 2
ACKNOWLEDGEMENT 3
TABLE OF CONTENTS 4
LIST OF FIGURES & TABLES 5
LIST OF SYMBOLS 7
INTRODUCTION 8
MATERIALS AND METHODS 9
RESULTS AND DISCUSSION 12
CONCLUSIONS 29
LIST OF REFERENCES 30
APPENDIX A
- Program code for the pear model generation
APPENDIX B
4
-
7/30/2019 Stochastic Finite Element for Biomechanics
5/54
LIST OF TABLES
1. Summary of the first 14 mode shapes.
LIST OF FIGURES
1. Part of a pear contour.
2. 20 layers along pear length.
3. Sample of the models generated with their meshing
4. Mode shape 1.
5. Mode shape 2.
6. Mode shape 3.
7. Mode shape 4.
8. Mode shape 5.
9. Eigenfrequency against height of the 20 selected models.
10. Eigenfrequency against mass of the 20 selected models.
11. Variation of the 4th and 8th mode shapes vs height
12. Firmness index vs mass of 20 selected models
13. Firmness index vs height of 20 selected models
14. Eigenfrequency against Youngs modulus.
15. Eigenfrequency against Youngs modulus.
16. Eigenfrequency against density.
17. Eigenfrequency against density.
18. Maximum/minimum first 14 frequencies for one pear with material propertyvariations.
5
-
7/30/2019 Stochastic Finite Element for Biomechanics
6/54
19. Firmness against Young's modulus
20. Firmness against Density
B1. Picture showing 3 of the 20 real pears.
B2. Setup used for scanning pears.
B3. Scanner.
B4. Microtester.
B5. Pears with their corresponding meshes.
B6. Compressive behaviour of 4 of the real pears under gradual loading.
B7. Extrapolation of the graph of firmness vs height of the models
6
-
7/30/2019 Stochastic Finite Element for Biomechanics
7/54
LIST OF SYMBOLS
E Youngs modulus, N/m 2
f o lowest spherical eigenfrequency, kHz
Nu Poisson ratio Rho density, kg/m 3
7
-
7/30/2019 Stochastic Finite Element for Biomechanics
8/54
Introduction
The ability to determine the quality of the fruits harvested for consumption has been a
necessity of prime importance in the food processing industry. Up until now, the non-
destructive methods to gauge their quality, or the internal tissue quality, which is
indicated by the material properties such as the density and Youngs modulus, would
usually make use of their dynamic frequency responses. In such procedures, the fruit is
given an external stimulus and the response signal is recorded and a firmness index of the
fruit is calculated. This firmness index is closely related to the Youngs modulus of the
fruit and The pears will eventually be sorted according to the firmness index [5,6].However, for non-spherical fruits the sole observation of their frequency response in
order to determine the firmness of the fruit can be misleading since the shape of the fruit
bears a significant effect on these frequency responses [4]. And this effect may not be
differentiated from the effect of internal tissue deterioration. All these uncertainties may
weaken the efficiency of the selection process.
Past studies on the subject have shown that the use of the firmness index as expressed
as , where f 3 / 22 m f o o is the lowest spherical frequencies and m is the mass of the fruit,
minimized the size effect of the fruit in terms of mass [5], that is the value of the firmness
index obtained from this expression is not affected by varying masses of the fruits.
Moreover, it was also demonstrated that the Youngs modulus bore a high degree of
correlation with this firmness indicator [6]. However, in the case of non-spherical fruits,
like pears, there are other geometric factors to consider apart from size effect whose
influence on the firmness value is not minimized by the given expression for firmness
index.
8
-
7/30/2019 Stochastic Finite Element for Biomechanics
9/54
In the present study, finite element modal analysis is implemented to calculate the
eigenfrequencies and the mode shapes (the pattern in which an object deforms when it
vibrates) [3,7,8], while a stochastic finite element analysis reveals the whole range of
effect of the multiple variations of parameters such as material properties of density and
Youngs modulus. The overlap of the geometric effect with that from the material
properties is evaluated.
The stochastic analysis is the most suitable tool for the study of natural products which in
essence contain a variety of uncertainties. The uncertainties could be geometrical or they
may be the internal material properties. In a stochastic simulation, it is easy to cover thewhole span of all the uncertainties to derive the relevant effect ranges.
The aim of this study is to determine to what extent the non-spherical geometry affects
the resonant frequencies and the mode shapes, and thus the firmness that is used for
sorting of the fruits. Through this study, a more comprehensive understanding of the
effects of the geometric feature and the internal material properties on the resonant
frequencies, mode shapes, and firmness for non-spherical fruits will be yielded. Improved
quality control methodology could also be derived from the current study.
Materials and methods
3D shape construction
The basic requirement before starting to generate a random non-spherical pear is that the
shape and overall volume of the pear will have to be randomly distributed, and still
following the Gaussian normal distribution. Computer codes using the Patran Command
language are developed for the software MSC.Patran [9] to construct the pear models.
9
-
7/30/2019 Stochastic Finite Element for Biomechanics
10/54
Virtually, the model-to-be-made is first divided into four parts with one of the parts
illustrated as in Figure 1; each contour line will be representing a quadrant of the fruit.
Figure 1: Part of a pear contour
The four quadrants were first divided equally into twenty layers.
Figure 2: 20 layers along pear length
The pear model is to be differentiated into a narrow top portion called the stem end and a
more bulbous bottom portion otherwise known as the calyx end. These portions vary
independently from each other with respect to their lengths. The shape of the models is to
be determined by twenty one descriptors. The variations of the height and the radii of
each layer are stepwise, so that two consecutive pears have a maximum of 10%
difference between their heights or the radii of each of their layer. The contours in Figure
1 are then generated using B-Spline.
It can be observed from real-life pears that the central axis (from the pedicel at the fruit
stalk to that part of the fruit called the remnants of the calyx and which is found at the
bottom of the fruit) is not a straight line most of the time. Similarly, the central axis of the
pear models also curve and skew up to an amount of 3 0.
10
-
7/30/2019 Stochastic Finite Element for Biomechanics
11/54
Surfaces are then created out of these curves which will in turn be used to create a solid
with the B-rep function in MSC.Patran.
Finite element mesh
The mesh with hexahedral elements is then created from the solids with a fixed
differentiation size of 3mm.
Figure 3 shows typical virtual pears for the current study.
Figure 3: sample of the models generated and their meshing
The resulting 100 virtual pear models have heights ranging from 118cm to 140cm and
masses ranging from 368g to 445g. The total number of nodes for these models was
roughly 2500, while the number of elements was around 2200.
The generation of the solids and the meshes has been performed by a set of codes with
the Patran Command Language (PCL). A copy of the coding is to be found in the
Appendix A.
The finite element modal analysis is first carried out using MSC.Nastran [10] while the
stochastic analysis is implemented with MSC.Robust Design [11].
In the modal analysis, the pear models are given a density of 860kg/m 3 [1], a Youngs
modulus of 3MPa (this value was chosen arbitrarily as the value of the Youngs modulus
11
-
7/30/2019 Stochastic Finite Element for Biomechanics
12/54
varied widely from 2 to 6MPa according to the variety under investigation and tests
carried out on real pears showed that for the Youngs modulus to be around this value)
and a Poissons ratio of 0.3 [1].
Results and discussion
General evaluation
MSC.Patran is used in the present study to read in the codes to generate the solids and
meshes for the pears. MSC.Nastran TM is used to compute the natural resonant frequencies
and the corresponding mode shapes.MSC.Robust Design TM is an optimal design tool to use the Monte Carlo method to
sample the specific data for the uncertain quantities. MSC.Nastran is then called to
implement the calculations with the sampled data. It is understood, in the Monte Carlo
method, that the more variables are input into a model, the more realistic the model
becomes. In this case, the variables are set to be the material properties of the model. One
of the main advantages of the Monte Carlo simulation is that the number of times the
program has to select random values of the input variables to create a realistic solution is
independent of the number of variables in the problem. Theoretically, any number of
variables can be accounted for. The only cost is the number of samplings have to be
increased to make the statistics correct.
The amount of uncertainty in MSC.Robust Design TM is quantified by using the
Coefficient of Variation (CoV), which is the percentage ratio of the standard deviation to
the average value. In the current study, the CoV is set at 5% of the average material
properties of the pear and the variables follow a Gaussian distribution.
12
-
7/30/2019 Stochastic Finite Element for Biomechanics
13/54
100 finite element pear models are generated and the first fourteen natural resonance
frequencies along with their corresponding mode shapes are calculated from the FE
modal analysis with MSC.Nastran. The first eigenfrequencies for the 100 pear models
with the given material properties range from 130Hz to 166Hz. It is found from the
modal analysis that the mode shapes for the whole 100 pears display a great degree of
consistency for the 14 mode shapes. For the whole 100 pears, the first two modes being a
bending and the 3 rd mode shape an expansion of the stem. Figures 4 to 8 show the typical
first five mode shapes. The 4 th mode shape demonstrates either an elongation or a
compression of the stem. The higher order modes either display an oblate-prolate (a typeof deformation mostly undergone by sphere-shaped objects and involves a compression
or elongation along one of the objects main axes) deformation or the combinations of the
bending, compression and oblate-prolate. Generally, the higher order modes involve most
of the time only the deformation of the calyx end.
13
-
7/30/2019 Stochastic Finite Element for Biomechanics
14/54
Figure 4: mode shape 1
Figure 5: mode shape 2
14
-
7/30/2019 Stochastic Finite Element for Biomechanics
15/54
Figure 6: mode shape 3
Figure 7: mode shape 4
15
-
7/30/2019 Stochastic Finite Element for Biomechanics
16/54
Figure 8: mode shape 5
The extreme values obtained for the twenty pears throughout the first fourteen mode
shapes and a brief description of their mode of deformation are tabulated in Table 1
16
-
7/30/2019 Stochastic Finite Element for Biomechanics
17/54
Mode shape
number
Minimum
frequency
Maximum
frequencyDescription of mode shape
1 0.13013 0.166439 Bending of stem end
2 0.130592 0.166868 Bending of stem end
3 0.201598 0.237297 Expansion of stem end
4 0.242573 0.276418 Elongation/Compression of stem end5 0.263131 0.283474 Complex
6 0.264362 0.287289 Complex
7 0.282347 0.301926 Oblate-prolate
8 0.284647 0.302919 Oblate-prolate
9 0.31532 0.328227 Expansion of the stem andcalyx ends and the neck 10 0.319537 0.330128 Oblate-prolate
11 0.321565 0.346596 Complex
12 0.328887 0.347968 Complex
13 0.330247 0.368048 Complex
14 0.352917 0.392659 Complex
Table 1: Summary of the first 14 mode shapes
Twenty models are then selected out of the 100 pear models so that their lowest
frequencies cover the whole range of the first eigenfrequencies for the whole 100 pears.
These values are then assessed against the masses and the heights of the pears as shown
in Figures 9-10.
17
-
7/30/2019 Stochastic Finite Element for Biomechanics
18/54
0.12
0.125
0.13
0.135
0.14
0.145
0.15
0.155
0.16
0.165
0.17
115 120 125 130 135 140 145
Height of the pears (mm)
E i g e n
f r e q u e n c y
( k H z
)
Figure 9: eigenfrequency vs height of the 20 selected models
0.12
0.125
0.13
0.135
0.14
0.145
0.15
0.155
0.16
0.165
0.17
370 380 390 400 410 420 430 440 450
Mass of the pears (g)
E i g e n
f r e q u e n c y
( k H z )
Figure 10: eigenfrequency vs mass of the 20 selected models
18
-
7/30/2019 Stochastic Finite Element for Biomechanics
19/54
As it can be seen from Figures 9-10, the height of the pears has a clear incidence on the
lowest eigenfrequency while the effect of the mass of the models is less evident. It seems
that the shorter the pear, the higher the first resonant eigenfrequency.
Effect of geometrical variations on the eigenfrequency
12 pears are then selected based on their similarity in mass. Their masses are roughly the
mean value for the whole 100 pears. The selection of similar mass is to minimize the
effect of mass difference so that the variation of the resonant frequencies can be observed
as the shape differs from pear to pear while the mass remains more or less constant. It isfound that the difference of shape shifts the first eigenfrequencies of the 12 pears from
131 Hz to 152 Hz. This range of variation almost covers the whole span of first
frequency change for the whole 100 pears (130 Hz to 166 Hz) while the mass of the 12
pears has a standard deviation of only 1.303g. This great variation in the first resonant
frequencies for such a small variation in the mass indicates that there are some varying
geometrical properties in the model which causes the frequencies to vary in turn.
A set of 20 pears whose first eigenfrequencies cover the whole range of values of the
whole 100 pears are chosen and their heights are compared against the values of their
frequencies for the first 14 th mode shapes. It is observed that the correlation between the
height and the frequency is not uniform throughout the mode shapes. It is further
observed that this variation in correlation ranged from 0.2 to 0.9; with mode shape 4 and
mode shape 8 registering these two extreme values, respectively. Figure 11 gives the
variations of the frequencies for these two modes versus the heights to illustrate the
extent of the influence of the height along the successive mode shapes.
19
-
7/30/2019 Stochastic Finite Element for Biomechanics
20/54
variation of frequencies of 2 mode shapes vs height
0.2
0.22
0.24
0.26
0.28
0.3
0.32
115 120 125 130 135 140 145
height
e i g e n
f r e q u e n c y
mode shape 4
mode shape 8
Figure 11: Variation of the 4th and 8th mode shapes vs height
Moreover, the given firmness index is observed to be less affected by the effect of mass,
as shown in figure 12, as the correlation between the firmness index and mass is now -
0.37, a marked decrease when compared to the correlation value of -0.55 between the
eigenfrequency and mass. However, the height of the models still bears a high degree of
correlation with the index as shown in figure 13. These trends show that the expression
for the firmness index is still effective to a certain extent in minimizing the effect of mass
even for non-spherical fruits, while the height of the fruits is still a factor for concern if a
sorting system with only the firmness index as criterion of selection is used.
20
-
7/30/2019 Stochastic Finite Element for Biomechanics
21/54
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
370 380 390 400 410 420 430 440 450
Mass of the pears (g)
F i r m n e s s
i n d e x
Figure 12: Firmness index vs mass of 20 selected models
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
115 120 125 130 135 140 145
Height of the pears (mm)
F i r m n e s s
i n d e x
Figure 13: Firmness index vs height of 20 selected models
21
-
7/30/2019 Stochastic Finite Element for Biomechanics
22/54
Effect of material properties
Stochastic finite element analysis is then implemented to evaluate the effect of the
variations in the material properties, i.e., Youngs modulus and mass density. Each of the
twenty selected pears is then run in MSC.Robust Design where their material
properties are randomized to be a Gaussian distribution varying from 2.55MPa to
3.45MPa for the Youngs modulus and from 731kg/m 3 to 989kg/m 3 for the density.
These parameters have been chosen as it is at these values that the coefficient of variationof these inputs gives a good approximation of a Gaussian distribution. In the stochastic
finite element analysis, Monte Carlo sampling methods are used to randomly sample 100
values for the mass density and Youngs modulus. The corresponding eigenfrequencies
obtained for the different values selected for the material properties are calculated with
MSC.Nastran modal analysis. Very similar distribution patterns for the first
eigenfrequencies are observed for all the twenty pears with the variations of the mass
density and Youngs modulus for the whole twenty models. Figures 12 to 15 give the
correlations of the first resonant frequency to the material properties for 2 pears.
22
-
7/30/2019 Stochastic Finite Element for Biomechanics
23/54
23
-
7/30/2019 Stochastic Finite Element for Biomechanics
24/54
Figure 14 & 15: first eigenfrequency vs Young's modulus
It is seen from these two figures that the variations of the density and the Youngs
modulus have remarkable effects on the first eigenfrequencies. Within the range of
concern, the values of Youngs modulus increased as the values of the first
eigenfrequency also increased while the latter is seen to decrease as the value of the
density decreased.
24
-
7/30/2019 Stochastic Finite Element for Biomechanics
25/54
Figure 16 & 17: first eigenfrequency vs density
25
-
7/30/2019 Stochastic Finite Element for Biomechanics
26/54
The separate effect of each property on the variation of the first 14 eigenfrequencies is
observed. A graph of the extreme values under the different settings against the 14
successive mode shapes is plotted for easy visual comparison as shown in figure 16.
Figure 18: Maximum/minimum first 14 frequencies for one pear with material property variations
The graph is fairly similar for all the pears under observation and it can be seen that as
was found earlier, the 2 material properties affected the frequencies to a similar extent.
The firmness index is then calculated for each value of the density used and the
corresponding first eigenfrequency obtained in the stochastic simulations of the 20 pears.
The firmness index for each pear was assessed against the variations of the density and
Youngs modulus. It is observed that there is a strong correlation between the firmness
index and Youngs modulus, whereas the firmness is rather independent from the density
as shown from the figures 19 and 20.
26
-
7/30/2019 Stochastic Finite Element for Biomechanics
27/54
This observation agrees with the findings from the study done by Nourain et al., 2005.
Graph of Young's modulus vs firmness
0.8
0.85
0.9
0.95
1
1.05
1.1
1.15
1.2
2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4
Young's modulus (MPa)
F i r m n e s s
Figure 19: Firmness against Young's modulus
Graph of Density vs Firmness
0
0.2
0.4
0.6
0.8
1
1.2
0.00075 0.0008 0.00085 0.0009 0.00095
Density (g/cm3)
F i r m n e s s
Figure 20: Firmness against density
27
-
7/30/2019 Stochastic Finite Element for Biomechanics
28/54
From the aforementioned results, it is seen that the geometrical effect on the
eigenfrequency of the models is quite significant since it causes the first eigenfrequency
to shift from 130Hz to 160Hz when the height is concerned whereas the effect of either of
the material properties causes a shift phase of around 20Hz in most cases for the first
eigenfrequency.
From the aforementioned results, it is seen that the geometrical effect on the
eigenfrequency of the models is quite significant since it causes the first eigenfrequency
to shift from 130Hz to 160Hz when the height is concerned whereas the effect of either of
the material properties causes a shift phase of around 20Hz in most cases for the firsteigenfrequency.
Test on Packham pears
It has been intended from the very beginning that the current study of the dynamic
response of the non-spherical pears was to be carried out mainly with the help of 3D
finite element and stochastic analyses. This is because there were no suitable pears
available on the market when the project was started. The testing performed eventually
on real pears would only be carried as a means to complement the results of these
computer simulations. The project was drawing to a close at the time of testing, and the
only variety of pears available on the market was slightly smaller than the pear models in
terms of height. Nevertheless, these pears still displayed behaviour similar to the pear
models: the value of the resonant frequency and that of the firmness index was fairly
affected by the height of the fruits. The standard deviation of these two properties was
28
-
7/30/2019 Stochastic Finite Element for Biomechanics
29/54
comparable with that of the pear models. A detailed summary of the tests carried out can
be found in Appendix B.
Conclusions
In the present project, the effects of the different shapes and the material properties of the
non-spherical pears are evaluated. From the finite element and the stochastic finite
element simulations, it can be derived that the eigenfrequencies are quite sensitive to
different internal material as well as the external geometrical properties of the fruit. It is
seen that while the height of the pears have the most remarkable effect among thegeometrical properties on the vibrational frequencies of the pears. Its influence, however,
is not consistent throughout the other mode shapes of the pear other than the first mode
shape.
It can be concluded from this study that the sorting of the non-spherical pears may not be
very effective if the effects of the variation of shape are not differentiated from the
change that material degeneration would produce. It can be further said that for an
effective quality control of non-spherical fruits, a preliminary sorting of these fruits
according to their heights would be a recommended procedure since this particular
feature has a prominent influence on the value of the first spherical frequencies.
However, further numerical study in the future will be attempted on analysis of the high
frequency modes to identify the one that is not affected so much by the geometrical
properties. A new method could be suggested to make use of the higher eigenfrequency
at which the effect of the height is the least as the sorting factor.
29
-
7/30/2019 Stochastic Finite Element for Biomechanics
30/54
REFERENCES
1. Dewulf, W., Jancsk, P., Nicolai, B., De Roeck, G., and Briassoulis, D. 1999.Determining the Firmness of a Pear using Finite Element Modal Analysis." J.agric. Engng Res. 71, 217 224. Journal On-line. Available from
http://www.idealibrary.com .
2. Jancsk P., Papadiamontopoulou E., De Baerdemaeker J., and Nicola B. 24August 1998. Effect of Shape on Acoustic Response of Conference Pears aFinite Element Modelling Approach. AgENg Oslo98 conference 98-F-007.Available fromhttp://www.agr.kuleuven.ac.be/aee/amc/staff/palj/ageng_98/jancsok.htm .
3. Jancsk, P., Nicola, B., and De Baerdemaeker, J. Stochastic FE vibrationanalysis of fruits for quality measurement purposes," Department of AgroEngineering and Economics, Laboratory for Agro- Machinery and
Processing, K. U. Leuven, Belgium. Available fromhttp://www.biw.kuleuven.be/aee/amc/staff/palj/XXXI5.pdf .
4. Jancsk, P., Nicola, B., Coucke, P., and De Baerdemaeker, J. 1997. 3DFinite Element Model Generation of Fruits Based on Image Processing." 3 rd IFAC/ISHS Workshop on Mathematical and Control Application inAgriculture and Horticulture, p 131 135. September 28 October 2, 1997Hannover, Germany.
5. Lu, R., and Abbott, J.A. 1996. Finite Element Analysis of Modes of Vibration in Apples. Journal of Texture studies 27 (1996) 265 286.
6. Nourain, J., Ying, Y., and Wang, J. 2005. Firmness of melon using itsvibration characteristic and finite element analysis. J Zhejiang Univ SCI2005 6B(6):483 490.
7. Dewulf, W., Jancsk, P., Papadiamantopoulou, E., Nicola, B., and De Roeck,G. 1998. Monitoring the firmness of a Conference Pear using experimentalmodal analysis. Proceedings of ISMA23; Leuven, Belgium. 1998:1148 1497.
8. Chen, H., and De Baerdemaeker, J. 1993. Finite Element Based ModalAnalysis of Fruit Firmness. Trans. ASAE. 1993; 36(6): 1827 1833.
9. MSC.Patran v2005 R2, Users guide, MSC.Software Corporation, 2005.
10. MSC.Nastran v2005, Users guide, MSC.Software Corporation, 2005.
11. MSC.Robust Design v2004 R2, Users guide, MSC.Software, 2005.
30
http://www.idealibrary.com/http://www.agr.kuleuven.ac.be/aee/amc/staff/palj/ageng_98/jancsok.htmhttp://www.biw.kuleuven.be/aee/amc/staff/palj/XXXI5.pdfhttp://www.biw.kuleuven.be/aee/amc/staff/palj/XXXI5.pdfhttp://www.agr.kuleuven.ac.be/aee/amc/staff/palj/ageng_98/jancsok.htmhttp://www.idealibrary.com/ -
7/30/2019 Stochastic Finite Element for Biomechanics
31/54
Appendix A
/** Purpose: Random shape generator** Input: filename name of external file
** Output: none**/
$FUNCTION pear("hex", , 10)$FUNCTION pear(mesh_type, meshSize, iter_no)FUNCTION pear()
INTEGER iter_no =30$STRING mesh_type[] /* "tet", "hex" */STRING mesh_type[80] = "hex"REAL percentage = 0.01REAL meshSize = 2.0
$REAL R = 1$REAL H = 1.8
$REAL r1, r2, h1
STRING filename[80], filename1[80], tmp_file[80]
filename = "../../../../../Home15/cme/cae0010/shape/random.log"filename1 = "../../../../../Home15/cme/cae0010/shape/pear.log"tmp_file = "../../../../../Home15/cme/cae0010/shape/temp.log"
LOGICAL msg_flag = TRUE /* TRUE: Will delete original curves in
creation of chained curves */
LOGICAL option = TRUE /* TRUE : r1 may be equal r2 */
REAL tol = 0.001 /* The geometric tolerance. */
REAL rand_no(10000)STRING rand_str[20](10000)STRING pearShape_str[20](100)REAL pearShape_no(100)
$INTEGER str_leng, str_pos$STRING str_sub[40], e_str[3]
INTEGER i, j, dnum
$STRING line_2point_created_ids[VIRTUAL]STRING asm_create_grid_xyz_created_ids[VIRTUAL]$STRING asm_line_2point_created_ids[VIRTUAL]$STRING asm_create_line_arc_created_ids[VIRTUAL]STRING sgm_curve_bspline_created_ids[VIRTUAL]$STRING sgm_curve_break_poi_created_ids[VIRTUAL]
-
7/30/2019 Stochastic Finite Element for Biomechanics
32/54
STRING asm_delete_any_deleted_ids[VIRTUAL]$INTEGER sgm_create_curve_cha_segment_id$STRING sgm_create_curve_ch_created_ids[VIRTUAL]STRING sgm_surface_trimmed__created_id[VIRTUAL], sgm_solid_ids[VIRTUAL]
LOGICAL debugREAL tmp_realSTRING record[720], field[128], tmp_str[20]INTEGER status, channel, itokenINTEGER lrecl
/** Initialising values*/
debug = FALSE
/** Open the random.log file*/
status = text_open( filename , "OR", 0, 0, channel )
IF( status != 0 ) THEN
write( "Unable to open file: "//filename )ui_override_message( 38000217, "" )pref_global_set_v2( TRUE, 3, str_from_real( tol ) )RETURN status
END IF
i = 1WHILE( text_read_string( channel, record, lrecl ) == 0 )
/** Check for integers and blank tokens*/
itoken = 0
REPEATitoken += 1
field = str_token( record, " ", itoken, TRUE )IF( field != "") THEN$ dump field$ rand_str(i) = field$ dump rand_no(i)
rand_str(i) = fieldrand_no(i) = str_to_real(field)
i = i+1
END IF
UNTIL ( field == "" )
END WHILE
-
7/30/2019 Stochastic Finite Element for Biomechanics
33/54
text_close( channel, "" )
/** Open the pear.log file*/status = text_open( filename1 , "OR", 0, 0, channel )
IF( status != 0 ) THEN
write( "Unable to open file: "//filename1 )ui_override_message( 38000217, "" )pref_global_set_v2( TRUE, 3, str_from_real( tol ) )RETURN status
END IF
i = 1WHILE( text_read_string( channel, record, lrecl ) == 0 )
/** Check for integers and blank tokens*/
itoken = 0
REPEATitoken += 1
field = str_token( record, " ", itoken, TRUE )IF( field != "") THEN
pearShape_str(i) = fieldpearShape_no(i) = str_to_real(field)
i = i+1
END IF
UNTIL ( field == "" )
END WHILE
text_close( channel, "" )
dnum = i - 1
$dump pearShape_str
$dump pearShape_no$dump i-1
STRING x1[20](20), x2[20](20), x3[20](20)STRING y1[20](20), y2[20](20), y3[20](20)
STRING x_1[20](20), x_2[20](20), x_3[20](20)STRING y_1[20](20), y_2[20](20), y_3[20](20)
-
7/30/2019 Stochastic Finite Element for Biomechanics
34/54
FOR( i = 1 TO 20 )x1(i) = str_from_real(rand_no(i) *
percentage*pearShape_no(i) + pearShape_no(i))y2(i) = str_from_real(rand_no(i+20) *
percentage*pearShape_no(i+20) + pearShape_no(i+20))x_1(i) = str_from_real(rand_no(i+40) *
percentage*pearShape_no(i+40) - pearShape_no(i+40))y_2(i) = str_from_real(rand_no(i+60) *
percentage*pearShape_no(i+60) - pearShape_no(i+60))
END FOR
FOR( i = 1 TO 20 )x2(i) = "0"y1(i) = "0"x_2(i) = "0"y_1(i) = "0"
END FOR
pearShape_no(81) = rand_no(81) * percentage*pearShape_no(81)+ pearShape_no(81)
pearShape_no(82) = rand_no(82) * percentage*pearShape_no(82)+ pearShape_no(82)
FOR( i = 1 TO 11 )x3(i) = str_from_real(pearShape_no(81) * (i-1) )y3(i) = str_from_real(pearShape_no(81) * (i-1) )x_3(i) = str_from_real((pearShape_no(81) * (i-1)) )y_3(i) = str_from_real((pearShape_no(81) * (i-1)) )
END FORFOR( i = 1 TO 9 )
x3(i+11) = str_from_real(pearShape_no(82) * i +pearShape_no(81) * 10 )
y3(i+11) = str_from_real(pearShape_no(82) * i +pearShape_no(81) * 10)
x_3(i+11) = str_from_real((pearShape_no(82) * i +pearShape_no(81) * 10))
y_3(i+11) = str_from_real((pearShape_no(82) * i +pearShape_no(81) * 10 ))
END FORstatus = text_open( tmp_file , "NOW", 0, 0, channel )
FOR( i = 1 TO 20 )status = text_write_string( channel , x1(i) )
END FORFOR( i = 1 TO 20 )
status = text_write_string( channel , y2(i) )END FORFOR( i = 1 TO 20 )
tmp_real = str_to_real(x_1(i))tmp_str = str_from_real(-tmp_real)
-
7/30/2019 Stochastic Finite Element for Biomechanics
35/54
status = text_write_string( channel , tmp_str )END FORFOR( i = 1 TO 20 )
tmp_real = str_to_real(y_2(i))tmp_str = str_from_real(-tmp_real)status = text_write_string( channel , tmp_str )
END FOR
tmp_str = str_from_real(pearShape_no(81))status = text_write_string( channel , tmp_str )tmp_str = str_from_real(pearShape_no(82))status = text_write_string( channel , tmp_str )text_close( channel, "" )
/***************************************************************/
/***************************************************************/
/***************************************************************/IF ( iter_no > 1 ) THENFOR ( j = 1 TO iter_no-1)
/** Open the temp.log file again*/status = text_open( tmp_file , "OR", 0, 0, channel )
IF( status != 0 ) THEN
write( "Unable to open file: "//tmp_file )ui_override_message( 38000217, "" )pref_global_set_v2( TRUE, 3, str_from_real( tol ) )RETURN status
END IF
i = 1WHILE( text_read_string( channel, record, lrecl ) == 0 )
/** Check for integers and blank tokens*/
itoken = 0
REPEAT
itoken += 1
field = str_token( record, " ", itoken, TRUE )IF( field != "") THEN
pearShape_str(i) = fieldpearShape_no(i) = str_to_real(field)
i = i+1
-
7/30/2019 Stochastic Finite Element for Biomechanics
36/54
END IF
UNTIL ( field == "" )
END WHILE
text_close( channel, "" )
dnum = i - 1
$dump pearShape_str$dump pearShape_no$dump i-1
$ STRING x1[20](20), x2[20](20), x3[20](20)$ STRING y1[20](20), y2[20](20), y3[20](20)
$ STRING x_1[20](20), x_2[20](20), x_3[20](20)$ STRING y_1[20](20), y_2[20](20), y_3[20](20)
FOR( i = 1 TO 20 )x1(i) = str_from_real(rand_no(i + (82 * j)) *
percentage*pearShape_no(i) + pearShape_no(i))y2(i) = str_from_real(rand_no(i+20 + (82 * j)) *
percentage*pearShape_no(i+20) + pearShape_no(i+20))x_1(i) = str_from_real(rand_no(i+40 + (82 * j)) *
percentage*pearShape_no(i+40) - pearShape_no(i+40))y_2(i) = str_from_real(rand_no(i+60 + (82 * j)) *
percentage*pearShape_no(i+60) - pearShape_no(i+60))
END FOR
FOR( i = 1 TO 20 )x2(i) = "0"y1(i) = "0"x_2(i) = "0"y_1(i) = "0"
END FOR
pearShape_no(81) = rand_no(81) * percentage*pearShape_no(81)+ pearShape_no(81)
pearShape_no(82) = rand_no(82) * percentage*pearShape_no(82)
+ pearShape_no(82)
FOR( i = 1 TO 11 )x3(i) = str_from_real(pearShape_no(81) * (i-1) )y3(i) = str_from_real(pearShape_no(81) * (i-1) )x_3(i) = str_from_real((pearShape_no(81) * (i-1)) )y_3(i) = str_from_real((pearShape_no(81) * (i-1)) )
END FORFOR( i = 1 TO 9 )
-
7/30/2019 Stochastic Finite Element for Biomechanics
37/54
x3(i+11) = str_from_real(pearShape_no(82) * i +pearShape_no(81) * 10 )
y3(i+11) = str_from_real(pearShape_no(82) * i +pearShape_no(81) * 10)
x_3(i+11) = str_from_real((pearShape_no(82) * i +pearShape_no(81) * 10))
y_3(i+11) = str_from_real((pearShape_no(82) * i +pearShape_no(81) * 10 ))
END FORstatus = text_open( tmp_file , "NOW", 0, 0, channel )
FOR( i = 1 TO 20 )status = text_write_string( channel , x1(i) )
END FORFOR( i = 1 TO 20 )
status = text_write_string( channel , y2(i) )END FORFOR( i = 1 TO 20 )
tmp_real = str_to_real(x_1(i))
tmp_str = str_from_real(-tmp_real)status = text_write_string( channel , tmp_str )
END FORFOR( i = 1 TO 20 )
tmp_real = str_to_real(y_2(i))tmp_str = str_from_real(-tmp_real)status = text_write_string( channel , tmp_str )
END FOR
tmp_str = str_from_real(pearShape_no(81))status = text_write_string( channel , tmp_str )tmp_str = str_from_real(pearShape_no(82))status = text_write_string( channel , tmp_str )text_close( channel, "" )
END FOREND IF
/***************************************************************/
/***************************************************************/
/***************************************************************/
STRING curve_no[2], c1[2], c2[2]STRING sgm_surface_2curve_created_ids[VIRTUAL]
FOR( i = 1 TO 20 )asm_const_grid_xyz( "1", "["//x1(i)//" "//x2(i)//"
"//x3(i)//"]", "Coord 0", asm_create_grid_xyz_created_ids )asm_const_grid_xyz( "2", "["//y1(i)//" "//y2(i)//"
"//y3(i)//"]", "Coord 0", asm_create_grid_xyz_created_ids )
-
7/30/2019 Stochastic Finite Element for Biomechanics
38/54
asm_const_grid_xyz( "3", "["//x_1(i)//" "//x_2(i)//""//x_3(i)//"]", "Coord 0", asm_create_grid_xyz_created_ids )
asm_const_grid_xyz( "4", "["//y_1(i)//" "//y_2(i)//""//y_3(i)//"]", "Coord 0", asm_create_grid_xyz_created_ids )
curve_no = str_from_integer(i)sgm_const_curve_bspline( curve_no, "Point 1 4 3 2", 3, TRUE,
1, TRUE, sgm_curve_bspline_created_ids )asm_delete_point( "Point 1:10", asm_delete_any_deleted_ids )
END FOR
sgm_create_surface_trimmed_v1( "1", "Curve 1", "", "",FALSE, TRUE, TRUE, TRUE, sgm_surface_trimmed__created_id )
sgm_create_surface_trimmed_v1( "21", "Curve 20", "", "",FALSE, TRUE, TRUE, TRUE, sgm_surface_trimmed__created_id )
FOR( i = 2 TO 20 )curve_no = str_from_integer(i)
c1 = str_from_integer(i-1)c2 = str_from_integer(i)sgm_const_surface_2curve( curve_no, "Curve "//c1, "Curve
"//c2, sgm_surface_2curve_created_ids )
END FOR
$dump x1$dump y2$dump x_1$dump y_2
ge_const_solid_brep( "1", "Surface 1:21", FALSE,sgm_solid_ids )
INTEGER fem_num_nodes, fem_num_elemsSTRING fem_nodes_created[VIRTUAL],
fem_elems_created[VIRTUAL]
STRING R_str1[20], R_str2[20], R_str3[20]STRING asm_create_hpat_xyz_created_ids[VIRTUAL]R_str1 = str_from_real(-70.0)R_str2 = str_from_real(140)
R_str3 = str_from_real(140*1.5)
STRING val_array_str[32](4)
val_array_str(1) = str_from_real(meshSize)val_array_str(2) = "0.1"val_array_str(3) = "0.2"val_array_str(4) = "0.0"
IF( mesh_type == "tet" ) THEN
-
7/30/2019 Stochastic Finite Element for Biomechanics
39/54
fem_create_mesh_sol_5( "Solid 1", "TetHybrid", "Tet4", 4,
val_array_str, 49168, 0, 1, 0, 1, 0.0049999999, "", "#", "#", "Coord0", "Coord 0", fem_num_nodes, fem_num_elems, fem_nodes_created,fem_elems_created )
asm_delete_point( "Point 1:100", asm_delete_any_deleted_ids)
asm_delete_surface( "Surface 1:100",asm_delete_any_deleted_ids )
asm_delete_curve( "Curve 1:100", asm_delete_any_deleted_ids)
ELSE IF ( mesh_type == "hex" ) THEN
asm_const_hpat_xyz( "2", "", "["//R_str1//" "//R_str1//" 0]", "Coord 0",asm_create_hpat_xyz_created_ids )
fem_mesh_solid_hex8( meshSize, "PARTIAL",
asm_create_hpat_xyz_created_ids)
asm_delete_point( "Point 1:100", asm_delete_any_deleted_ids)
asm_delete_surface( "Surface 1:100",asm_delete_any_deleted_ids )
asm_delete_curve( "Curve 1:100", asm_delete_any_deleted_ids)
END IF
RETURN 0
END FUNCTION
/** Function that generates a hexahedral (HEX8) mesh from a given set
of surfaces* which form a valid BREP solid.*/
FUNCTION fem_mesh_solid_hex8( elem_size, method, tmp_solid_list)$FUNCTION fem_mesh_solid_hex8( brep_surface_list, elem_size, method)
$FUNCTION fem_mesh_solid_hex8( brep_surface_list, elem_size, method, @$ num_nodes, num_elems, nodes_created,
elems_created )
/* INPUT: */$STRING brep_surface_list[] /* The list of surfaces representing thesolid to be meshed. */REAL elem_size /* The required element size. */STRING method[] /* "FULL": Retain only grids thatfully intersects with solid.
"PARTIAL": Retain grids that fullyor partially intersects with solid. */
-
7/30/2019 Stochastic Finite Element for Biomechanics
40/54
STRING tmp_solid_list[]/* OUTPUT: */$INTEGER num_nodes /* The number of nodes created. */$INTEGER num_elems /* The number of elements created. */$STRING nodes_created[] /* The list of nodes created. */$STRING elems_created[] /* The list of elements created. */
/* 0 = successful */
INTEGER i, status, handle, item(1)REAL limits(6), vector_xyz(3), origin_xyz(3), geotolSTRING ret_list[VIRTUAL], ret_solid[VIRTUAL]LOGICAL debug = FALSE
/* Verify input element size. */
uil_app_asm.get_geo_tol( geotol ) /* Get the geometric tolerance ofthe model. */
IF ( elem_size
-
7/30/2019 Stochastic Finite Element for Biomechanics
41/54
/* Get the maximum limits of the model */
/* gm_viewport_world_limits_get( limits )
origin_xyz(1) = limits(1)origin_xyz(2) = limits(3)origin_xyz(3) = limits(5)
vector_xyz(1) = limits(2) - limits(1)vector_xyz(2) = limits(4) - limits(3)vector_xyz(3) = limits(6) - limits(5)
dump vector_xyzdump origin_xyz *//* Create a block bounding the limits of the model. */
$fem_mesh_solid_hex8( "Surface 2:6", 0.1, "FULL")
/*status = asm_const_hpat_xyz( "2", @
str_vector_from_xyz( vector_xyz ), @str_point_from_xyz( origin_xyz ), @"Coord 0", @tmp_solid_list )
IF ( status != 0 ) THEN RETURN 0*/
/* Creating HEX8 mesh on TMP_SOLID_LIST */
INTEGER fem_create_mesh_solid_num_nodesINTEGER fem_create_mesh_solid_num_elemsSTRING fem_create_mesh_s_nodes_created[VIRTUAL]STRING fem_create_mesh_s_elems_created[VIRTUAL]STRING para[20](1)
para(1) = str_from_real( elem_size )
status = fem_create_mesh_sol_5( tmp_solid_list, @"IsoMesh", @"Hex8", @1, para, @49152, 0, 1, 0, 1, 0., @"", "#", "#", "Coord 0", "Coord 0",
@fem_create_mesh_solid_num_nodes, @fem_create_mesh_solid_num_elems, @fem_create_mesh_s_nodes_created, @
fem_create_mesh_s_elems_created )IF ( status != 0 ) THEN RETURN status
/* Delete TMP_SOLID_LIST.Note: Patran needs to delete the original solid to which a mesh
isassociated with in order to associate the mesh to another solid.
*/
-
7/30/2019 Stochastic Finite Element for Biomechanics
42/54
fem_disassoc_geo( TRUE, TRUE, tmp_solid_list )asm_delete_solid( tmp_solid_list, ret_list )
/* Associating HEX8 elements with solid. Write associated elementsto
INT_ELEM_LIST. */
STRING all_elem[VIRTUAL], deleted_elem[VIRTUAL],int_elem_list[VIRTUAL], @
int_node_list[VIRTUAL]
all_elem = "Elem "//fem_create_mesh_s_elems_created
lp_eval( ret_solid, 4, handle )lp_sublist_attribute_get_int( handle, 2, item )lp_eval_cleanup( handle )
sgm_assoc_element_solid_v1( all_elem, "Solid "//str_from_integer(item(1) ), 32 )
list_create_elem_ass_geo( 0, "Solid "//str_from_integer( item(1) ),@
"lista", int_elem_list )
IF ( debug ) THEN
write_line( "...elements associated with BREP solid are:",int_elem_list )
END IF
/* Get the list of elements to be deleted. */
deleted_elem = ""
IF ( method == "full" ) THEN
/* These elements are those that do not intersect, or intersectpartially with the BREP solid. */
str_create_boolean_list( all_elem, int_elem_list, "a-b",deleted_elem )
IF ( deleted_elem != "" ) THEN fem_delete_elem_and_node(deleted_elem, ret_list )
ELSE IF ( method == "partial" ) THEN
/* These elements are those that do not intersect the BREP solidat all. */
list_get_node_ass_elem( int_elem_list, int_node_list )
-
7/30/2019 Stochastic Finite Element for Biomechanics
43/54
uil_list_a.clear()list_create_elem_ass_node( 8, int_node_list, "lista",
int_elem_list )
str_create_boolean_list( all_elem, int_elem_list, "a-b",deleted_elem )
IF ( deleted_elem != "" ) THEN fem_delete_elem_and_node(deleted_elem, ret_list )
ELSE
write_line( "Invalid method!! TERMINATED!!" )
END IF
/* Delete the BREP solid. */
asm_delete_solid( ret_solid, ret_list )
/* Refresh the graphics. */
repaint_graphics( )
/* Get output variables. *//*
elems_created = int_elem_listlp_eval( elems_created, 4, handle )lp_sublist_count( handle, 1024, num_elems )lp_eval_cleanup( handle )
list_get_node_ass_elem( elems_created, nodes_created )lp_eval( nodes_created, 4, handle )lp_sublist_count( handle, 512, num_nodes )lp_eval_cleanup( handle )
*//***** Extracting free element faces ******/
/*STRING free_elem_face[30](VIRTUAL), free_elem_face_list[VIRTUAL]INTEGER free_elem_face_count
status = fem_get_hex8_free_faces( int_elem_list, free_elem_face, @free_elem_face_count )
IF ( status != 0 ) THEN RETURN status
free_elem_face_list = ""
FOR ( i = 1 TO free_elem_face_count )
-
7/30/2019 Stochastic Finite Element for Biomechanics
44/54
free_elem_face_list = free_elem_face_list//free_elem_face(i)//" "
END FOR
IF ( debug ) THEN
write_line( "...number of free element faces:",free_elem_face_count )
write_line( "...the free element faces are:", free_elem_face_list)
END IF*/
RETURN 0
END FUNCTION
/** Function that converts Cartesian coordinates to a string
representing a vector* in the form of "".*/
FUNCTION str_vector_from_xyz( xyz )
/*INPUT:*/REAL xyz()
/*RETURN:*/STRING vector[50]
vector = ""
RETURN vector
END FUNCTION
/** Function that extracts the free element faces from a given list of* HEX8 elements.*/
FUNCTION fem_get_hex8_free_faces( elem_list, free_face_array,free_face_count )
-
7/30/2019 Stochastic Finite Element for Biomechanics
45/54
/* INPUT:*/STRING elem_list[] /* The list of elements to be queried. */
/* OUTPUT:*/STRING free_face_array[]() /* The array containing the free elementfaces
(dimension is free_face_count). */INTEGER free_face_count /* The number of free element faces. */
/* 0 = successful */
INTEGER elem_ids(VIRTUAL)INTEGER num_elems, elem_topo_codes(VIRTUAL), @
shape_code(VIRTUAL), nodes_per_elem(VIRTUAL), @nodl(VIRTUAL), face_elem_ids(VIRTUAL), face_ids(VIRTUAL)
INTEGER i, handle, item(1), status
/* Get all the element IDs from ELEM_LIST. */
lp_eval( elem_list, 4, handle )lp_sublist_count( handle, 1024, num_elems )
IF (num_elems
-
7/30/2019 Stochastic Finite Element for Biomechanics
46/54
IF (status != 0) THEN RETURN statusstatus = SYS_ALLOCATE_ARRAY( face_ids, 1, 6*num_elems )IF (status != 0) THEN RETURN status
status = db_get_elem_etop( num_elems, elem_ids, elem_topo_codes )IF (status != 0) THEN RETURN status
status = db_get_elem_topology_data( num_elems, elem_topo_codes, @shape_code, nodes_per_elem )
IF (status != 0) THEN RETURN status
status = db_get_nodes_for_elems( num_elems, 8, elem_ids, nodl )IF (status != 0) THEN RETURN status
status = fem_u_get_free_faces( elem_ids, 8, 4, 6, num_elems, nodl, @shape_code, nodes_per_elem, @face_elem_ids, face_ids,
free_face_count )
status = SYS_ALLOCATE_ARRAY( free_face_array, 1, free_face_count )IF (status != 0) THEN RETURN status
FOR (i = 1 TO free_face_count)
free_face_array(i) = "Elm "//str_from_integer( face_elem_ids(i))// @
"."//str_from_integer( face_ids(i) )
END FOR
RETURN 0
END FUNCTION
/** Function that performs a boolean operation on two given list.*/
FUNCTION str_create_boolean_list( list1, list2, operation, ret_list )
/* INPUT: */STRING list1[] /* The first input list "a". */STRING list2[] /* The second input list "b". */
STRING operation[] /* The boolean operation: "a+b", "a-b" */
/* OUTPUT: */STRING ret_list[] /* The output list after performing the booleanoperation. */
/* 0 = successful */
GLOBAL STRING listc[VIRTUAL]
-
7/30/2019 Stochastic Finite Element for Biomechanics
47/54
uil_list_a.clear()list_create_target_list( "lista", list1 )uil_list_b.clear()list_create_target_list( "listb", list2 )
uil_list_boolean.create( operation )ret_list = listc
RETURN 0
END FUNCTION
-
7/30/2019 Stochastic Finite Element for Biomechanics
48/54
Tests on Packham pears
Due to the seasonal availability of the pears, the only non-spherical pear on the market at
the time of the study is the Packham pear. The general features of this kind of pear are
illustrated in figure B1. Tests are carried out for twenty randomly selected Packham pears
to measure their geometrical (height, overall contour, mass) and internal material
properties (Youngs modulus, density). The pears are first scanned using a laser scanner,
the Minolta VIVID 900 non-contact 3D digitizer in order to obtain their general outline
and surfaces for subsequent meshing in order to perform a modal analysis. The figures
B2 and B3 show the setup as when the pears are scanned and the digitizer usedrespectively. These surfaces are then exported as IGES files using the softwares
RapidForm2001 and Minolta Polygon Editing Tool v1.03. The pears are then weighed on
an electronic balance and measured their heights using a Vernier caliper.
Figure B1: Pictures showing 3 of the 20 real pears
-
7/30/2019 Stochastic Finite Element for Biomechanics
49/54
Figure B2 Setup used for scanning pears Figure B3 Scanner
-
7/30/2019 Stochastic Finite Element for Biomechanics
50/54
In order to obtain their density, the pears are placed one pear at a time in a graduated
beaker. The latter is filled with water to a certain level, after which the pear is removed
and the fall in the water level gives an approximate value for their density. The pears are
then cut into cubes of 1cm x 1cm x 1cm and placed onto a materials testing machine and
subjected to a gradually increasing compressive loading. The machine used in this
experiment is the Instron 5500 microtester (Fig. B4). The Youngs modulus is derived as
the gradient of the graph of the loading against the distance by which the hammer of the
machine has moved. Figure B6 shows the graphs of 4 of the tested samples as captured
by the software Bluehill.
-
7/30/2019 Stochastic Finite Element for Biomechanics
51/54
Figure B4 Microtester
These divergences can be assumed to be still within the domain of possibility for
products which are subject to the laws of probability. When the graphs of the
eigenfrequency against the mass and height of the pear models are extrapolated to the
-
7/30/2019 Stochastic Finite Element for Biomechanics
52/54
average mass and height of the real pears, the percentage error was less than 10% for
both.
On average, the height of the pears has been found to measure around 88.5mm while the
mass was 208.9 g. The average Youngs modulus was 3.37MPa while the average density
of the pears was 948.6 kgm -3. Hence, the values of the Youngs modulus and of the
density of these real pears only diverged by 12% and 10% respectively from the values
that have been applied in the models. And also the variations in their values fall for the
most part within the range set for the stochastic analysis of the pear models
The surfaces obtained from the scanning are meshed on MSC.Patran and sent toMSC.Nastran for a modal analysis. An illustration of the meshes obtained for different
pears can be seen in Figure B5. The average value of the firmness index of the pear was
evaluated to be 3.2. When the graph of the firmness index against the height is
extrapolated, to 88.5mm, the firmness index given is found to fall short of the expected
value by only 0.43 units as shown in the figure B7.
-
7/30/2019 Stochastic Finite Element for Biomechanics
53/54
Figure B5 Pears with their corresponding mesh
Figure B6 Compressive behaviour of 4 of the real pears under gradual loading
-
7/30/2019 Stochastic Finite Element for Biomechanics
54/54
Extrapolation of the graph of firmness vs height of the models
y = -0.0388x + 6.2030.8
1.3
1.8
2.3
2.8
88.5 98.5 108.5 118.5 128.5 138.5
height(mm)
F i r m n e s s
2.77
Figure B7: Extrapolation of the graph of firmness vs height of the models
It is seen from the numerical simulations that the stochastic simulations with
MSC.Robust Design can cover the full range of changes in the different material
properties to reflect the full extension of their separate as well as their combined effects
on the eigenfrequencies with single a simulation run. It would be very cost-effective if
the stochastic finite element simulations can be applied in quality control testing in the
food processing industry.