24
Benchmark
TABLE OF CONTENTS
Page §24.1 Introduction . . . 24–3
§24.1.1 Problem Information . . . 24–3 §24.2 Benchmark Problem Modules . . . 24–3 §24.2.1 Mises Truss . . . 24–4 §24.2.2 Circle Game . . . 24–4 §24.3 Sample Scripts . . . 24–6 §24.3.1 Mises Truss Template Script . . . 24–6 §24.3.2 Circle Game Template Script . . . 24–6 §24.3.3 Circle Game Variant Template Script . . . 24–6 §24. Exercises . . . 24–7
§24.2 BENCHMARK PROBLEM MODULES
Figure 24.1. Module that resturns the Frobenius norm of a real square matrix.
Figure 24.2. Module that returns selected information for a benchmark problem.
§
24.1. Introduction
§24.1.1. Problem Information
Utility module ProblemInfoModule, listed in Figure 24.2, returns selected information for a specified benchmark problem — for now only the number of degrees of freedom (DOF). It is invoked as
numdof=ProblemInfo[probid] The only argument is
probid Benchmark problem identifier. The function return is
numdof Number of DOF. If the problem is not implemented, it returns zero. (This actually the way that SetRefConfig checks that error condition)
§
24.2. Benchmark Problem Modules
Only two benchmark problems have neen implemented in the present version of GeNoBe: the Mises Truss (MT) and the Circle Game (CG). They are described below. Others will follow.
Figure 24.3. The 7 modules that implement the Mises Truss benchmark problem, collected in one cell.
Figure 24.4. The 5 modules that implement the Circle Game benchmark problem, collected in one cell.
§24.2.1. Mises Truss
The seven modules listed in Figure 24.3 implement the Mises Truss (MT) benchmark, grouped into one cell for convenience. They are invoked as follows:
r=TotalResOfMisesTruss[MTprop,λ,u,rfload,numer]; p=IntForceOfMisesTruss[MTprop,λ,u,rfload,numer]; f=ExtForceOfMisesTruss[MTprop,λ,u,rfload,numer]; q=IncLoadOfMisesTruss[MTprop,λ,u,rfload,numer]; K=TanStiffOfMisesTruss[MTprop,λ,u,rfload,numer]; Kdet=TanStiffDetOfMisesTruss[MTprop,λ,u,rfload,numer]; MTProp=PackPropOfMisesTruss[prbvar,geopar,matpar,fabpar];
The purpose of the first six can be gathered from the module names. Their arguments are obvious except for MTprop. This is a list that packs selected information pertinent to the benchmark. Packing is done by the last module listed: PackPropOfMisesTruss, which is called with the following arguments
prbvar The problem variant identifier (blank for this benchmark) geopar Geometric parameters: truss span S and crown height H matpar Material parameters: elastic modulus Em
fabpar Fabrication parameters: cross section areas of truss members A1 and A2, followed by A3=0. The third area is a placeholder for a possible 3-member future variant. Note: the average area (A1+A2)/2 is used in this version for both truss members to simplify the governing equations.
The function return is MTprop, the configuration of which can be gathered from the code listing. §24.2.2. Circle Game
The five modules listed in Figure 24.4 implement the Circle game (CG) benchmark, as well as several variants. They are grouped into one cell for convenience. They are invoked as follows:
§24.2 BENCHMARK PROBLEM MODULES r=TotalResOfCircleGame[CGprop,λ,u,rfload,numer]; q=IncLoadOfCircleGame[CGprop,λ,u,rfload,numer]; K=TanStiffOfCircleGame[CGprop,λ,u,rfload,numer]; Kdet=TanStiffDetOfCircleGame[CGprop,λ,u,rfload,numer]; CGprop=PackPropOfCircleGame[prbvar,geopar,matpar,fabpar];
The purpose of the first four is evident from the module names. (Given the simplicity of the governing equations, additional modules for internal and external loads are not needed.) Their arguments are obvious except for CGprop. This is a list that packs selected information pertinent to the benchmark. Packing is done by the last module listed: PackPropOfCircleGame, which is called with the following arguments
prbvar The problem variant identifier geopar Geometric parameters
matpar Material parameters fabpar Fabrication parameters
For this benchmark there are no geometry, material or fabication parameters, meaning that geopar, matpar and fabpar are empty lists. Hence CGprop packs only prbvar
The simplest CG benchmark, specified with a blank variant identifier, has only a unit circle circular equilibrium path with equation λ2 + µ2 = 1. This problem has two limit points at λ = ±1 and λ = 0, plus two turning points at λ = 0 and µ = pm1. A useful variant is identified by prbvar="BB", in which BB stands for “bifurcation branch.” In addition to the circle this variant has a second equilibrium path: the straight lineλ = µ that passes through the origin. This adds two bircation points atλ = µ = ±√2. See Chapter 5 for additional details on this problem.
§
24.3. Sample Scripts
The ensuing scripts that run benchmark problems are provided as part of the Notebook. All of them are provided in the posted code, and may be used as “templates” to start the assigned homework exercises of this Chapter.
§24.3.1. Mises Truss Template Script
The script listed in Figure 24.5 runs the Mises Truss (MT) benchmark problem. The reference configuration isλ = uX = uY = 0. The script uses a specific combination of integration scheme
(Forward Euler) and increment control strategy (Load Control), and displays results. Refer to the interspersed comments for the setting up details.
§24.3.2. Circle Game Template Script
The script listed in Figure 24.6 runs the Circle Game (CG) circle-only benchmark problem, identified as the " " variant. The reference configuration is λ = µ = 1/sqrt2, which lies on the circle first quadrant. The script uses a specific combination of integration scheme (Forward Euler) and increment control strategy (Load Control), and displays results. Refer to the interspersed comments for the setting up details.
§24.3.3. Circle Game Variant Template Script
The script listed in Figure 24.7 runs the Circle Game (CG) circle-plus-straight-line benchmark problem. identified as the "BB" variant. The reference configuration isλ = µ = 0. The script uses a specific combination of integration scheme (Forward Euler) and increment control strategy (Load Control), and displays results. Refer to the interspersed comments for the setting up details.
Exercises
Figure 24.6. Script “template” to run the Circle Game (CG) benchmark problem, with only the unit circle as equilibrium path.
Exercises
Figure 24.7. Script “template” to run BB (bifurcation branch) variant of the Circle Game (CG) benchmark problem. This variant has the unit circle and a straight line that passes through
Homework Exercises for Chapter 22 Benchmark Problems
All Exercises refer to the GeNoBe (Geometrically Nonlinear Benchmarking) program downloadable from this Chapter index.
EXERCISE 24.1
[C:20] Solve the Mises Truss (MT) benchmark problem1 with several combinations of integration methods
and increment control strategies. Refer to script in Cell B.1 near the end of the GeNoBe notebook.
The script is ready to run the benchmark using the Forward Euler (FE) integrator and the Load Control (LC) strategy. Run and save the plots at the end of the output (dont bother about saving the printed table). Rerun with Arclength Control (AC), and save the plots. Then change FE to Explicit Midpoint Rule (EMR), and rerun LC and AC. As HW return show the plots for those 4 cases.
Comment on relative performance, especially on whether (1) the limit points are smoothly traversed and (2) the solution goes throughλ = 0 at µ = −1, −2.
EXERCISE 24.2
[C:20] Solve the Circle Game (MT) benchmark problem2 with several combinations of integration methods and increment control strategies. Refer to script in Cell B.2 near the end of the GeNoBe notebook. This particular CG variant contains only one equilibrium path, which is the unit-radius circleλ2 + µ2 = 1; it is
identified as such by specifying a blank string is for the variant id in teh script. The reference configuration is set to beλ = µ = ±1/√2, which lies on the circle at a+45◦ angle from theµ axis. The benchmark has 2 limit points and 2 turning points.
The script is ready to run the benchmark using the Forward Euler (FE) integrator and the Load Control (LC) strategy. Run and save the plots at the end of the output (dont bother about saving the printed table). Rerun with Arclength Control (AC), and save the plots. Then change FE to Explicit Midpoint Rule (EMR), and run LC and AC. As HW return show the plots for those 4 cases.
Comment on relative performance, especially on whether the combination is able to traverse the full circle (getting back through the starting point) and if so, on the importance of the drift error.
EXERCISE 24.3
[C:20] Solve the Circle Game (CG) benchmark problem augmented by the additional pathλ = µ, with several combinations of integration methods and increment control strategies. Refer to script in Cell B.3 near the end of the GeNoBe notebook. This particular CG variant is identified as such by specifying the textstring "BB" (for Bifurcation Branch) in the script. This benchmark now has two bifurcation points atµ = λ = ±1/√2. The reference configuration is set to beλ = µ = 0, which lies on the λ = µ branch.
The script is ready to run the benchmark using the Forward Euler (FE) integrator and the Load Control (LC) strategy. Run and save the plots at the end of the output (dont bother about saving the printed table). Rerun with Arclength Control (AC), and save the plots. Then change FE to Explicit Midpoint Rule (EMR), and run LC and AC. As HW return show the plots for those 4 cases.
Comment on what happens, especially the funny “ping-pong” behavior of FE+LC (look at the printed solution table), and whether bifurcation is detected. Then introduce a small perturbation by starting slightly away from the origin, sayλ = 0, µ = ±0.01. If bifurcation sensed? Finally, reduce to 0.05 and repeat the analysis.
1 A widely used benchmark described in Chapter 6, where it was used for some homework exercises. The model
imple-mented in GeNoBe is based on the Total Lagrangian FEM formulation
Exercises
(The 3 runs with perturbations 0, 0.01, -0.01 along with EMR, AC and = 0.05 should collectively give a good picture of the bifurcation “fork”.)