Upload
voquynh
View
212
Download
0
Embed Size (px)
Citation preview
DEVELOPMENT OF A TRANSIENT GRADIENT
ENHANCED NON LOCAL CONTINUUM
DAMAGE MECHANICS MODEL FOR
MASONRY
By
Ali Jelvehpour
B.Sc., M.Sc.
A Thesis Submitted in Fulfilment of the
Requirements for the Degree of Doctor of Philosophy
(PhD)
School of Civil Engineering and Built Environment
Science and Engineering Faculty
Queensland University of Technology
2016
QUT Verified Signature
i Acknowledgments |
Acknowledgements
First and foremost, I wish to express my sincere gratitude to my principal supervisor Prof.
Manicka Dhanasekar for his continuous encouragement, support and guidance throughout my
PhD candidature. I would also like to thank Prof. Dhanasekar for providing me with a
supervisory scholarship. I appreciate all his time, efforts and ideas which lead me forward in
my PhD journey. He will always be an excellent example of a friend, a teacher and a
professor for me. I also wish to thank Dr. Xuemei Liu for her support whenever I needed.
Acknowledgment is due to Concrete Masonry Association of Australia (CMAA) for their
financial support of this research.
I like to thank School of Civil Engineering and Built Environment (CEBE) of Queensland
University of Technology for providing me with a tuition fee waiver scholarship an also for
providing me with excellent research facilities. I am grateful to QUT’s High Performance
Computing (HPC) team, especially Mr. Mark Barry, for their support throughout my
research.
I also would like to thank all my friends and fellow PhD candidates, especially Ashkan
Mohit, Idin Ravaz, Proshot Tehrani, Sanam Aghdamy, Thangarajah Janaraj, Julian Ajith
Thamboo, Shahid Nazir, Sarkar Noor-E-Khuda and Norrul Azmi Yahya for their continuous
support.
Finally, I like to thank my lovely wife, Hana, my amazing parents, Bagher and Shahnaz, my
caring siblings, Parisa and Hamid and my beautiful niece Proshot for their unconditional
support. None of this would have been possible without them.
ii Abstract |
Abstract Due to the advent of varied types of masonry systems a comprehensive failure mechanism of masonry essential for the understanding of its behaviour is impossible to be determined from experimental testing. As masonry is predominantly used in wall structures a biaxial stress state dominates its failure mechanism. Biaxial testing will therefore be necessary for each type of masonry, which is expensive and time consuming. A computational method would be advantageous; however masonry is complex to model which requires advanced computational modelling methods. This thesis has formulated a damage mechanics inspired modelling method and has shown that the method effectively determines the failure mechanisms and deformation characteristics of masonry under biaxial states of loading.
A continuum damage mechanics (CDM) model incorporating variable Poisson’s ratio which represents the evolution of microcracks has been formulated. The model is enhanced with a transient-gradient nonlocal formulation to account for the post peak softening of quasi-brittle materials without any mesh pathology. The enhanced model has been implemented for the development of representative volume elements (RVEs) for masonry. Two forms of RVEs have been developed and through application to simulate the test results of masonry under uniaxial stress states, it has been shown that the geometry of the RVE that incorporates a single unit surrounded by half thickness of binder layers is sufficient.
Through a series of simulation of biaxial tests on half-scale clay brick masonry panels it has been shown that the enhanced model provides an over-stiff predictions of masonry. The major reason for this over prediction is the inherent assumption of the perfect bond between the surfaces of the units and the mortar layers. To appropriately define the bond characteristics a nonlinear contact or other complex methods would have to be incorporated within the RVE, which could lead to computational complexity. An interfacial transition zone (ITZ) concept which only requires the basic formulations in the enhanced modelling method has been used to enrich the RVE. The ITZ enriched RVE has been used for the prediction of failure surfaces of conventional masonry systems. The predicted failure surfaces have been found to compare well with the experimental datasets where available.
The transient-gradient enhanced CDM model has been further developed to represent the behaviour of dry-stack masonry through a contact surface closure concept represented by initial damage parameter standing for surface imperfections. The model has been calibrated with uniaxial experimental datasets and extended for biaxial failure surface predictions. Failure envelopes in the non-dimensional zero-shear stress plane for all masonry systems fall in a zone with the hollow block dry-stack masonry as its lower bound and a combination of the conventional hollow block prisms and the modified hollow block dry-stack masonry as its upper bound envelopes.
The ITZ enriched CDM model has been used to simulate the uniaxial compression behaviour of masonry consisting of a range of units from unburnt clay bricks to dressed stone and two types of mortar involving 140 combinations. The results have been compared to the Australian masonry standard AS3700 provisions, which provided several conclusions.
iii Contents |
Contents
List of Symbols .................................................................................................................................... viii
List of Figures ...................................................................................................................................... xii
List of Tables ...................................................................................................................................... xxii
CHAPTER 1 ........................................................................................................................................... 1
Introduction............................................................................................................................................ 1
1.1 General Remarks .................................................................................................................... 1
1.2 Research Significance ............................................................................................................ 2
1.3 Aim .......................................................................................................................................... 3
1.4 Thesis Arrangement ............................................................................................................... 3
CHAPTER 2 ........................................................................................................................................... 5
Literature Review ................................................................................................................................... 5
2.1 Introduction ............................................................................................................................ 5
2.2 Experimental Research on Masonry ..................................................................................... 6
2.2.1 Uniaxial Compressive Behaviour ................................................................................ 6
2.2.2 Uniaxial Tensile Behaviour ......................................................................................... 8
2.2.3 Shear Behaviour .......................................................................................................... 9
2.2.4 Biaxial Behaviour ...................................................................................................... 10
2.3 Modelling Masonry .............................................................................................................. 13
2.3.1 Microscopic Models ................................................................................................... 14
2.3.2 Macroscopic Models.................................................................................................... 15
2.3.3 Homogenisation Models ............................................................................................ 15
2.4 Continuum Damage Mechanics .......................................................................................... 17
2.4.1 Damage Variable ........................................................................................................ 19
2.4.2 Principle of Strain-Equivalence ................................................................................ 21
2.4.3 Damage Evolution Law.............................................................................................. 23
2.5 Localisation and Mesh Sensitivity in Quasi-Brittle Material ............................................. 28
2.6 Non-Local Models ................................................................................................................ 29
2.6.1 Integral Non-local Model for Strain Softening Material ......................................... 30
2.6.2 Gradient Enhanced Non-local Model for Strain Softening Material ...................... 30
2.6.3 Finite Element Implementation of Gradient Enhanced Non-Local Model ............. 32
2.7 The Transient-Gradient Non-Local Model for Strain Softening Material ........................ 33
2.7.1 Nonlocal Damage Model with a Damage-Dependant Transient Length Scale ....... 34
2.7.2 Nonlocal Damage Model with a Strain-Dependant Transient Length Scale .......... 35
iv Contents |
2.8 First-Order Computational Homogenisation ...................................................................... 36
2.8.1 Choice of Homogenisation Boundary Condition ...................................................... 37
2.8.2 Periodic Boundary Conditions for Computational Homogenisation ....................... 38
2.9 Concluding Remarks ............................................................................................................ 39
CHAPTER 3 ......................................................................................................................................... 40
Development of a CDM Model Incorporating Variation of Poisson’s Ratio .................................... 40
3.1 Introduction .......................................................................................................................... 40
3.2 Uniaxial Behaviour of Quasi-brittle Material..................................................................... 41
3.3 Formulation ......................................................................................................................... 42
3.3.1 Refined Damage Evolution Law for Masonry Constituents ..................................... 42
3.3.2 Variable Poisson’s Ratio ............................................................................................ 44
3.4 Implementation .................................................................................................................... 47
3.5 Numerical Example ............................................................................................................. 50
3.5.1 Uniaxial Tension ....................................................................................................... 51
3.5.2 Uniaxial Compression ................................................................................................ 54
3.5.3 Pure Shear .................................................................................................................. 56
3.6 Parametric Study .................................................................................................................. 58
3.6.1 Uniaxial Tension Test ................................................................................................ 59
3.6.1.1 Effect of Damage Evolution Law Parameter α ............................................... 59
3.6.1.2 Effect of Damage Evolution Law Parameters β ............................................. 61
3.6.2 Uniaxial Compression Test ........................................................................................ 62
3.6.2.1 Effect of Equivalent Strain Parameter k ......................................................... 62
3.6.2.2 Effect of Damage Evolution Law Parameter ζ ................................................ 63
3.6.2.3 Effect of Damage Evolution Law Parameter 𝝎𝒄 ............................................. 64
3.6.2.4 Effect of the Volumetric Damage Parameter η ................................................. 66
3.7 Concluding Remarks ............................................................................................................ 69
CHAPTER 4 ......................................................................................................................................... 71
Enhancement of the CDM Model through a Non-Local Transient-Gradient Method ..................... 71
4.1 Introduction .......................................................................................................................... 71
4.2 Formulation of a Transient-Gradient Model ...................................................................... 72
4.3 Homogenisation Technique for Modelling Masonry ......................................................... 74
4.3.1 Choice of a Mesoscopic Representative Volume Element (RVE) ............................ 74
4.3.2 Boundary conditions for the Representative Volume Element (RVE) ..................... 76
4.4 Implementation .................................................................................................................... 78
4.5 Numerical Example ............................................................................................................. 81
4.5.1 Stress-strain Behaviour of Individual Constituents .................................................. 81
v Contents |
4.5.2 Numerical Analysis of the RVEs ............................................................................... 84
4.6 Parametric Study .................................................................................................................. 89
4.6.1 Effect of the Non-Local Length Scale Parameter c .................................................. 89
4.7 Concluding Remarks ............................................................................................................ 92
CHAPTER 5 ......................................................................................................................................... 93
Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading ................. 93
5.1 Introduction .......................................................................................................................... 93
5.2 Problem definition ................................................................................................................ 94
5.2.1 Tensile and Compressive Behaviour of Individual Constituents (Brick and Mortar) 95
5.2.2 RVE Geometry, Discretisation and Loading Configuration ....................................... 98
5.2.3 Stress-Strain Behaviour of the RVE under Different Loading Configurations ....... 100
5.3 Observations ....................................................................................................................... 105
5.4 Concluding Remarks .......................................................................................................... 106
CHAPTER 6 ....................................................................................................................................... 107
Enrichment of the RVE with Interfacial Transition Zone (ITZ) ..................................................... 107
6.1 Introduction ........................................................................................................................ 107
6.2 Interfacial Transition Zone (ITZ) Concept ....................................................................... 108
6.2.1 Enrichment of the RVE with an Interfacial Transition Zone (ITZ) ...................... 109
6.2.2 Elastic Properties of the Layers of the Interfacial Transition Zone (ITZ) ............. 110
6.3 Parametric study ................................................................................................................ 111
6.3.1 Effect of Thickness of the Interfacial Transition Zone (ITZ) ................................ 113
6.3.2 Effect of the Interfacial Transition Zone (ITZ) Parameter 𝝀𝑬 .............................. 117
6.4 Validation of the Interfacial Transition Zone (ITZ) Enriched CDM Model ................... 122
6.4.1 Validation of Uniaxial Tests Conducted by Dhanasekar (1985) ............................ 122
6.4.2 Validation of Uniaxial Compression Tests Conducted by Barbosa & Hanai ......... 126
6.5 Concluding Remarks .......................................................................................................... 133
CHAPTER 7 ....................................................................................................................................... 134
Application of the ITZ Enriched CDM Model – 1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses ........................................................................................................ 134
7.1 Introduction ........................................................................................................................ 134
7.2 Problem Definition ............................................................................................................. 134
7.3 Masonry RVEs, their Dimensions and Properties ............................................................ 135
7.3.1 RVE Considered to Simulate Biaxial Tests by Dhanasekar (1985) ........................ 136
7.3.2 RVE for the Simulation of Biaxial Tests on Hollow Concrete Masonry ................ 138
7.4 Numerical Modelling of Biaxial Testings ......................................................................... 139
7.4.1 Simulation of Clay Brick Masonry Experimental Tests . Error! Bookmark not defined.
vi Contents |
7.4.1.1 Bed Joint Angles of 𝜽 = 𝟎° and 𝜽 = 𝟗𝟎°(Zero-shear state) ......................... 142
7.4.1.2 Bed Joint Angles of 𝜽 = 𝟐𝟐. 𝟓° and 𝜽 = 𝟔𝟕. 𝟓° ............................................. 144
7.4.1.3 Bed Joint Angle of 𝜽 = 𝟒𝟓° ............................................................................. 147
7.4.1.4 Failure Envelope .............................................................................................. 148
7.4.1.5 Prediction of Modes of Failure ........................................................................ 153
7.4.2 Simulation of Concrete Block Masonry Biaxial Experiments ................................ 162
7.4.2.1 Analysing Case 1 (P1) ....................................................................................... 162
7.4.2.2 Analysing Case 2 (P2) ....................................................................................... 163
7.4.2.3 Analysing Case 3 (P3) ....................................................................................... 163
7.4.2.4 Analysing Case 4 (P4) ....................................................................................... 164
7.4.3 Comparison of Failure Envelopes for Conventional Masonry .............................. 165
7.5 Concluding Remarks .......................................................................................................... 166
CHAPTER 8 ....................................................................................................................................... 168
Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack Masonry
under Biaxial Stresses ........................................................................................................................ 168
8.1 Introduction ........................................................................................................................ 168
8.2 Dry-Stack Masonry ............................................................................................................ 168
8.3 Constitutive Modelling of Dry-Stack Masonry ................................................................. 169
8.3.1 Formulation of Damage Evolution Law for Dry-Stack Joint ................................ 171
8.3.2 Implementation ........................................................................................................ 172
8.4 Parametric Study ................................................................................................................ 174
8.4.1 Effect of the Full Contact Strain 𝒌𝒋𝒄 ....................................................................... 175
8.4.2 Effect of Initial Imperfection Parameter 𝑰𝟎 ............................................................ 177
8.4.3 Effect of Damage Slope Parameter 𝑺𝒋 ..................................................................... 178
8.5 Numerical Validation of the Model ................................................................................... 180
8.5.1 Simulation of Experimental Tests Conducted by Oh (1994) ................................... 180
8.5.2 Masonry Unit Properties ........................................................................................... 182
8.5.3 Analysis of the RVEs for Uniaxial Compression Test ............................................. 187
8.6 Prediction of Biaxial Failure Envelope for Dry-Stack Masonry ..................................... 188
8.6.1 Prediction of Biaxial Failure Envelope for the H-Block ......................................... 190
8.6.2 Prediction of Biaxial Failure Envelope for the Modified H-Block ......................... 191
8.6.3 Prediction of Biaxial Failure Envelope for the Conventional Hollow Block ......... 191
8.6.4 Comparison of Biaxial Failure Envelopes of Different Masonry Systems ............. 192
8.7 Concluding Remarks .......................................................................................................... 194
CHAPTER 9 ....................................................................................................................................... 196
Application of the Model for the Masonry Compressive Strength Prediction ................................. 196
vii Contents |
9.1 Introduction ........................................................................................................................ 196
9.2 Current AS 3700 (2011) Provisions for Compressive Strength of Masonry .................... 196
9.3 Effect of Different Parameters on Compressive Strength of Masonry ............................ 197
9.3.1 Effect of Characteristic Unconfined Compressive Strength of Masonry Unit 𝒇′𝒖𝒄 200
9.3.2 Effect of Masonry Unit Height to Mortar Bed Joint Thickness 𝒉𝒖/𝒕𝒋 ................... 202
9.4 Concluding Remarks .......................................................................................................... 207
CHAPTER 10 ..................................................................................................................................... 209
Conclusions and Recommendations ................................................................................................. 209
10.1 Summary............................................................................................................................. 209
10.2 Conclusion .......................................................................................................................... 210
10.3 Recommendations for Future Work .................................................................................. 211
References .......................................................................................................................................... 213
Appendix A ......................................................................................................................................... A-1
Appendix B ......................................................................................................................................... B-1
Appendix C ......................................................................................................................................... C-1
Appendix D ......................................................................................................................................... D-1
Appendix E ......................................................................................................................................... E-1
Appendix F ......................................................................................................................................... F-1
Appendix G ......................................................................................................................................... G-1
Appendix H......................................................................................................................................... H-1
viii List of Symbols |
List of Symbols
cA Model Parameter
tA Model Parameter
cB Model Parameter
tB Model Parameter
B Interpolation function
𝒄 = A function of length scale parameter
0c An arbitrary positive value that prevents non-local interaction
𝑪𝒊𝒋𝒌𝒍 = The elasticity matrix components
E Young’s modulus
0E Initial Young’s modulus
0( )E n The initial Young’s modulus of the nth
layer of the ITZ
ME Young’s modulus of the mortar layer
E Damaged Young’s modulus
mf ' Characteristic compressive strength of masonry
ucf ' Characteristic compressive strength of units
Fg fracture energy
tg Tension evolution function
cg Compression evolution function
G shear modulus
0G Initial shear modulus
H Height of the RVE or prism
uh height of unit
𝐼1 = the first invariant of strain tensor
0I The initial imperfection parameter
𝐽2 = the second invariant of deviatoric strain tensor
𝑘 = the equivalent strain tension to compression sensitivity parameter
K Bulk modulus
0K Initial Bulk modulus
hK joint thickness factor
cl Length scale parameter
L Length of the RVE or prism
ix List of Symbols |
N The total number of layers within the ITZ
𝑵 = interpolation function
TN Transpose of interpolation Matrix
n Vector normal to the surface
n Transient-gradient model parameter
jS Damage slope parameter
jt thickness of the mortar joint
ITZT thickness of the total ITZ
i u Displacement on boundary i
A
u Displacements of the controlling node A
B
u Displacements of the controlling node B
C
u Displacements of the controlling node C
𝒖𝒌 = the displacement with respect to Cartesian coordinate system
u x The strain-periodic displacement field
W Width of the RVE or prism
�⃗⃗⃗� (�⃗⃗� ) = a mesoscopic displacement fluctuation field
𝒙 = material point
�⃗⃗� = the position vector
,eqf
damage loading function
A parameter controlling the softening tail
t Tensile damage portion
c Compressive damage portion
β= A parameter controlling the damage growth rate
nu displacement increment of integration point n
n Strain increment of integration point n
i principal strains
𝜺𝒌𝒍 = The linear strains
eq The equivalent strain
eq non-local equivalent strain
,i eqε non-local equivalent strain of boundary i
f a model parameter controlling the initial slope of the softening curve
Maximum transient gradient strain threshold
M ε Macroscopic strain tensor
x List of Symbols |
𝝋𝒊 = test function
= A function of damage parameter
A model parameter
Damage evolution law parameter
damage threshold
𝜅𝑖 = The threshold for damage initiation
d The strain in which the material completely loses its integrity
c threshold strain beyond which damage grows rapidly
jc The strain at which the joint is fully closed
E A parameter controlling the stiffness degradation
A parameter controlling the decrease of Poisson’s ratio
η= Path parameter
𝝂 = Poisson’s ratio
0 Initial Poisson’s ratio
M The Poisson’s ratio of the mortar layer
0( )n The initial Poisson’s ratio of the nth
layer of the ITZ
𝜔 = Scalar damage parameter
T Tensile damage variables
c the threshold damage beyond which damage grows rapidly
C Compressive damage variables
Nonlocal damage parameter
K volumetric damage parameter
energy
𝜎1 = Stress in principal axes 1
𝜎2 = Stress in principal axes 2
𝝈𝒊𝒋 = The Cauchy stress
𝜎𝑛 = Stress normal to RVE bed joint
𝜎𝑝 = Stress parallel to RVE bed joint
𝜎𝑥𝑥 = Stress in direction x-x
𝜎𝑦𝑦 = Stress in direction y-y
𝜎𝑥𝑦 = Stress in direction x-y
𝜏 = Shear stress applied on the RVE
𝜃 = The orientation of the loading axes with respect to masonry bed joints
Bulk modulus damage portion
xi List of Symbols |
A homogenous and isotropic weight function
the relative distance from point 𝒙
( ) Variable length scale parameter as a function of damage parameter
( )eq Variable length scale parameter as a function of nonlocal equivalent strain
The original cross sectional area
volume of the element
c fully damaged region
d partially damaged region
Damage evolution law parameter
𝜵(𝒏) = the nth
order gradient
2 the Laplacian operator
. The McAuley brackets
𝕮𝟎 = Zero order continuous domain
𝕮𝟏 = First order continuous domain
xii List of Figures |
List of Figures
Figure 1.1 Varied structural masonry systems......................................................................... 1
Figure 2.1 Local state of stress in the constituents of masonry prisms under vertical
compression perpendicular to bed joint .................................................................................... 7
Figure 2.2 Modes of failure of solid clay masonry under uniaxial compression, from
(Dhanasekar, 1985) ................................................................................................................... 8
Figure 2.3 Modes of failure of solid clay masonry under uniaxial tension, from
(Dhanasekar, 1985) ................................................................................................................... 9
Figure 2.4 Modes of failure of solid clay masonry under uniaxial compression and uniaxial
tension considering different load orientations with respect to bed joint, from (Dhanasekar,
1985) ........................................................................................................................................ 10
Figure 2.5 Modes of failure of solid clay masonry under biaxial loads(Dhanasekar, 1985) . 11
Figure 2.6 Mode of failure of solid clay masonry under biaxial compression-compression,
from (Dhanasekar, 1985) ......................................................................................................... 11
Figure 2.7 Biaxial failure envelope of solid clay masonry (Page, 1981; Page, 1983) .......... 12
Figure 2.8 The periodic assemblage of masonry ................................................................... 14
Figure 2.9 Illustration of different scales in multi-scale methods.......................................... 17
Figure 2.10 Distribution of damage on an element and representation of microstructural
defects ...................................................................................................................................... 20
Figure 2.11 a) Damage growth plotted from Equation (2.12); b) Stress-strain curve
corresponding to Equation (2.12) ............................................................................................ 25
Figure 2.12 a) Damage growth plotted from Equation (2.13); b) Stress-strain curve
corresponding to Equation (2.13) ............................................................................................ 25
Figure 2.13 Exponential softening law from Jirásek, et al. (2004) ........................................ 27
Figure 3.1 Typical behaviour of quasi brittle material under uniaxial tension ..................... 41
Figure 3.2 Typical behaviour of quasi brittle material under uniaxial compression ............ 41
Figure 3.3 Qualitative damage evolution in terms of equivalent strain under uniaxial
compression ............................................................................................................................. 43
Figure 3.4 Implemented program’s flow chart ...................................................................... 48
Figure 3.5 The 8-noded element used for the numerical analysis ......................................... 50
Figure 3.6 The 8-noded element under uniaxial tension ........................................................ 52
Figure 3.7 Stress-strain behaviour of the material based on the proposed model in uniaxial
tension test ............................................................................................................................... 52
xiii List of Figures |
Figure 3.8 Evolution of Poisson’s ratio for the material based on the proposed model in
uniaxial tension test ................................................................................................................. 53
Figure 3.9 Damage evolution of the material based on the proposed model in uniaxial
tension test for η =1.0 .............................................................................................................. 53
Figure 3.10 The 8-noded element under uniaxial compression ............................................. 54
Figure 3.11 Stress-strain behaviour of the material based on the proposed model in uniaxial
compression test ....................................................................................................................... 55
Figure 3.12 Evolution of Poisson’s ratio for the material based on the proposed model in
uniaxial compression test ......................................................................................................... 55
Figure 3.13 Damage evolution of the material based on the proposed model in uniaxial
compression test for η =0.5 ..................................................................................................... 56
Figure 3.14 The 8-noded element under pure shear .............................................................. 57
Figure 3.15 Stress-strain behaviour of the material based on the proposed model in pure
shear test ............................................................................................................................ 57
Figure 3.16 Evolution of Poisson’s ratio for the material based on the proposed model in
pure shear test .......................................................................................................................... 58
Figure 3.17 Damage evolution of the material based on the proposed model in pure shear
test ............................................................................................................................................ 58
Figure 3.18 Influence of parameter α on the stress-strain behaviour of the proposed model
in uniaxial tension test ............................................................................................................. 60
Figure 3.19 Influence of parameter α on the damage evolution of the proposed model in
uniaxial tension test ................................................................................................................. 60
Figure 3.20 Influence of parameter β on the stress-strain behaviour of the proposed model
in uniaxial tension test ............................................................................................................. 61
Figure 3.21 Influence of parameter β on the damage evolution of the proposed model in
uniaxial tension test ................................................................................................................. 61
Figure 3.22 Influence of parameter k on the stress-strain behaviour of the proposed model in
uniaxial compression test ......................................................................................................... 62
Figure 3.23 Influence of parameter k on damage evolution of the model in uniaxial
compression test .................................................................................................................. 63
Figure 3.24 Influence of parameter ζ on the stress-strain behaviour of the proposed model in
uniaxial compression test ......................................................................................................... 64
Figure 3.25 Influence of parameter ζ on damage evolution of the model in uniaxial
compression test ................................................................................................................... 64
Figure 3.26 Influence of parameter ω_c on the stress-strain behaviour of the proposed
model in uniaxial compression test .......................................................................................... 65
Figure 3.27 Influence of parameter ω_c on damage evolution of the proposed model in
uniaxial compression test ......................................................................................................... 65
xiv List of Figures |
Figure 3.28 Influence of parameter η on the stress-strain behaviour of the proposed model
in uniaxial compression test..................................................................................................... 66
Figure 3.29 Influence of parameter η on the volumetric damage variable with respect to the
damage variable based on the proposed model in uniaxial compression test ........................ 67
Figure 3.30 Influence of parameter η on Poisson’s ratio with respect to strain based on the
proposed model in uniaxial compression test .......................................................................... 67
Figure 3.31 Influence of parameter η on Poisson’s ratio with respect to the damage variable
based on the proposed model in uniaxial compression test ..................................................... 68
Figure 3.32 Influence of parameter η on Poisson’s ratio with respect to the volumetric
damage variable based on the proposed model in uniaxial compression test ....................... 68
Figure 3.33 Influence of parameter η on Bulk’s modulus with respect to the damage variable
based on the proposed model in uniaxial compression test ..................................................... 69
Figure 4.1 Typical periodic RVEs used for masonry (Anthoine, 1995; Massart, 2003;
Lourenco, et al., 2007) ............................................................................................................. 75
Figure 4.2 Identified RVEs ..................................................................................................... 76
Figure 4.3 Controlling nodes and periodicity conditions on a typical masonry RVE ........... 77
Figure 4.4 Loading modes applied on the RVE ..................................................................... 78
Figure 4.5 Flowchart for the analysis of RVE ....................................................................... 79
Figure 4.6 Dimensions considered for the RVE ..................................................................... 82
Figure 4.7 Stress-strain behaviour of the RVE constituents (brick and mortar) under
uniaxial compression ............................................................................................................... 83
Figure 4.8 Stress-strain behaviour of the RVE constituents (brick and mortar) under
uniaxial tension ........................................................................................................................ 83
Figure 4.9 Discretisation of individual RVEs ........................................................................ 84
Figure 4.10 Loading and boundary conditions of RVE-1 under uniaxial tension
perpendicular to bed joint ........................................................................................................ 85
Figure 4.11 Loading and boundary conditions of RVE-1 under uniaxial tension parallel to
bed joint ............................................................................................................................... 85
Figure 4.12 Loading and boundary conditions of RVE-1 under pure shear.......................... 85
Figure 4.13 Stress-strain behaviour of both RVEs under uniaxial compression perpendicular
to bed joint ............................................................................................................................... 86
Figure 4.14 Stress-strain behaviour of both RVEs under uniaxial tension perpendicular to
bed joint .............................................................................................................................. 87
Figure 4.15 Stress-strain behaviour of both RVEs under uniaxial compression parallel to
bed joint ............................................................................................................................. 87
Figure 4.16 Stress-strain behaviour of both RVEs under uniaxial tension parallel to bed
joint .......................................................................................................................................... 88
xv List of Figures |
Figure 4.17 Stress-strain behaviour of both RVEs under pure shear .................................... 88
Figure 4.18 Influence of different length scale parameters on stress-strain behaviour of the
RVE under uniaxial compression perpendicular to bed joint .................................................. 90
Figure 4.19 Strength of the RVE in terms of the nonlocal length scale parameter c ............. 91
Figure 4.20 Stress distribution at interface between mortar and brick for c = 1.0 ............... 91
Figure 4.21 Stress distribution at interface between mortar and brick for c = 5.0 ............... 92
Figure 5.1 Dhanasekar’s biaxial load-control test setup (Dhanasekar, 1985) ..................... 94
Figure 5.2 The 8-noded element used for the numerical analysis ......................................... 95
Figure 5.3 Stress-strain behaviour of brick element under uniaxial compression ................ 96
Figure 5.4 Stress-strain behaviour of mortar element under uniaxial compression ............. 97
Figure 5.5 Stress-strain behaviour of brick element under uniaxial compression ................ 97
Figure 5.6 Stress-strain behaviour of brick element under uniaxial compression ................ 98
Figure 5.7 A typical discretisation of RVE ............................................................................. 98
Figure 5.8 Typical dimensions of the modelled RVE ............................................................. 99
Figure 5.9 Loading configuration of the panel ...................................................................... 99
Figure 5.10 Loading configuration and boundary conditions of the RVE ........................... 100
Figure 5.11 Stress-Strain behaviour of the RVE under uniaxial compression parallel to bed
joint ........................................................................................................................................ 101
Figure 5.12 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 1 ............................................................................................................................... 102
Figure 5.13 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 2 .............................................................................................................................. 102
Figure 5.14 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 4 .............................................................................................................................. 103
Figure 5.15 Stress-Strain behaviour of the RVE under uniaxial compression perpendicular
to bed joint ............................................................................................................................ 104
Figure 5.16 Stress-Strain behaviour of the RVE under biaxial compression with 90 and
1 2/ 2 .............................................................................................................................. 104
Figure 5.17 Stress-Strain behaviour of the RVE under biaxial compression with 90 and
1 2/ 4 .............................................................................................................................. 105
Figure 6.1 Representation of the Interfacial Transition Zone (ITZ) for concrete ............... 108
Figure 6.2 Representation of the masonry RVE utilised with a 5-layered Interfacial
Transition Zone (ITZ) ............................................................................................................ 109
xvi List of Figures |
Figure 6.3 Representation of the masonry RVE thicknesses with an n-layered Interfacial
Transition Zone (ITZ) ............................................................................................................ 111
Figure 6.4 Finite Element discretisation of the RVE ........................................................... 113
Figure 6.5 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
compression perpendicular to bed joint ................................................................................ 115
Figure 6.6 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
compression parallel to bed joint .......................................................................................... 115
Figure 6.7 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
tension perpendicular to bed joint ......................................................................................... 116
Figure 6.8 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
tension parallel to bed joint ................................................................................................... 116
Figure 6.9 Influence of ITZ thickness on stress-strain behaviour of the RVE under pure
shear loading ....................................................................................................................... 117
Figure 6.10 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial compression perpendicular to bed joint .................................................................. 118
Figure 6.11 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial compression parallel to bed joint ............................................................................. 119
Figure 6.12 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial tension perpendicular to bed joint ........................................................................... 120
Figure 6.13 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial tension parallel to bed joint ..................................................................................... 120
Figure 6.14 Influence of ITZ parameter E on stress-strain behaviour of masonry under
pure shear loading ................................................................................................................. 121
Figure 6.15 Dimensions of the modelled RVE and its ITZ for experiments conducted by
Dhanasekar (1985) ............................................................................................................... 123
Figure 6.16 Comparison of the stress-strain behaviour of the RVE under uniaxial
compression parallel to bed joint .......................................................................................... 124
Figure 6.17 Comparison of the stress-strain behaviour of the RVEs under uniaxial
compression perpendicular to bed joint ................................................................................ 124
Figure 6.18 Comparison of the stress-strain behaviour of the RVE under uniaxial tension
parallel to bed joint ................................................................................................................ 125
Figure 6.19 Comparison of the stress-strain behaviour of the RVEs under uniaxial tension
perpendicular to bed joint ...................................................................................................... 125
Figure 6.20 Hollow concrete block with dimensions from Barbosa, et al. (2010) .............. 126
Figure 6.21 Idealised dimensions of the modelled RVE....................................................... 127
xvii List of Figures |
Figure 6.22 Dimensions of the modelled RVE and its ITZ for experiments conducted by
Barbosa & Hanai (2009) ....................................................................................................... 130
Figure 6.23 Finite Element discretisation of the RVE ......................................................... 131
Figure 6.24 Comparison of the stress-strain behaviour for test P1 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)................. 131
Figure 6.25 Comparison of the stress-strain behaviour for test P2 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)................. 132
Figure 6.26 Comparison of the stress-strain behaviour for test P3 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)................. 132
Figure 6.27 Comparison of the stress-strain behaviour for test P4 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)................. 133
Figure 7.1 Representation of material and principal axes in masonry ................................ 135
Figure 7.2 Typical dimensions of the modelled RVE and its ITZ ......................................... 137
Figure 7.3 Finite Element discretisation of the RVE ........................................................... 138
Figure 7.4 Typical dimensions considered for the tested blocks.......................................... 139
Figure 7.5 Typical dimensions of the modelled RVE and its ITZ ......................................... 139
Figure 7.6 Loading configuration and boundary conditions of the RVE ............................. 140
Figure 7.7 Loading configuration and boundary conditions of the RVE for 6 load cases
considering θ = 90° ............................................................................................................... 140
Figure 7.8 Failure envelope of the RVE in terms of principle stresses for bed joint angle
0° ............................................................................................................................................ 143
Figure 7.9 Failure envelope of the RVE in terms of principle stresses for bed joint angle 90°
................................................................................................................................................ 144
Figure 7.10 Failure envelope of the RVE in terms of principle stresses for bed joint angle
22.5° ....................................................................................................................................... 145
Figure 7.11 Failure envelope of the RVE in terms of principle stresses for bed joint angle
67.5° ....................................................................................................................................... 145
Figure 7.12 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint for bed joint angles of 22.5° and 67.5° ........................................................................ 146
Figure 7.13 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint for bed joint angles of 22.5° and 67.5° ........................................................................ 146
Figure 7.14 Failure envelope of the RVE in terms of principle stresses for bed joint angle
45° .......................................................................................................................................... 147
Figure 7.15 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint for bed joint angle of 45° ............................................................................................. 147
Figure 7.16 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint for bed joint angle of 45° ............................................................................................. 148
xviii List of Figures |
Figure 7.17 Failure envelope of the RVE in terms of principle stresses for bed joint angles
0°, 22.5°, 45°, 67.5° and 90° .............................................................................................. 149
Figure 7.18 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint for bed joint angles of 0°, 22.5°, 45°, 67.5° and 90° ................................................... 149
Figure 7.19 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint for bed joint angle of 0°, 22.5°, 45°, 67.5° and 90° .................................................... 150
Figure 7.20 3-D failure envelope of the RVE in terms of shear stress τ, stress normal to bed
joint and stress parallel to bed joint .................................................................................. 150
Figure 7.21 Failure envelope of the RVE in the normal-parallel stress plane ................... 151
Figure 7.22 Fitted ellipse and its corresponding failure cases for cases with the summation
of the normal and parallel stresses less than -1 ...................................................................... 152
Figure 7.23 Fitted ellipse and its corresponding failure cases for cases with the summation
of the normal and parallel stresses more than -1 .................................................................... 153
Figure 7.24 Failure mode and damage progression in the ITZ layers for uniaxial
compression parallel to bed joint in the initial loading stages .............................................. 154
Figure 7.25 Failure mode and damage progression in the ITZ layers for uniaxial
compression parallel to bed joint in the final loading stages ............................................... 155
Figure 7.26 Failure mode and damage progression in the ITZ layers for uniaxial
compression normal to bed joint in the initial loading stages ............................................... 156
Figure 7.27 Failure mode and damage progression in the ITZ layers for uniaxial
compression normal to bed joint in the final loading stages ................................................. 157
Figure 7.28 Failure mode and damage progression in the ITZ layers for uniaxial tension
parallel to bed joint in the final loading stages ................................................................... 158
Figure 7.29 Failure mode and damage progression in the ITZ layers for uniaxial tension
normal to bed joint in the final loading stages ...................................................................... 159
Figure 7.30 Failure mode and damage progression in the ITZ layers for biaxial
compression-compression (bed joint angle of 0°) in the final loading stages ....................... 160
Figure 7.31 Failure mode and damage progression in the ITZ layers for biaxial
compression-tension (bed joint angle of 45°) in the final loading stages.............................. 161
Figure 7.32 Failure envelope of the RVE in terms of principle stresses in zero-shear (P1) 162
Figure 7.33 Failure envelope of the RVE in terms of principle stresses in zero-shear (P2) 163
Figure 7.34 Failure envelope of the RVE in terms of principle stresses in zero-shear (P3) 164
Figure 7.35 Failure envelope of the RVE in terms of principle stresses in zero-shear (P4) 165
Figure 7.36 Comparison of the failure envelopes of conventional masonry with different
strength and geometry............................................................................................................ 166
Figure 8.1 Representation of a dry joint in dry-stack masonry ........................................... 169
xix List of Figures |
Figure 8.2 Qualitative stress-strain and damage evolution of dry-stack masonry due to joint
closure .................................................................................................................................... 170
Figure 8.3 Eight-noded plane stress element used in the analysis (CPS8R) ....................... 174
Figure 8.4 Influence of different values of the full contact strain parameter on damage
evolution in uniaxial compression ......................................................................................... 176
Figure 8.5 Influence of different values of the full contact strain parameter on stress-strain
behaviour under uniaxial compression .................................................................................. 176
Figure 8.6 Influence of different values of the initial imperfection parameter on damage
evolution in uniaxial compression ......................................................................................... 177
Figure 8.7 Influence of different values of the initial imperfection parameter on stress-
strain behaviour under uniaxial compression ....................................................................... 178
Figure 8.8 Influence of different values of the damage slope parameter on damage
evolution in uniaxial compression ......................................................................................... 179
Figure 8.9 Influence of different values of the damage slope parameter on stress-strain
behaviour under uniaxial compression .................................................................................. 179
Figure 8.10 Measured dimensions of the H-block presented by Oh (1994) ........................ 181
Figure 8.11 Measured dimensions of the conventional hollow block presented by Oh
(1994) ..................................................................................................................................... 181
Figure 8.12 Idealised dimensions of the H-block and modified H-block and their RVE ..... 182
Figure 8.13 Idealised dimensions of the conventional hollow block and its RVE ............... 184
Figure 8.14 Stress-strain behaviour of H-block under uniaxial compression ..................... 185
Figure 8.15 Stress-strain behaviour of conventional hollow block under uniaxial
compression ........................................................................................................................... 185
Figure 8.16 Stress-strain behaviour of the fictitious joint of H-block under uniaxial
compression ........................................................................................................................... 186
Figure 8.17 Stress-strain behaviour of the fictitious joint of conventional hollow block under
uniaxial compression ............................................................................................................. 186
Figure 8.18 Stress-strain behaviour of conventional hollow block under uniaxial
compression .......................................................................................................................... 187
Figure 8.19 Stress-strain behaviour of the H-block under uniaxial compression ............... 187
Figure 8.20 Stress-strain behaviour of the modified H-block under uniaxial compression 188
Figure 8.21 Representation of material and principal axes in masonry ............................... 189
Figure 8.22 Loading configuration and boundary conditions of the RVE .......................... 189
Figure 8.23 Failure envelope of the H-block in terms of principal stresses ....................... 190
Figure 8.24 Failure envelope of the modified H-block in terms of principal stresses ......... 191
xx List of Figures |
Figure 8.25 Failure envelope of the conventional hollow block in terms of principal stresses
................................................................................................................................................ 192
Figure 8.26 Comparison of the failure envelopes of different masonry systems with various
strengths ................................................................................................................................. 193
Figure 8.27 Failure envelop zone of masonry systems with various strengths and geometries
................................................................................................................................................ 194
Figure 9.1 Representation of a dry joint in dry-stack masonry ........................................... 198
Figure 9.2 Dimensions of the RVEs used for different height to thickness ratios ................ 199
Figure 9.3 Comparison of the predicted compressive strength using the proposed model and
AS3700 for compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 7.6 for two mortar strengths .. 200
Figure 9.4 Comparison of the predicted compressive strength using the proposed model and
AS3700 for compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 19 for two mortar strengths ... 201
Figure 9.5 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 3.0 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 202
Figure 9.6 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 6.0 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 203
Figure 9.7 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 10 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 204
Figure 9.8 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 14 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 204
Figure 9.9 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 16 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 204
Figure 9.10 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 18 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 205
Figure 9.11 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 25 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 205
Figure 9.12 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 30 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 209
xxi List of Figures |
Figure 9.13 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 50 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 206
Figure 9.14 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 100 𝑀𝑃𝑎
for two mortar strengths ........................................................................................................ 207
Figure 10.1 An RVE incorporating grouting and rendering 3D view ................................. 212
Figure 10.2 An RVE incorporating grouting and rendering 2D view ................................. 212
xxii List of Tables |
List of Tables
Table 3.1 Algorithm for the implementation of the introduced damage model ...................... 49
Table 3.2 Input properties of the tested element...................................................................... 51
Table 4.1 Algorithm for the implementation of the introduced transient gradient model on the
Representative Volume Element (RVE) ................................................................................... 79
Table 4.2 Mechanical properties of the tested element ........................................................... 82
Table 4.3 Transient-gradient properties of the constituents ................................................... 86
Table 5.1 Mechanical properties of the tested materials ........................................................ 96
Table 5.2 Transient-gradient properties of RVE’s constituent .............................................. 100
Table 6.1 Properties of the constituent materials .................................................................. 112
Table 6.2 Transient-gradient properties of RVE’s constituent .............................................. 112
Table 6.3 The Interfacial Transition Zone parameters for each test ..................................... 114
Table 6.4 Young’s modulus and Poisson’s ratio of each individual layer ............................ 114
Table 6.5 The Interfacial Transition Zone parameters for each test ..................................... 118
Table 6.6 Young’s modulus and Poisson’s ratio of each individual layer ............................ 119
Table 6.7 Young’s modulus and Poisson’s ratio of each ITZ layer....................................... 122
Table 6.8 Material properties of the tested constituents ....................................................... 127
Table 6.9 Mechanical properties of the tested prism 1 (P1) ................................................. 128
Table 6.10 Mechanical properties of the tested prism 2 (P2) ............................................... 128
Table 6.11 Mechanical properties of the tested prism 3 (P3) ............................................... 129
Table 6.12 Mechanical properties of the tested prism 4 (P4) ............................................... 129
Table 7.1 Young’s modulus and Poisson’s ratio of each ITZ layer....................................... 136
Table 7.2 Transient-gradient properties of RVE’s constituent .............................................. 139
Table 7.3 Load factors for each load case ............................................................................ 141
Table 7.4 Characteristic strength of units in different experiments ...................................... 166
Table 8.1 Algorithm for the implementation of the dry-surface damage model .................... 172
Table 8.2 Mechanical properties of the tested element ......................................................... 175
Table 8.3 Properties of the H-block and conventional block ................................................ 182
Table 8.4 Properties of interface layers ................................................................................ 182
Table 8.5 Load factors for each load case ............................................................................ 190
Table 8.6 Characteristic strength of units in different experiments ...................................... 192
Table 9.1 Compressive strengths considered for units .......................................................... 197
xxiii List of Tables |
Table 9.2 The Interfacial Transition Zone parameters for each test ..................................... 198
Table 9.3 Masonry unit height to mortar bed joint thicknesses considered for units ........... 198
1 Introduction |
CHAPTER 1
Introduction
1.1 General Remarks
Masonry is one of the oldest building materials used since the early civilizations. Masonry is
still extensively used in buildings as structural and cladding elements due to its aesthetics, durability,
fire and heat resistance and low material costs. Example of masonry buildings form “Chogha
Zanbil” in Iran from 1250 BC and the Great Wall of China from 220 BC to European castles
and bridges from the industrial era and museums and buildings like the Sorø art museum in
Denmark and the old government house in Queensland University of Technology are shown
in Figure 1.1.
Figure 1.1 Varied structural masonry systems
Different assemblage of quasi-brittle masonry units, their various strengths and geometries
and their type of bonding leads to complex anisotropic behaviour and failure mechanisms for
masonry. The behaviour of quasi-brittle material is also rather complex by itself. In the past
decades, with the progress in the areas of composite material, continuum damage mechanics,
2 Introduction |
plasticity and also with the emergence of powerful computers, a lot of researchers have
focused on better understanding the behaviour and failure mechanism of masonry.
In this thesis, with a view to better understand the behaviour of such structures, a new
continuum damage mechanics constitutive model has been introduced which is capable of
reproducing the behaviour of different masonry systems. This model has been further
enhanced with a transient-gradient nonlocal model in order to eliminate the localization
problems associated with softening damage model. The advantage of this model is that it
would enable us to obtain the behaviour and failure mechanism of masonry using the
properties of its individual constituents i.e. mortar and unit without any need for testing of
masonry assemblages under biaxial loading, which is complex, time consuming and
expensive.
1.2 Research Significance Masonry is predominantly used in wall structures, the thickness of which is smaller than its
height and length. Therefore structural walls are often idealised as plane stress membranes
with the normal and shear stresses acting on the bed ( ),nσ τ and perpend ( ),pσ τ joints of
masonry significantly affecting their deformation and failure. These normal and shear stresses
expressed as a failure envelope in a three dimensional stress space ( ), ,n pσ σ τ . To define this
failure surface, biaxial testing of masonry wall panels under varying stress ratios is essential,
which is very expensive and time consuming. Considering the range of available products
for unit and mortar, their different geometries and strengths, it is impossible to undertake
experimental studies to obtain their behaviour and modes of failure. Therefore, introduction
of a constitutive model capable of computationally describe the behaviour of different types
of masonry is crucial. This thesis contains formulation and application of a damage
mechanics inspired computational modelling method capable of predicting the complete
(hardening and softening) monotonic stress-strain behaviour of masonry of any construct and
providing a reliable biaxial failure surfaces of structural walls.
3 Introduction |
1.3 Aim The aim of this study is to develop a nonlocal computational modelling method capable of
describing the behaviour of masonry from its constituents and their interaction. The aim also
involves demonstrating the capability of the developed model for rationally predicting the
deformation and failure surfaces of both the conventional and the dry-stack masonry systems.
The aim will be achieved through the following set of enabling objectives:
1. Developing a continuum damage mechanics (CDM) constitutive law which
incorporates variation of Poisson’s ratio for quasi-brittle material such as mortar, clay
brick and concrete block.
2. Enhancement of the constitutive law with a transient-gradient nonlocal model to
eliminate localisation concerns.
3. Formulating a conventional masonry representative volume element (RVE) through
application of the model and validate the RVE with existing uniaxial experimental
datasets.
4. Improving the RVE with an interfacial transition zone (ITZ) technique to account for
interfacial damages between the unit and binder layer surfaces.
5. Development of biaxial failure envelopes of the conventional and dry-stack masonry
through the ITZ enriched RVE.
6. Demonstration of further application of the ITZ enriched RVE for determining
strength properties of practical importance and mapping the properties with those
determined from the Australian Masonry Structures Standard AS3700 (2011).
1.4 Thesis Arrangement This thesis is organised in the following chapters:
In Chapter 1, an outline to the research is provided. The significance of this study, its aims
and objectives are also presented.
Chapter 2 reviews the literature on
• Experimental work on masonry
• Numerical Modelling of masonry
• Continuum Damage Mechanics (CDM)
4 Introduction |
• Gradient enhanced and transient-gradient nonlocal models
• Computational homogenisation
In Chapter 3, a new formulation of a CDM constitutive model incorporating variable
Poisson’s ratio is presented and its performance is demonstrated through numerical examples
and a parametric study.
In Chapter 4, formulation of a transient-gradient enhanced nonlocal model is described and
the model is shown to be of free of the localisation problems associated with softening
models. Numerical examples and parametric study are also provided.
Chapter 5 delves into the application of the model formulated in Chapter 4 to predict the
behaviour of brick masonry under biaxial loading conditions using a standard RVE.
In Chapter 6, reformulation of the RVE with an interfacial transition zone (ITZ) enrichment
is introduced so that the damage between the interfaces of the two constituents of masonry
could be accounted for appropriately. The model is validated through different experiments
on conventional masonry.
Chapter 7 illustrates the ability of the model to predict the biaxial failure envelope of
conventional masonry under different loading conditions. The results are validated with
available experimental data.
In Chapter 8 the proposed constitutive model is further improved to incorporate the joint
closure phenomena observed in dry-stack masonry. Parametric study of the new model is also
illustrated in this chapter. Finally the model is validated with experimental data on dry-stack
masonry and its prediction of dry-stack biaxial failure envelop is presented.
Chapter 9 presents some practical applications of the model for compressive strength
determination with comparison of the predicted strength with that of the Australian Masonry
Standard AS3700 (2011).
In Chapter 10, conclusions obtained from these studies and recommendations for future work
are presented.
5 Literature Review |
CHAPTER 2
Literature Review
2.1 Introduction
Masonry is one of the primary building materials. It is composed of two or more materials,
i.e. units (stone, clay bricks, or concrete blocks) and mortar. With these two constituents, a
large number of arrangements are generated using various methods of bonding methods (for
example, Stretcher/ English/ Flemish).
In spite of the simplicity associated with building in masonry, the analysis of the mechanical
behaviour of masonry materials is a very demanding task. Masonry is non-homogeneous due
to the different mechanical properties of its quasi-brittle constituents and their geometrical
bonding methods.
The complex behaviour of quasi-brittle material is affected by the composite nature of these
materials, which necessitates development of appropriate constitutive models. Although
recently there have been a large number of noteworthy contributions (Lourenço, et al., 1998;
Papa, et al., 2000; Addessi, et al., 2002; van Zijl, 2004; Chaimoon & Attard, 2007; da Porto,
et al., 2010; Petersen, et al., 2012; Kuutti & Kolari, 2012; Sousa, et al., 2013; Nazir &
Dhanasekar, 2013) with different levels of complexity and applicability, the complete
features of the material behaviour have not always been examined. Further development in
the constitutive modelling of masonry materials is, therefore, needed. With this motivation
and inspired by some key experimentally-observed features of the material behaviour, an
analytical modelling method capable of evaluating the macroscopic constitutive properties of
masonry is developed in this thesis.
Literature review covering the following key topics that are relevant to the aim of this thesis
is presented under the following sub-headings:
Experimental research on masonry
6 Literature Review |
Modelling methods of masonry
Computational homogenisation and Multi-scale modelling
Continuum Damage Mechanics
Localisation and mesh sensitivity
Non-local and gradient enhanced damage models
Transient gradient non-local models
2.2 Experimental Research on Masonry
The structural behaviour of masonry is affected by the properties of its principal constituents,
units and mortar. The bond between the unit and the mortar also significantly affects the
masonry behaviour. Strength of masonry under different loadings is affected by the range of
principal stresses and their orientation to bed joint.
In the following sections, experimental tests, both uniaxial and biaxial, capable of providing a
comprehensive description of masonry, are reviewed.
2.2.1 Uniaxial Compressive Behaviour
The uniaxial compressive strength of masonry perpendicular to the bed joints has been
always considered one of its most important properties. The masonry compressive failure is
largely governed by the interaction between its constituents. Many researchers (Hilsdorf,
1996; Hendry, 1990) have derived relationship between the compressive strength of unit and
mortar and the compressive strength of masonry. Hilsdorf (1996) has also shown that the
difference in unit and mortar elastic properties (Poisson’s ratio and Young’s modulus) is an
important factor of failure as they induce inconsistent deformation of the constituent
materials as shown in Figure 2.1. In this figure p is the stress imposed on the prism and
superscripts b and m represent brick and mortar, respectively.
7 Literature Review |
Figure 2.1 Local state of stress in the constituents of masonry prisms under vertical
compression perpendicular to bed joint
The tendency for incompatible deformation of the constituents, even a masonry prism under
uniaxial compression would generate a complex stress state of triaxial compression in the
mortar and uniaxial compression-biaxial tension in the unit as shown in Figure 2.1.
There has been considerably fewer research on uniaxial compression tests parallel to the bed
joints. Nevertheless, being an anisotropic material, the resistance of masonry to compressive
loads parallel to the bed joints occur due to the splitting of the bed joints as in Figure 2.2.
8 Literature Review |
Figure 2.2 Modes of failure of solid clay masonry under uniaxial compression, from
(Dhanasekar, 1985)
2.2.2 Uniaxial Tensile Behaviour
Tensile strength of masonry is low and hence significantly contributes to the failure of the
masonry structures. Different types of tests have been used by researchers to determine the
tensile strength of masonry (Graubohm & Brameshuber, 2011) which can be classified into
(1) flexural bond strength tests (Marrocchino, et al., 2007; Nicholas, et al., 2008) and (2)
direct tensile bond strength tests (Jukes & Riddington, 1997). In the direct tensile test,
ensuring uniform stress distribution on the joint is not easy. In the flexural test the bond
strength at the edge of the mortar joint is calculated by imposing bending onto a masonry
wallet.
Debonding between the unit and bed joint is the main cause of failure under tension
perpendicular to the bed joints. However, tension failure usually depends on the type of
mortar and units. For the case of stronger mortar and weaker units the tension crack passes
along the mortar head joints and through the centre of the bricks. For the case of relatively
weaker mortar joints and stronger units, the tension crack passes along the mortar bed joints.
In this case, the masonry tensile strength can roughly be estimated by the tensile bond
strength of the joints.
Figure 2.3 shows different modes of failure observed by Page (1983) on solid clay units
masonry walls subjected to uniaxial tension.
9 Literature Review |
Figure 2.3 Modes of failure of solid clay masonry under uniaxial tension, from (Dhanasekar,
1985)
2.2.3 Shear Behaviour
Understanding the behaviour of masonry in shear is important because it is the governing
mode of failure in masonry under lateral loading such as wind and earthquake. Determination
of the pure shear strength of masonry joints is a demanding task, since generating a uniform
state of stress in the joints requires very complex test set-ups. Hofmann and Stockl (1986),
Atkinson et al. (1989), Jukes & Riddington (1997), van der Pluijm (1998), Da Porto (2005)
and Morandi, et al. (2013) have proposed different setups for shear behaviour. It can be seen
that increasing the confining compressive stress, increase the shear strength which may be
attributed to the frictional behaviour of masonry once the adhesion is broken. The effect of
joint thickness has also been noted in masonry. Increase of the joint thickness reduces the
shear strength.
Dilatancy (defined as vertical motion under applied horizontal displacement) of the masonry
joint depends on the microscopic geometrical and mechanical features of unit and mortar
layers which makes its behaviour quite complex. The angle of dilatancy reduces under
increase of normal stress and also increase of relative tangential displacement (van Zijl,
2000).
Masonry shear mode of failure can be seen in Figure 2.6. Biaxial tension-compression
loading with a 45 degree bed joint orientation represents shear failure.
10 Literature Review |
2.2.4 Biaxial Behaviour
Behaviour of masonry systems, their strength and the failure mode varies depending on the
orientation of loading with respect to bed joints (Page, 1983; Dhanasekar, 1985; Dhanasekar,
et al., 1985) due to their anisotropic nature (Figure 2.4).
Figure 2.4 Modes of failure of solid clay masonry under uniaxial compression and uniaxial
tension considering different load orientations with respect to bed joint, from (Dhanasekar,
1985)
Because of this anisotropic nature, strength envelope and behaviour of masonry is
significantly affected by the orientation of the principal stresses to the bed joints. Therefore,
the constitutive behaviour of masonry cannot be fully described under different biaxial stress
states, solely based on uniaxial loading conditions. Consequently, the biaxial failure envelope
is described in terms of both principal stresses and the orientation of the loading axes with
respect to masonry bed joints. A summary of these failure modes can be seen in Figures 2.5
and 2.6.
11 Literature Review |
Figure 2.5 Modes of failure of solid clay masonry under biaxial loads, (Dhanasekar, 1985)
Figure 2.6 Mode of failure of solid clay masonry under biaxial compression-compression,
from (Dhanasekar, 1985)
12 Literature Review |
In all biaxial compression stress states when the stress ratio is unity, regardless of the
orientation of principal stresses to the bed joints, failure occurs by splitting of the specimen in
a plane parallel to the free surface of the wallets, see Figure 2.6. However, when compression
in one direction is considerably greater than compression of the other direction, orientation of
the loading to the bed joints plays a significant role in failure strength. In such a case, a
combination of both joint failure and splitting occurs.
Figure 2.7 Biaxial failure envelope of solid clay masonry (Page, 1981; Page, 1983)
Figure 2.7 demonstrates the full set of experimental data by Page (1981; 1983) carried out
with half-scale solid clay under biaxial loading.
Only a few studies were performed to obtain the full experimental failure envelope for
masonry. Samarasinghe & Hendry (1980) tested a series of brickwork panels, under uniform
biaxial tension-compression. In an attempt to obtain a three dimensional failure surface, Page
(1981) tested a series of biaxial compression-compression tests and a series of biaxial
tension-compression tests (Page, 1983) for the brick masonry as a function of the principal
13 Literature Review |
stresses and the orientation to bed joint. The failure surface was presented in terms of the two
normal stresses and the inplane shear stresses in the bed joints by Dhabnasekar (Dhanasekar,
1985; Dhanasekar, et al., 1985).
Hamid (1978) conducted prism compression and tension tests to study the anisotropic nature
of grouted and ungrouted concrete masonry. Naraine & Sinha (1992) carried out biaxial
compression tests on clay brick masonry and developed a failure envelop. Only two bed joint
orientations of 0° and 90° with varying biaxial stress ratios were examined. Khattab (1993),
Liu, et al. (2009) and Drysdale & Khattab (1995) did similar studies to that of Page on the
characteristics of grouted concrete masonry under a series of compression and compression-
tension tests. Senthivel & Uzoegho (2004) carried out biaxial cyclic compression tests on
calcium silicate brick masonry. Similar to Naraine & Sinha (1992), only two bed joint
orientations of 0° and 90° with varying biaxial stress ratios were tested. Vermeltfoort (2005)
carried on biaxial tests on thin layer mortared clay masonry panels. Badarloo et al. (2009)
developed biaxial compression failure envelop for a series of compression biaxial tests on
full-scale grouted unreinforced brick masonry (bed joint orientations of 0° and 90°).
It should be noted that the failure envelope illustrated in Figure 2.7 and also the ones obtained
from other tests like Naraine & Sinha (1992), Drysdale & Khattab (1995), Senthivel &
Uzoegho (2004), Badarloo, et al. (2009) and Liu, et al. (2009) have limited applicability for
other masonry types. Based on the type of unit and mortar, their shape and the type of
assemblage, different strength envelopes are likely to be obtained for different masonry
systems. Obtaining failure envelopes through experimental work for each type of masonry is
time consuming and expensive. Therefore, a range of analytical and computational methods
have been developed in the last three decades to describe the constitutive behaviour of
different types of masonry.
2.3 Modelling Masonry
Considering the range of available products for unit and mortar, their different geometries
and strengths, it is impossible to undertake experimental studies to obtain their behaviour and
modes of failure. Researchers have used numerical methods as valuable tools for modelling
masonry during the last decades, e.g. Lourenço (1996); Papa, et al. (2000); Giordano et al.
(2002); Berto et al. (2002); Pietruszczak and Ushaksarei (2003); Massart (2003); van Zijl
(2004); Lourenço et al. (2007); Chaimoon & Attard (2007); Zucchini and Lourenço (2009);
14 Literature Review |
da Porto, et al. (2010); Petersen, et al. (2012); Sousa, et al. (2013); Nazir & Dhanasekar
(2013). Many of the available computational methods use significant simplifications, for
example assuming a purely brittle behaviour for the constituent materials, Luciano and Sacco
(1997) or the assumption of isotropy for masonry material, Hanganu et al. (2002).
A periodic mesostructure of masonry is shown in Figure 2.8. Typically the mortar layer is
relatively weaker than the units, which leads to stiffness degradation along the preferential
orientations due to the periodic arrangement of the structure. The initial and the crack-
induced anisotropy of the material are coupled to the mesostructure, mostly to the geometry,
the bonding method, and the material properties of the units, the mortar and the grout. The
mesostructure, therefore, has a significant effect on the structural failure mechanisms of the
macroscopic masonry walls. This suggests that for accurate analyses of masonry structures
the mesostructure could be taken into consideration (Massart, et al., 2007), instead of the
whole wall structure, which would save cost, time and computational effort.
The existing computational methods intended for modelling masonry structures can be
classified into three categories based on their purpose and the level of their microstructural
detail. These three categories are (1) Microscopic models, (2) Macroscopic models and (3)
Multi-scale models.
Figure 2.8 The periodic assemblage of masonry
2.3.1 Microscopic Models
The “microscopic models” makes use of the constituents’ material information. This
approach has been used by many authors including, Page (1978); Lourenço (1996);
Giambanco & De Gati (1997); Giambanco, et al. (2001). Lourenço and Rots (1997) proposed
15 Literature Review |
a multi-surface interface model in which the interface elements were used as potential crack,
slip and crushing planes. Plasticity formulations with non-associated flow rules combined
with Coulomb friction laws were used in this model. Giambanco & De Gati (1997) used a
cohesive interface model to predict the shear behaviour of masonry joints in cyclic loading.
The down side of this approach is that it cannot be used for large scale structural modelling
because of its requirement of using very large number of elements that lead to exorbitant
computational cost. This weakness has been partially overcome by simplified micro models
(Gambarotta & Lagomarsino, 1997; Sutcliffe, et al., 2001). In case of microscopic modelling,
the properties of the constituents such as the brick or block, the mortar, as well as the
properties of the constituents interaction are required which are usually obtained from
uniaxial tests (Dhanasekar, 2010).
2.3.2 Macroscopic Models
By treating masonry as a pseudo homogenous material, the “macroscopic models” reduce the
computational cost problem by formulating a closed-form macroscopic law between the
average stress and the average strain on an equivalent homogenised continuum, see Lourenço
(1998), Papa & Nappi (1997), Berto, et al. (2002). These models have been widely used to
analyse the behaviour of complex structures like historical constructions (Roca, et al., 2010)
and masonry bridges (Pelà, et al., 2009). The problem with this kind of approach is that the
closed-form formulation should suitably account for the interaction between damage induced
and initial anisotropy (Massart, et al., 2007). Moreover, if the homogenised continuum based
on smeared crack approach has not accounted for the localisation of the failure planes,
spurious mesh pathology problems are encountered (Lourenco, 1996; DeJong, 2009).
2.3.3 Homogenisation Models
The multi-scale approach bridges between the microscopic and the macroscopic
representation of masonry. Homogenisation techniques have been developed to obtain
macroscopic constitutive laws for masonry from the microscopic constitutive laws of its
constituents (Lourenco, et al., 2007). This approach solves the identification problem of
16 Literature Review |
finding a closed-form formulation to some extent. Afterwards, they perform all of the
computations in a macroscopic framework. This type of multi-scale approach can be found in
the work of Anthoine (1995; 1997), Pegon & Anthoine (1997) and Cecchi & Sab (2002). The
work of Massart, et al. (2007) takes the homogenisation approach a step further by
concurrently coupling both scales.
In these models a Representative Volume Element (RVE), which can generate an entire panel
by repetition, is introduced. Using the mechanical properties of the constituents and knowing
the geometry of the RVE, a boundary value problem can be solved on the RVE in order to
achieve average values for the homogenised material (Massart, 2003).
Three different scales can be identified for masonry, namely (1) Micro-scale or material scale
(2) Meso-scale or RVE scale (3) Macro-scale or structural scale (Figure 2.9). At micro-scale,
the mechanical behaviour of individual constituents is determined. Depending on the type of
considered phenomena the level of complexity varies at this scale. The meso-scale is the
characteristic size of masonry constituents such as unit and mortar. The variables determined
at this RVE scale are the failure patterns, local damage, stress and strain. Damage growth at
this scale results in phenomena such as damage-induced anisotropy which is observed in
macroscale. Finally, masonry structural scale is referred to as macroscale. The variables
defined at this scale are average stress-strain fields and external loads.
As stated before, formulating an accurate closed-form macroscopic constitutive law can pose
complexity to the multi-scale approach. This problem can be solved by fully coupling both
the meso and macro scales in the whole structure. In this multi-scale approach, by use of
computational homogenisation and introduction of a RVE the material behaviour can be
determined (Massart, 2003). It avoids complex closed-form formulations by simply using the
isotropic constitutive relations at micro levels in order to capture complex effects such as the
damage-induced anisotropy. The down side of this kind of multi-scale approach is that it is
computationally expensive, but it has become more acceptable due to growth in computing
power. Luciano & Sacco (1997) developed this approach with a brittle-elastic representation
of the constituents. Mercatoris & Massart (2009; 2011) applied a coupled two-scale
computational scheme for determination of the failure of masonry. Reccia, et al. (2014)
applied a full 3D homogenisation approach to investigate the behaviour of masonry arch
bridges.
17 Literature Review |
The multi-scale models attempt to determine the constitutive properties of masonry from the
unit and mortar properties. This thesis is focussing on this type of models based on the
following theories:
Continuum Damage Mechanics (CDM)
Localisation and Mesh sensitivity
Transient-Gradient Non-local models
First-order Computational Homogenisation
The literature pertaining to these theories and their basic formulations are briefly listed in this
section.
Figure 2.9 Illustration of different scales in multi-scale methods
2.4 Continuum Damage Mechanics
Continuum Damage Mechanics provides a general framework for the derivation of consistent
material models affected by the nucleation of cracks and their subsequent growth (Kachanov,
1958; Rabotnov, 1969; Janson & Hult, 1977). In the 1980s it was established that damage
mechanics could model accurately the strain softening response of concrete (Krajcinovic,
1983; Kachanov, 1986) and more rigorous basis, based on thermodynamics of irreversible
18 Literature Review |
processes which gave the framework to formulate the adapted constitutive laws (Mazars &
Pijaudier-Cabot, 1989). Since then, there have been numerous Continuum Damage
Mechanics models proposed for the constitutive modelling of materials in general and
particularly quasi-brittle material such as concrete, brick, masonry and mortar (Peerlings, et
al., 1996; Lourenço, et al., 1998; Peerlings, 1999; Zucchini & Lourenco, 2004; Pela, et al.,
2011; Pela, et al., 2014).
Continuum Damage Mechanics is used for materials so different as metals, ceramics, rock,
concrete and masonry. Such a large acceptance is due to several important factors, namely:
The consistency of the theory, which is formulated in a rigorous framework, i.e. the
Thermodynamics of irreversible processes.
The compatibility with other theories. For instance, the combination of damage
mechanics theory with plasticity is straightforward. Addition of plasticity may help in
better representation of some aspects such as shear. In addition, it is possible to
include thermal and rate dependent effects in such formulations.
The simplicity of the approach, compared to for example Fracture Mechanics and
leads to a much simpler formulation and interpretation. The damaged material is
assumed to remain as a continuum and the collective effect of cracks is modelled by
modifying the mechanical properties, i.e. stiffness and strength. One or more, scalar
or tensorial, field quantities are introduced into the constitutive equations as measures
of the degradation of the material.
The term Continuum Damage Mechanics was introduced by Janson and Hult (1977). The aim
of such a theory is to develop methods for the prediction of the load carrying capacity of
structures subjected to material damage evolution. It is a counterpart of Fracture Mechanics,
which deals with structures containing one or several cracks of finite size. In this latter
approach, the cracks are usually assumed to be embedded in a non-deteriorating material.
However, Fracture Mechanics and Continuum Damage Mechanics may be combined to
predict the damage growth and the resulting decrease of load carrying capacity (Krajcinovic,
1985; Janson & Hult, 1977).
The continuity ψ quantifies the absence of the material deterioration. The complementary
quantity 1 is therefore a measure of the state of deterioration or damage.
19 Literature Review |
Although Kachanov assumed ψ to be a scalar field variable, later developments have led to
the study of tensorial quantities to describe damage, see Krajcinovic and Lemaitre (1987) and
the references therein. Scalar damage models have been used throughout the literature for
different purposes such as phenomenological damage models (Chaboche, 1981; Lemaitre,
1985; Ju, 1989), elasticity based damage models for quasi-brittle material (Peerlings, et al.,
2001; Massart, et al., 2005). Several anisotropic 4th
order and second order damage tensors
have been introduced in the literature for anisotropic damage models (Maire & Chaboche,
1997; Fichant, et al., 1998; Krajcinovic & Fanella, 1986; Chow & Wang, 1987; Lubarda &
Krajcinovic, 1993; Fichant, et al., 1998). Massart et al. (2004) considered a scalar damage
model to evaluate the need for incorporating damage induced anisotropy in brick masonry.
Pela et al. (2012) have developed a strain based continuum damage model similar to Massart
et al. (2004).
2.4.1 Damage Variable
From a physical point of view, damage is always related to plastic or irreversible strains and
more generally to a strain dissipation either on the mesoscale, the scale of the RVE, or on the
microscale, the scale of the discontinuities.
The damage variable is obtained from the amount of defects in a certain material point, see
Figure 2.10. Precise definitions of damage variable based on physical and measurable
quantities have been produced by some authors (Lemaitre & Chaboche, 1990; Lemaitre &
Desmorat, 2005).
In this thesis, since the main source of anisotropy in masonry is the geometric assemblage of
brick and mortar, we assume that damage development would not introduce anisotropy in the
material behaviour and thus a scalar damage parameter would be sufficient to model the local
damage condition.
To define the material damage at a point, let us consider a RVE identified by its normal n
and be the original cross sectional area. Scalar damage parameter 𝜔 which is the
mechanical measure of local damage relative to the direction n is defined such that
( ) 0n corresponds to undamaged or virgin state of the material;
20 Literature Review |
( ) 1n represents a state that material has been completely damaged and has lost
its’ integrity;
0 ( ) 1n characterizes the damaged state;
The initial defects, microcracks and microvoids of the material have been accounted for in
the initial material parameters. Different regions of damage due to loading have been
illustrated in Figure 2.10. The material domain has been divided into three regions i.e.,
undamaged region Ω𝑖 , in which 𝜔 = 0, partially damaged region Ω𝑑 , in which 0 < 𝜔 < 1
and fully damaged region Ω𝑐 , in which 𝜔 = 1 and is a continuum damage mechanics
representation of crack.
Figure 2.10 Distribution of damage on an element and representation of microstructural
defects
In the classical continuum damage mechanics a scalar isotropic damage quantity 𝝎 has been
introduced in the stress-strain relationship in the following way
�̅�𝒊𝒋 = (𝟏 − 𝝎)𝝈𝒊𝒋 = (𝟏 − 𝝎)𝑪𝒊𝒋𝒌𝒍𝜺𝒊𝒋 (2.1)
Where 𝝈𝒊𝒋 is the Cauchy stress. Einstein’s summation convention applies (𝑖, 𝑗, 𝑘, 𝑙 = 1, 2, 3).
It has been assumed that the Poisson ratio 𝝂 is not affected by material damage. 𝜺𝒌𝒍
represents the linear strains
21 Literature Review |
1
2
k lkl
l k
u u
x x
(2.2)
In which 𝒖𝒌 is the displacement with respect to Cartesian coordinate system. 𝑪𝒊𝒋𝒌𝒍, represents
the elasticity matrix components
ijkl ij kl ik jl il jkC (2.3)
This constitutes a non-rigorous hypothesis which assumes that all the different behaviours
accompanying damage (elasticity, plasticity, viscoplasticity) are affected in the same way by
the surface density of the damage defects. However, its simplicity allows the establishment of
a coherent and efficient formalism.
From Equation (2.1) it derives that damage variable 𝜔 introduces a reduction factor into
stress-strain equation. In the simple uniaxial form, the macroscopic (or apparent) tension σ is
related to the strain by means of a damaged Young’s modulus:
(1 )EE (2.4)
This expression is in fact in accordance with that observed in experiments (Nguyen, 2005).
The damage is irreversible, so
0, 0 E 0 (2.5)
2.4.2 Principle of Strain-Equivalence
A damage loading function in terms of the strain components which enables the model to
predict damage growth is essential to define the onset and progress of damage. The damage
onset is said to have occurred when the strain (or stress) exceeds a damage threshold :
,eq eqf (2.6)
where eq is called the equivalent strain and is based on the state of current strain
components. 𝜅 is a history parameter which depends on the maximum equivalent strain
experienced by the material so far. The shape and size of the loading surface depends on the
definition of the equivalent strain which in turn depends on the history parameter 𝜅.
22 Literature Review |
When 𝑓 < 0, damage parameter will not grow. Change in the history parameter 𝜅 follows the
Kuhn-Tucker relations
0, 0, 0, 0 if f t (2.7)
These relations imply that in case of increasing damage (�̇� ≥ 0), the history parameter
satisfies, 𝜅 = 𝜀�̃�𝑞 which means damage growth will happen when 𝑓 = 0. 𝜅𝑖 is the initial
value equivalent strain from which damage onset occurs.
In order to properly model the behaviour of quasi-brittle material, an appropriate definition of
equivalent strain is required. The equivalent strain maps the strain tensor into a scalar by
properly weighting its components in order to imitate their effects on cracking. Damage
parameter depends on the energy release rate produced by crack propagation/ growth. This
energy release rate ( G ) for elasticity based damage is given in (Lemaitre & Chaboche, 1990)
1
2ij ijkl klC (2.8)
As can be seen in this equation, the energy release rate is only related to strain tensor and
weighted by the materials elasticity constants. Thus, this measure can be considered as the
equivalent strain eq (Peerlings, 1999). A modified and more natural dimensionless form can
be written as
1eq ij ijkl klC
E (2.9)
Since most engineering materials such as concrete, brick and mortar, have different tensile
and compressive strengths Mazars and Pijaudier-Cabot (1989), has introduced eq as a
function of principal strains i ( 1, 2, 3)i in the form of
32
1
eq i (2.10)
In which . is the McAuley brackets ( 1
2x x x ). i then indicates the positive part
of the principal values of the strain tensor.
Since the definition of equivalent strain based on Equation (2.10) depends on positive values
of principal strains, it is more sensitive to tensile strains than compressive strains. However, it
cannot predict compressive and tensile differences as high as ten to twenty times which have
23 Literature Review |
experimentally been obtained for quasi-brittle materials such as concrete, brick and mortar.
To overcome this issue, de Vree et al. (1995) proposed a strain based modified von Mises
definition which was inspired from polymers plasticity models. This definition of equivalent
strain is in the form of
2
2
1 1 22 2
1 11 12
2 1 2 2 1 2 1eq
k k kI I J
k k
(2.11)
Where 𝐼1 = 𝜀𝑘𝑘 (𝑘 = 1, 2, 3), is the first invariant of strain tensor and 𝐽2 =1
6𝐼1
2 −1
2𝜀𝑖𝑗𝜀𝑖𝑗
(𝑖, 𝑗 = 1, 2, 3), is the second invariant of deviatoric strain tensor. Parameter 𝑘 controls the
sensitivity of the equivalent strain to tension and compression which is usually set to the ratio
of compressive strength of the material to its tensile strength. In this equation Poisson’s ratio
has been represented by 𝜐.
2.4.3 Damage Evolution Law
There have been several ways of representing the damage parameter , which can be a
single scalar for isotropic damage and a tensor for anisotropic damage. It can be represented
as a variable characterising the material deterioration with the concepts of effective stress or
effective strain (Simo & Ju, 1987; Mazars & Pijaudier‐Cabot, 1989; Lemaitre & Chaboche,
1990; Lee & Fenves, 1998; Peerlings, 1999; Jirásek, et al., 2004; Lemaitre & Desmorat,
2005) or as a function in terms of the position of the loading surface in stress space between
the initial and bounding surfaces (Li & Ansari, 1999); or even it can be a progressive
reducing function (Addessi, et al., 2002) representing the damage experienced by the material
and can hardly be directly related to the geometrical definition of damage. In fact, in
macroscopic constitutive modelling, physical interpretation of damage variables is not always
straightforward. However, the convincing physical interpretation of the damage variable
depends on the identification of the microscopic mechanism underlying the observed
macroscopic response (DeSimone, et al., 2001). The definition of damage variable
following the concepts of effective stress and effective strain, which has been presented
above, is probably the most well-known and widely used in literature.
The Continuum Damage Mechanics approach has been shown and proved by many authors
to be appropriate for constitutive models of quasi-brittle material like concrete and masonry
24 Literature Review |
(Krajcinovic & Fonseka, 1981; Simo & Ju, 1987; Mazars & Pijaudier‐Cabot, 1989; Peerlings,
1999; Geers, et al., 2000; Jirásek, et al., 2004; Massart, et al., 2005; Lourenco, et al., 2007).
Due to the anisotropic nature of damage, even for initially isotropic materials, the damage
measure requires a tensorial representation. However damage models employing scalar
damage variables are still preferred because of their simplicity of the formulation, numerical
implementation and parameter identification (Burlion, et al., 2000). Only scalar damage is
considered in this study.
From the point of view of constitutive modelling, continuum damage mechanics alone can be
used exclusively in the case that the structures analysed are under monotonic loading, as it
can reproduce the softening response of the material without necessarily paying attention to
capturing the permanent deformation. In addition, the stiffness degradation, although
overestimated in pure damage models, can also be seen as an important feature to be reflected
in the constitute modelling of concrete materials. These features confirm the applicability of
pure damage models in the constitutive modelling of concrete materials, with promising
results obtained in the literature (Peerlings, 1999; Comi, 2001; Comi & Perego, 2001; Jirásek,
et al., 2004; Lourenco, et al., 2007).
A simple damage evolution law which is sometimes used for theoretical developments is
written as
0
1
cd
i
i
c
dc
if
if
if
(2.12)
In which, i is the threshold for damage initiation. d is the strain in which the material
completely loses its integrity ( 1 ). Figure 2.11 (a) shows damage evolution using this
equation. Figure 2.11 (b) shows the stress-strain curve assuming a uniaxial stress case and
also considering eq equals the axial strain.
25 Literature Review |
Figure 2.11 a) Damage growth plotted from Equation (2.12); b) Stress-strain curve
corresponding to Equation (2.12)
Engineering materials soften nonlinearly with relatively steep stress drop when cracking
starts and a moderate decrease afterwards. Mazars & Pijaudier‐Cabot (1989) introduced an
exponential softening law for concrete in the form of
0
1 1 i
i
iie
(2.13)
This damage evolution law and its stress-strain relation are illustrated in Figure 2.12.
Figure 2.12 a) Damage growth plotted from Equation (2.13); b) Stress-strain curve
corresponding to Equation (2.13)
Due to crack bridging, the experimentally obtained load displacement data has a long tail
which is controlled by a numerical parameter (Hordijk, 1991). Using this expression,
26 Literature Review |
when , stress approaches 1 iE which can represent this long tail. Parameter β
controls the damage growth rate which depends on the tensile fracture energy of the material.
When β is higher, the model will show a faster crack growth and a more brittle response.
In Jirásek & Patzák (2002) and Jirásek et al. (2004), an exponential curve was proposed and
can be calibrated based on the uniaxial behaviour of the material, with the area under the
uniaxial stress-strain curve representing the local (or specific) fracture energy Fg . The
damage evolution is of the form:
0
1 exp
i
i ii
f i
if
if
(2.14)
Where 𝜅𝑖 = 𝑓′𝑡/𝐸 is the strain at peak stress and 𝜅𝑓 a model parameter controlling the initial
slope of the softening curve, see Figure 2.13. This evolution law is in fact associated with the
damage criterion, ,eq eqf . The history variable κ here represents the maximum
equivalent strain eq obtained in the previous step.
The decomposition of the effective stress tensor used in this model properly captures the
tensile behaviour of the material. In addition, the damage loading function is only used to
define a failure criterion and does not play any role in the evolution law of damage. Although
using arbitrary assumptions in the formulation, the model here was shown to be adequate in
capturing the behaviour of the material in tensile-dominated stress states (Jirásek, et al.,
2004). However, it was also admitted (Jirásek, et al., 2004) that the model parameters cannot
be uniquely evaluated based solely on the input fracture energy Fg . This is because there can
be several stress-strain curves producing the same Fg (i.e., non-unique) and the problem of
evaluating model parameters becomes ill-conditioned unless additional constraints are
introduced. This non-uniqueness of the model parameters can also be observed in several
damage-based models (Comi, 2001; Comi & Perego, 2001; Borino, et al., 2003).
Several materials (rocks, concrete, ceramics) often show a unsymmetrical damage surface,
the yield stress in compression being several times that in tension. In order to overcome these
limitations, a damage model with two damage activation surfaces has been proposed by
Mazars and Pijaudier-Cabot (1989).
27 Literature Review |
Figure 2.13 Exponential softening law from Jirásek, et al. (2004)
These two parameters, t and c , are evaluated from two evolution functions, tg and cg .
For a general loading path, different from uniaxial tension or compression, the value of
damage which enters in the constitutive law is proposed as the following combination
(Mazars & Pijaudier‐Cabot, 1989):
t t c c (2.15)
where t and c are taken in the form (Pijaudier-Cabot & Mazars, 2001):
3
21
( )ti ti cit
i
(2.16)
3
21
( )ci ti cic
i
(2.17)
in which ti is the positive strain due to positive stresses and ci the positive strain due to
negative stresses. The damage variables T and C describe the response in tension and
compression, respectively.
(1 )1
exp[ ( )]
i t tt
eq t eq i
A A
B
(2.18)
(1 )
1exp[ ( )]
i c cc
eq c eq i
A A
B
(2.19)
in which, tA , tB , cA and cB are material parameters. Using this expression, results in the
shear strength to be lower than the tensile strength and the energy dissipated in compression
28 Literature Review |
and the energy dissipated in direct tension goes with the same ratio which is not realistic
(Pijaudier-Cabot, et al., 1991).
Alternatively, implicitly defined damage evolution laws have also been used (Luccioni, et al.,
1996; Comi, 2001; Comi & Perego, 2001; Nguyen, 2008; Salari, et al., 2004), in which the
damage growth and the plastic strain evolution are implicitly embedded in the coupling yield
and/or damage loading functions.
In the chapter 3 of this thesis, a damage evolution law is introduced which is capable of
capturing the behaviour of quasi-brittle constituents of masonry.
2.5 Localisation and Mesh Sensitivity in Quasi-Brittle Material
Quasi-brittle materials exhibit post-peak softening stress-strain characteristics. Finite element
modelling of damage of quasi-brittle materials are known to be significantly mesh sensitive
and the solution does not always improve by mesh refinement (de Vree, et al., 1995). Similar
phenomenon are also reported in softening plasticity and other material degradation models
that employ smear crack models (Bažant, et al., 1984; De Borst & Mühlhaus, 1992).
Engineering problems, which are usually inhomogeneous and have an anisotropic geometry,
exhibit damage localisation in a small area. Such strain localisation can be caused by
geometrical effects (e.g., necking of metallic bars) or by material instabilities (e.g.,
microcracking, frictional slip, or nonassociated plastic flow). This leads to ill-posedness of
the mathematical description and mesh sensitivity. Refined discretisation of the grid leads to
a faster crack initiation and growth which decreases the needed fracture energy for cracking
and causes a more brittle response.
Strain-softening continuum formulation leads to a solution that has several pathological
features including the total energy dissipated during failure process tending to zero, which is
partially due to loss of ellipticity of the governing equilibrium equations as soon as softening
appears. This ill-posedness is manifested by pathological sensitivity of the results to the size
of finite elements.
As a remedy, one of the following approaches can be used:
1) The cohesive crack model is a general model which can deal with the nonlinear zone ahead
of the crack tip (Elices, et al., 2002). This model admits the presence of a strong discontinuity
29 Literature Review |
(jump in the displacement field) and describes softening by a traction-separation law. It
relates the traction transmitted by the crack to the crack opening (Planas, et al., 2003; Morel
& Dourado, 2011).
2) The crack band model represents the process zone and the macroscopic crack by a band of
highly localised strain, which is separated from the surrounding material by two weak
discontinuities (Bažant & Oh, 1983). Since the width of the numerically resolved band is
controlled by the size of finite elements, the softening part of the stress-strain law must be
adjusted according to the element size (Berton & Bolander, 2006).
3) Regularized models are based on generalized continuum theories (Bažant & Pijaudier-
Cabot, 1989; Wells, et al., 2002). These models incorporate a characteristic length and
prevent localisation of strain into an arbitrarily small volume. Since these models impose a
certain minimum width of the numerically resolved process zone, they are called localisation
limiters. Examples of such generalized continua include non-local integral formulations and
higher-order gradient theories (Peerlings, et al., 2002; Geers, 2004; Forest, 2009; Jirasek &
Rolshoven, 2009; Nguyen, et al., 2015). The nonlocal and gradient methods, which are
closely related, seem to be the most common approaches.
2.6 Non-Local Models
The standard “local” damage models fail to describe localised failure patterns in an objective
manner. A possible remedy consists in reformulating the constitutive model as non-local,
with the stress at a material point dependent on the strain history at that point including its
neighbourhood (Peerlings, et al., 2001; Le Bellego, et al., 2003; Engelen, et al., 2003).
The key idea of non-local damage models is to assume that the condition of growth of
damage is non local. This means that growth of damage variable depends on the average
deformation of the material in a certain neighbouring region. This neighbourhood is scaled by
an internal length parameter related to the size of the heterogeneities (Bažant & Pijaudier-
Cabot, 1989). Even though micro cracking is modelled in a crude fashion, i.e., by a scalar
defining the degradation of the Young’s modulus of the material which remains isotropic in
spite of the preferential orientation of the micro cracks, several numerical results show that
30 Literature Review |
the paradox is avoided as far as the energy dissipation at failure is concerned (Forest, 2009;
Jirasek & Rolshoven, 2009).
2.6.1 Integral Non-local Model for Strain Softening Material
Bažant et al. (1984) introduced a non-local model for simulation of strain softening materials
in which deformation of a certain material point 𝒙 not only depends on the deformation of the
point 𝒙 itself but also on its surrounding area. This means that the damage field variable
should depend on a non-local equivalent strain eq , instead of local equivalent strain eq .The
non-local strain eq , is defined as the weighted average of eq over the volume of the element
Ω in the form of
1 1
with 1eq eqx x d d
(2.20)
Certain micromechanical justifications of the non-local damage model suggest that the non-
local weight function should depend on the orientation of principal strain axes at points x, but
the simplest and most practical formulation is obtained if the non-local length parameter is
considered as dependent only on the distance between the points.
is a homogenous and isotropic weight function which only depends on the relative
distance from point 𝒙 (Bažant, 1986).
2.6.2 Gradient Enhanced Non-local Model for Strain Softening
Material
By expanding the local equivalent strain eq with its Taylor series for sufficiently smooth eq
fields (Bažant, et al., 1984; Larsy & Belytschko, 1988; Peerlings, 1999; Jirásek & Patzák,
2002; Geers, 2004) we have
2 32 3
4 4
1 1. . .
2! 3!
1 .
4
!
eq eq eq eq eq
eq
x x x x x
x
(2.21)
31 Literature Review |
In which 𝜵(𝒏) is the nth
order gradient and 𝒏
is the nth
order dyadic product of . By
substituting Equation (2.21) in Equation (2.20) and neglecting terms of order higher than two
we can derive an approximation for integral (2.20) as
2
eq eq eqc (2.22)
In which the coefficient 𝒄 is a function of length scale square which depends on the largest
heterogeneity of the material as discussed by Bažant and Planas (1997). 2
2
2i ix
is the
Laplacian operator. The importance of Equation (2.22) is that instead of integration �̅�𝒆𝒒 can
now be approximated by a differential Equation. The non-local equivalent strain 𝜀�̅�𝑞 can be
calculated explicitly in terms of local equivalent strain 𝜀𝑒𝑞 and its second-order derivatives.
Finite element solution of this explicit equation is not straight forward since, the substitution
of Equation (2.22) into the equilibrium equations will generate a set of fourth order partial
differential equations which requires higher deformation continuity and thus, additional
boundary conditions should be imposed on the domain.
Differentiating Equation (2.22) twice and neglecting terms of order higher than two an
alternative implicit approximation for non-local equivalent strain 𝜀�̅�𝑞 can be derived as
2
eq eq eqc (2.23)
The relevance of Equation (2.23) is that in contrast to Equation (2.22), �̅�𝒆𝒒 can now be
implicitly calculated in terms of 𝜀𝒆𝒒 using a 𝕮𝟎-continues finite element domain. To solve
this Helmholtz partial deferential equation (PDE) a boundary condition has to be specified.
Here we use the natural boundary condition as proposed by Peerlings et al. (1996; Jirásek &
Patzák, 2001; Jirásek, et al., 2004).
. 0eq n (2.24)
In which 𝒏 is the unit normal to the boundary 𝚪. This boundary condition is used on the
boundary surfaces of a RVE in homogenous materials. It may be also used on material
boundaries within a heterogeneous RVE.
32 Literature Review |
2.6.3 Finite Element Implementation of Gradient Enhanced
Non-Local Model
Numerical solution of the gradient enhanced damage model requires a method consistent with
the continuum method to avoid a physically unrealistic behaviour. In order to implement the
gradient enhanced formulation, both the equilibrium equation and the implicit gradient
enhanced non-local partial differential Equation (2.23) are solved using finite element
method; for this their weak form is calculated using a Galerkin discritisation approach. By the
use of a test function 𝝋𝒊 , the divergence theorem equations (2.25) and (2.26) can be obtained
which illustrate the weak form of the equilibrium equation and Equation (2.23), respectively
(Peerlings, et al., 2002).
iij i j
i
d dx
(2.25)
Ω Γ
)( Ω Γeq eq
eq eq i
i i i
c d n dx x x
(2.26)
Using the natural boundary condition (Equation (2.24)) in Equation (2.26) yields
( 0)eq
eq eq
i i
c dx x
(2.27)
The equilibrium Equation (2.27) can be solved with a standard finite element procedure. Here
use of a finite element interpolation for calculation of non-local equivalent strain is explained.
Introducing a linear 𝕮𝟎-continues finite element interpolation for the non-local equivalent
strain �̅�𝒆𝒒, yields
eq N (2.28)
In which 𝜺 contains the nodal values of non-local equivalent strain �̅�𝒆𝒒. The derivatives of the
non-local equivalent strain can be obtained as
eq B (2.29)
33 Literature Review |
The interpolation functions 𝑵 and 𝑩 are also used for 𝝋 and its derivatives. Discretising
Equation 2.34, and substituting Equations 2.28 and 2.29 whilst knowing that the resulting
equation holds for all admissible test functions we can conclude
T T T
eqcB B N N d N d
(2.30)
It is important to note that this discretisation can be defined independent of the discretisation
of the equilibrium equation and thus different interpolation polynomials can be used for the
finite element formulation (Massart, et al., 2007).
2.7 The Transient-Gradient Non-Local Model for Strain Softening
Material
Due to the heterogeneity of quasi-brittle material (e.g. concrete, rocks), diffuse micro-
cracking over a certain volume is usually observed at early stages of the fracturing process
(Haidar, et al., 2005; Otsuka & Date, 2000; Grassl & Jirásek, 2010).
The weight function of the averaging process is directly related to an internal length scale
which controls how a material point is affected by the behaviour of surrounding points. Initial
versions of these methods adopted a constant internal length scale which resulted in spurious
damage growth in inactive regions at high deformation levels (Pijaudier-Cabot, et al., 2004).
This is attributed (Geers, et al., 1998) to the fact that the nonlocal averaging process remains
active at all material points through the entire load history and, as a result, highly localised
strains within the process zone are mapped to surrounding points.
The increasing crack opening causes growing local equivalent crack strains. The gradient
damage averaging equation maps this increase onto the nonlocal equivalent strain, which
provokes an increase of damage. The weakening of the damage zone results again in larger
strains and the damage-strain localisation cycle is closed. The constant gradient damage
model combined with an exponential damage evolution law fails in the final stage where it
leads to an unacceptable growth of the damage zone. If the narrowing of the localisation zone
is insufficient, the averaging equation will map the local strain concentration onto a nonlocal
strain increase in an area outside the localisation zone at a growing distance of the actual
failure zone. The material next to the fracture zone remains sensitive to the opening of the
34 Literature Review |
crack and even to the deformations at the other side of the fracture zone.
Although limited experimental knowledge is available regarding the evolution of the internal
length scale, micromechanical arguments have shown that the interaction between cracks and
voids is of a transient nature in the course of failure (Bažant, 1994). Pijaudier-Cabot et al.
(2004) made use of this argument to introduce a nonlocal model with evolving length scale,
whereby the internal length is made a function of local damage expressed in terms of the
local equivalent strain. Compared to the original nonlocal damage model, the model with
evolving length scale delivers physically acceptable damage profiles at high deformation
levels. Other nonlocal damage models with evolving length scale have been proposed (Giry,
et al., 2011; Nguyen, 2011). In particular, the stress-based model by Giry et al. (2011) is very
effective in solving the issues discussed by Simone et al. (2004) in terms of damage initiation
and propagation. Saroukhani, et al.(2013) introduced a simplified method in implementing
transient-gradient model.
2.7.1 Nonlocal Damage Model with a Damage-Dependant
Transient Length Scale
Inspired by Frémond & Nedjar (1996), and de Borst et al. (1995), the nonlocal variable can
also be derived from the damage. This suggestion was also made by Bažant & Pijaudier-
Cabot (1989). However, Jirásek (1998) already showed that such a nonlocal model cannot
provide meaningful results with a constant length parameter. A partial differential Equation
(2.30) with a variable length scale is therefore used instead
2( )eq eq eq (2.31)
while the boundary condition on Ω is given by
. 0n (2.32)
The nonlocal damage variable is then used in the constitutive relationship
(1 )Cij ijkl kl (2.33)
Equation 2.33 shows that it is no longer possible to keep the gradient parameter 2 / 2cc l
constant. If this would be the case, the nonlocal damage which enters Equation (2.33) will
35 Literature Review |
never reach the ultimate point of failure ( 1) since the local damage is bounded by the
relations (Geers, et al., 2000). Accordingly, a nonlocal damage model in this sense can only
be realistic if approaches unity when its local counterpart does so. The gradient
parameter must therefore depend on the local damage variable . If the local damage equals
unity, the intrinsic length scale will vanish, and the nonlocal and local damage variables will
then coincide. Since the gradient term vanishes only after the crack is fully initiated, the well-
posedness remains preserved during the initiation phase.
2.7.2 Nonlocal Damage Model with a Strain-Dependant
Transient Length Scale
A strain-based transient gradient-damage model (or nonlocal equivalent strain model) has
been proposed in Geers, et al. (1998) and has been successfully applied to composite
materials (Geers, et al., 1999). The analysis of damage in discrete models with respect to the
consequences on continuum models has shown that the internal length scale of a continuum
increases with the damage of the system (Delaplace, et al., 1996). This observation is in
agreement with the transient nature adopted in (Geers, et al., 1998), where the gradient
parameter increases with the local equivalent strain eq . It has also been shown that the
transient character of the length scale alleviates spurious damage development with the use of
exponential damage evolution laws (Geers, et al., 1998; Nguyen, 2011; Saroukhani, et al.,
2013). The transient character of the intrinsic length scale', in this case is thus opposite to the
previous model, where the length scale decreased with increasing damage.
The partial differential Equation (2.23) with a variable length scale dependent on equivalent
strain is in the form of
2( )eq eq eq (2.34)
while the boundary condition on Ω is given by
. 0eq n (2.35)
in which , represents the transient gradient parameter and is defined in the following
equation.
36 Literature Review |
n
eq
eq
eq
c
c
(2.36)
The above expression implies that nonlocal coupling starts as soon as deformation is detected
at a material point and reaches its maximum level, namely c, when the local equivalent strain
is . The consequences of this choice are twofold. On the one hand, nonlocal interaction is
progressively mobilized as the local equivalent strain increases. On the other hand, at
considerable deformation levels, vanishes in the unloaded material surrounding the
process zone. Hence, nonlocal interaction is appropriately confined and the unloaded material
behaves in a local manner.
2.8 First-Order Computational Homogenisation
To derive an enhanced constitutive material model for a complex composite like masonry
computational homogenisation can be used so that we can derive the global behaviour of the
masonry from its constituents such as concrete block and mortar. Fundamentals of
computational homogenisation have been introduced by Ghosh et al. (1995). This method
have been further developed by Smit (1998); Miehe et al. (1999); Feyel and Chaboche
(2000), Miehe and Koch (2002). The concepts of second-order computational
homogenisation were later introduced by Kouznetsova et al. (2001). Temizer & Wriggers
(2008), Coenen, et al. (2012) and (Holl, et al., 2013) and many more authors have developed
these models. Geers, et al. (2010) have reviewed and compared some of these models.
Homogenisation technique has been applied to upper and lower bound limit analysis of
masonry walls and vaults by Milani, et al. (2006), Cecchi, et al. (2007) and Milani, et al.
(2008). Cecchi & Di Marco (2000), Massart (2003), Massart, et al. (2007), Mercatoris, et al.
(2009), Milani & Cecchi (2013) and Reccia, et al. (2014) have all used homogenisation
methods to analyse the behaviour of different masonry systems. Using this technique,
through solution of the microstructural boundary value problem, the macroscopic response of
the structure can be obtained. In these techniques a Representative Volume Element (RVE) or
unit cell needs to be identified which is able to generate the entire structure by repetition.
Four steps for first-order computational homogenisation are as follows:
37 Literature Review |
1) Consideration of a representative volume element (RVE) in which the constitutive
behaviour of all its components are known,
2) Calculation of the macroscopic deformation gradient on the RVE,
3) Application and analysis of the resulting microstructural boundary value problem and
calculation of macroscopic variables,
4) Derivation of numerical input and output macroscopic variables.
Homogenisation techniques have several advantages over the classical numerical techniques.
The macroscopic response of the structure is obtained from the underlying microscopic
boundary value problem, thus, no explicit assumption is needed for the macroscopic
constitutive response. Non-linear constitutive models can be used for the microstructural
constituents. Moreover, the boundary value problem on the RVE can be solved by any
suitable numerical method. Computational homogenisation is a powerful tool for the analysis
of systems with complex microstructural geometries and mechanical behaviour. This method
has been used in this report to simulate the biaxial behaviour of traditional masonry panels.
2.8.1 Choice of Homogenisation Boundary Condition
The scale transition consists in applying the strain tensor (macroscopic) to an RVE
(mesoscopic). Boundary conditions should be applied such that the imposed macroscopic
strain tensor equals the volume average of the mesoscopic strain on the RVE. Three types of
boundary conditions are classically used in homogenisation:
fully statically constrained boundaries also known as Taylor (or Voigt) assumption,
fully kinematically loaded boundaries or uniform displacement boundary condition,
Periodic boundary conditions.
Of the above choices fully statically constrained boundary condition is the most
computationally efficient choice; however, it usually significantly overestimates the stiffness.
The uniform displacement boundary condition also usually overestimates the material
properties. Generally, the periodic boundary conditions estimate stiffness more accurately
(van der Sluis, 2001; Massart, 2003). Furthermore, in case of a material such as masonry
38 Literature Review |
which has a periodic mesostructure, use of periodic boundary conditions seems more
reasonable (Anthoine, 1995; Anthoine, 1997; Massart, et al., 2004).
2.8.2 Periodic Boundary Conditions for Computational
Homogenisation
For a complex composite such as masonry homogenisation technique can be used to develop
an enhanced constitutive material model from its constituents such as concrete block and
mortar. Uniform loading and periodic geometry for masonry has been assumed and thus,
homogenisation theory for periodic media which was adopted by Anthoine (1995; 1997) and
Massart (2003) seems suitable to use (also see Massart, et al. (2004) and Massart, et al.
(2005)). Computations have been performed on a single representative volume element
(RVE) which contains the information of the entire mesostructure. A boundary value problem
has been solved on the RVE using finite element method. Based on homogenisation theory
for periodic media, strains should be compatible and the stresses should be anti-periodic on
two opposite sides of the RVE. This will ensure that two neighbouring RVEs fit together. The
strain-periodic displacement field has the form (Massart, et al., 2004)
. u x ε x w x (2.37)
where 𝜺 is the macroscopic strain tensor, �⃗⃗� is the position vector and �⃗⃗⃗� (�⃗⃗� ) is a mesoscopic
displacement fluctuation field which distinguishes the real mesostructural displacement field
from the linear 𝜺. �⃗⃗� field. The fluctuation field is assumed to be periodic. The volume average
of the mesoscopic strain field resulting from relation (2.37) is given by
1 1 1
. M Ω Ω Γ
Ω Ω ΓΩ Ω Γ
RVE RVE RVE
sym sym
RVE RVE RVE
ε u d ε x w d ε wn d ε
(2.38)
Because of periodicity of �⃗⃗⃗� the boundary integral in Equation (2.38) equals to zero and thus,
the volume average of mesoscopic strain field is indeed equal to Mε . By the use of Hill-
Mandel work equivalence we have
1
: : Ω
ΩΩ
RVE
M m
RVE
σ ε σ δε d (2.39)
39 Literature Review |
In which superscripts 𝑴 and 𝒎 refer to macro and meso, respectively. We can determine the
total or macro stress as the average of mesoscopic stresses as
1
Ω
ΩΩ
RVE
M m
RVE
σ σ d (2.40)
2.9 Concluding Remarks
Behaviour of different masonry systems under uniaxial and biaxial loading have been
investigated by a number of researchers. However, these different experiments have limited
applicability for other masonry systems. Based on the type of unit and mortar, their shape and
the type of assemblage, different strength envelopes are likely to be obtained for different
masonry systems. Obtaining failure envelopes through experimental work for each type of
masonry is time consuming and expensive. To overcome this issue, in this study,
development of a constitutive model for various types of ungrouted masonry systems based
on the behaviour of their individual constituents will be attempted. Utilizing this constitutive
law, will help in obtaining the behaviour of the complex masonry system using simple,
inexpensive tests on the constituents i.e. unit and mortar.
After comparing different types of modelling approaches developed in the literature,
computational homogenisation technique will be adopted to model the uniaxial and biaxial
behaviour of masonry. First, a damage evolution law capable of predicting the behaviour of
masonry constituents adopting Continuum Damage Mechanics (CDM) will be developed.
Then, the localisation issues of the model which is due to softening behaviour of the quasi-
brittle constituents will be resolved by adopting a transient gradient non-local model.
Different Representative Volume Elements (RVE) for masonry and the sensitivity of the
results to them will be studied similar to Massart (2004, 2005). To improve the models
performance in the fully bonded interface between the constituents, a transitional material
layer (Interphase) will be introduced to the RVE. Finally, the application of the model to
conventional and dry-stacked masonry will be examined against available experiments and
Australian Masonry Standard (AS 3700, 2011).
40 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
CHAPTER 3
Development of a CDM Model Incorporating
Variation of Poisson’s Ratio
3.1 Introduction
An accurate solution to problems involving the strength and deformation behaviour of
masonry significantly depends on the choice of the adopted constitutive laws of its
constituent materials. Constitutive laws are obtained considering a set of variables and a
thermodynamic potential. The choice of the potential and the damage variable is a crucial
part of the description of the constitutive law. Choice of damage evolution law or damage
variable assists in approximating and describing the underlying micromechanical growth of
micro-cracks (damage). With the growth of internal micro-cracks cause volume change,
which are treated in many different ways in numerical models, such as the phenomenon of
dilatancy (van Zijl, 2004; Burnett, et al., 2007) and variable Poisson’s ratio (Carol, et al.,
2002; Wang, et al., 2009).
Scalar damage models have been used throughout the literature for phenomenological
damage models (Chaboche, 1981; Lemaitre, 1985; Ju, 1989), and elasticity based damage
models for quasi-brittle material (Peerlings, et al., 2001; Massart, et al., 2005). The
formulation of these damage models (uncoupled with plasticity) to date have not accounted
for the independent variation in the softening response of the stress-strain behaviour of the
constituents under tension and compression. The novelty of this thesis is to specifically
introduce the damage evolution laws to explicitly differentiate the softening responses under
tension and compression independently and accounts for pre-peak cracking in compression.
This Chapter presents a Continuum Damage evolution law incorporating variation of
Poisson’s ratio. The proposed model is capable of describing the behaviour of masonry
constituents such as units (Clay brick, concrete block, stone block, etc.) and mortar. Basic
41 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
concepts are briefly described, together with the theoretical formulation. Then, an algorithm
for implementation of the formulations is presented. A simple numerical example is provided
to illustrate the capability of the model in dealing with masonry. The influence of key
parameters of the model on damage evolution and stress-strain behaviour of the material is
exhibited through a set of sensitivity analyses. The limitation of the model and the need for
improvement is described in the summary of this Chapter.
3.2 Uniaxial Behaviour of Quasi-brittle Material
A typical feature of quasi-brittle constituents (units and mortar) of masonry is the post-peak
softening behaviour that reflects growth of internal micro-cracks and gradual decrease of
stiffness under a monotonous increase of deformation. Figures 3.1 and 3.2 illustrate
characteristic stress-displacement diagrams for quasi-brittle materials under uniaxial tension
and uniaxial compression, respectively.
Figure 3.1 Typical behaviour of quasi brittle material under uniaxial tension
Figure 3.2 Typical behaviour of quasi brittle material under uniaxial compression
42 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Proper prediction of these uniaxial performances of quasi-brittle material is essential for the
prediction under more complex loading cases (e.g., biaxial). As was reviewed in section 2.4
of this thesis, there still exists a need for developing a damage model capable of predicting
these behaviours without the need of coupling with plasticity theory.
3.3 Formulation
Different formulations for obtaining the equivalent strain eq (Equations (2.8), (2.9), (2.10)
and (2.11)) in order to map the components of the strain tensor to a scalar parameter have
been discussed in section 2.4.2 of the thesis. In this study, in order to deal with materials
exhibiting large difference between compressive and tensile strengths Equation (2.11)
proposed by de Vree et al. (1995), and extensively used by different authors (Mazars &
Pijaudier-Cabot, 1996; Peerlings, 1999; Massart, 2003; Massart, et al., 2007; Geers, et al.,
2010; Giry, et al., 2011) will be adopted.
In order to predict the uniaxial tensile and compressive behaviours (Figures (3.1) and (3.2),
respectively), a new damage evolution law is introduced here. The advantage of this model is
that it is able to predict both the pre- and the post- peak behaviours of quasi-brittle materials
in a more realistic manner than the pure Continuum Damage Mechanics (CDM) models
introduced in Equations (2.12), (2.13) and (2.14) used by many authors, previously (Mazars
& Pijaudier-Cabot, 1989; Jirásek & Patzák, 2002; Jirásek, et al., 2004; Massart, et al., 2005).
Moreover, this model is far simpler to implement, and calibrate than the coupled damage-
plasticity models used throughout the literature (Lourenco, 1996; Zucchini & Lourenço,
2002; Zucchini & Lourenco, 2004; Wei & Hao, 2009).
3.3.1 Refined Damage Evolution Law for Masonry Constituents
Damage evolution law is defined in the form of
1
1
1
1 1 0
0 ( )
( ) ( ) 0
ii
cc
c c c
c c cc
e if I
if I and
if I and
(3.1)
43 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
in which , and are material parameters. c and c are the threshold damage and
threshold strain beyond which damage grows rapidly, measured at a point of uniaxial
compression test, respectively. i is the threshold for damage initiation and is the
maximum equivalent strain eq , which the material has experienced so far. Parameter is
defined in the form of
2
2
2c c c c c
c c
(3.2)
The model considers independent energy dissipation in tension and compression and a more
gradual growth of microcraks in the beginning of the damaging process for compressive
loading. A qualitative description of damage growth in terms of equivalent strain has been
shown in Figure 3.3. When the equivalent strain is less than c , c , the material exhibits
increase in the rate of damage growth as the deformation increases. This gradual increase
continues until the strain reaches the threshold c . After reaching strain c the rate of
damage growth (slope of damage evolution) starts decreasing until the material is fully
damaged. The stress-strain behaviour of the quasi-brittle material in compression can be fully
simulated using this new damage evolution law.
Figure 3.3 Qualitative damage evolution in terms of equivalent strain under uniaxial
compression
44 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
This model uses an exponential softening behaviour for the tensile part of the equation. Using
this expression when 𝜀 → ∞, stress approaches (1 − 𝛼)𝐸𝜅𝑖 which can represent the long tail
which was experimentally obtained for quasi-brittle material. Parameter 𝛽 controls the
damage growth rate which depends on the tensile fracture energy of the material. When 𝛽 is
larger the model will show a faster crack growth and a more brittle response. The model is
sensitive to 𝛽 values up to 10000 and values larger than that seem to have minimum effect on
its behaviour.
A numerical example, considering the above explained model has been presented in section
3.5. Furthermore, all the influencing parameters have been discussed in detail in section 3.6.
3.3.2 Variable Poisson’s Ratio
In the scalar damage model (isotropic formulation) mentioned in previous sections, a single
scalar damage variable ω prescribes a proportional degradation to all components of the
secant stiffness and compliance according to Equation (3.1). It should be noted that this is
equivalent to reduction of Young’s modulus 0(1 )E E , Bulk modulus 0(1 )K K and
shear modulus 0(1 )G G . However, Poisson’s ratio remains constant 0 , which
implies a restricted form of isotropic degradation (see, Ju (1990)) – more specifically
volumetric changes due to micro-cracking remains unaccounted for in such formulations.
Various secant stiffness proposals were examined by Rizzi (1993,1995). In all cases, since all
the components of the secant stiffness are affected in the same manner which leads to
improper reproduction of volume changes of damaging material and a shear-dominated
failure. To resolve this issue (Mazars & Pijaudier-Cabot (1989) and Comi (2001) proposed
the tension and compression split of damage evolution law (see, Equations 2.15-19).
Moreover, Lubliner, et al. (1989), Comi & Perego (2001) and Wosatko (2011) amongst
others, used a volumetric-deviatoric decomposition approach. Pamin, et al. (2014) scaled the
intensity of damage growth for the volumetric part of the damage response based on the work
of Lemaitre & Desmorat (2005) and (Desmorat, et al. (2007).
According to experimental evidence (Launay & Gachon, 1970; Kotsovos & Newman, 1977;
Bongers, 1998; Ferretti, 2004) peak stress in concrete occurs under highly confined triaxial
compression which results in inelastic volume compaction. However, the damage evolution
45 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
law underestimates the material strength in the hydrostatic compression stress states in post-
peak stage.
Some Authors have attempted to resolve this issue in the Continuum Damage Mechanics
framework. Rizzi, et al. (1995) introduced a deviatoric degradation direction which resulted
in nonlinear increase of Poisson’s ratio with nonlinear degradation of stiffness. However, the
Bulk modulus remained constant in this case. Comi & Perego (2001) re-defined the bulk
modulus in compression in the form of 0(1 )K K in which 1 0 . Carol et al.
(2002) proposed an extension to this model based on independent evolution of deviatoric and
volumetric parts of stiffness. They introduced both a bi-dissipative and a single-dissipative
isotropic model for quasi-brittle material. The drawback of these models is that they violate
the classical definition of damage mechanics (Equation 2.1) as in Equation 3.3 for E for
example:
2
01 1
0 0
3(1 )
2(1 )(1 ) (1 2 )(1 )E E
(3.3)
In which η is a path parameter and 0 and 0E are the initial Poisson’s ratio and modulus of
Elasticity, respectively. A similar model based on Young’s modulus and Poisson’s ratio
decomposition was proposed by Carol, et al. (2005).
2(1 )
0E E (3.4)
and
4
0
(3.5)
In which η fixes the slope of constrained linear paths and is a function of damage
parameter.
In this thesis, a single dissipative model based on decomposition of Young’s modulus and
Poisson’s ratio proposed. Here, the influence of damage on the volumetric part of stress has
been modified in a way that the classical definition of isotropic damage mechanics (Equation
2.1) is not compromised.
Introducing a volumetric damage parameter K , the bulk modulus is expressed as
46 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
0(1 )KK K (3.6)
which reflects the Poisson’s ratio as
3
6
K E
K
(3.7)
Considering, 0(1 )E E and substituting Equation (3.6) into Equation (3.7) we can obtain
the Poisson’s ratio in the form of
0 0
0
3K (1 ) E (1 )
6 (1 )
K
KK
(3.8)
So far the model is bi-dissipative since the damage parameter and the volumetric damage
parameter K are independent. Different damage variables may be introduced at this stage to
describe the evolution of the volumetric damage parameter. In order to adopt a single loading
surface for the entire model we define the relation between volumetric damage parameter K
and damage parameter in the following form
1 (1 )K
(3.9)
which converts the model into a single-dissipative isotropic model. Here, parameter η
controls the effect of the volumetric damage parameter and is 0 . With this definition
K always holds and in case of 1.0 the two damage parameters become equal and it
results in a constant Poisson’s ratio and the classical damage model. For quasi-brittle
material, 0 1 which results in increase of Poisson’s ratio when damage progresses.
Placing Equation (3.9) into Equation (3.8) we can obtain the Poisson’s ratio in the form of
1
0 0 0
0 0
3K (1 ) E (1 ) E (1 )1
6 (1 ) 2 6K K
(3.10)
Now considering the value of the initial Bulk modulus in terms of Young’s modulus and
Poisson’s ratio
00
03(1 2 )
EK
(3.11)
47 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
and replacing it in Equation (3.10) we finally conclude the Poisson’s ratio in the form
1
01 (1 2 )(1 )
2
(3.12)
The shear modulus can be obtained in the same manner in the form of
1
0 0
(1 )
(3(1 ) (1 2 ))G
E
(3.13)
in terms of the initial Young’s modulus and initial Poisson’s ratio.
3.4 Implementation
The constitutive model described in Sections 3.1 to 3.3 was implemented through an
interactive code written by the author. The main program is a MATLAB code which
incorporates PYTHON scripting together with the commercial FE software ABAQUS/
Standard 6.11. Moreover a FORTRAN user-subroutine has been written for the use of the
ABAQUS software.
In the first step, after inputting all parameters in the MATLAB main program, it calls a
PYTHON code which constructs the geometry, discretises the domain and assigns
appropriate boundary conditions and loadings to the structure, see Figure 3.4.
In the second step, MATLAB will call ABAQUS to run the analysis for the first load
increment and write all the outputs in an ODB (output data base) file.
In the next step, after the analysis is completed, the program will call PYTHON to open the
ODB file and read all the nodal information.
In the fourth step, as shown in Figure 3.4, the local equivalent strains for all the material
integration points will be calculated from the outputs of the ABAQUS analysis. The modified
von Mises equivalent strain formulation (Equation 2.11) explained in section 2.3.2 has been
implemented for this purpose.
48 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.4 Implemented program’s flow chart
In the fifth step, Equation 3.1 is used to calculate the scalar damage variable for each material
point as shown in Figure 3.4. The proposed damage evolution law will be utilised for this
purpose.
In the sixth step, the program will check the convergence and check if it has reached the final
load increment. If Yes, the program will end the analysis.
49 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
If No, using the data from the previous steps, ABAQUS will be called to analyse the system
for the subsequent load increment. For this analysis, ABAQUS will require the material
properties of each integration points. These material properties are calculated from the stored
damage parameters which were calculated in the program previously.
Steps 2 – 6 will be repeated for all the load increments. These steps have been plotted into a
flow chart illustrated in Figure 3.4. PYTHON, MATLAB and FORTRAN codes used in this
procedure can be found in Appendices A, B and C, respectively.
The damage model proposed here permits to evaluate damage in an explicit way without the
need for any iterative procedure. Steps 4 and 5 of the above explained procedure for the nth
increment are described in more detail in Table 3.1.
Table 3.1 Algorithm for the implementation of the introduced damage model
1. Compute the strain increment and update the strain
nn n-1ε ε +=
2. Impose
1n nκ κ
1n nυ = υ
3. Compute the current equivalent strain
2
2
1 1 22 2
1 11 12
2 1 2 2 1 2 1n
k k kε I I J
k υ k υ υ
4. Check damage criterion
, n n
f ε κ ε κ 0
If Yes: No damage, Go to Step 9.
If No: Damage, proceed to 5.
5. Compute the damage variable n .
50 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
1
1
1
1 1 0
( 0 ( )
( ) ( ) 0
)
n ii
cn c
c c c
c c
n
c
n
e if I
if I and
if I and
ε
nn
n
n
n
ε
εε ε
ε
ε
ε cn
ε
6. Compute the volumetric damage variable ( )K n .
( ) 1 (1 )K n n
7. Compute current Poisson’s ratio
1
01 (1 2 )(1 )
2
nn
8. Update the damage threshold
n nκ ε
9. Update the stress
1 n ij ijkl klσ ω C ε
10. Return to Main Program
3.5 Numerical Example
In order to better understand the behaviour of the proposed model and its use for real datasets
from experiments we first consider a benchmark numerical example. This example consists
of a two-dimensional finite element. An eight noded element (see Figure 3.5) with size of
unity is subjected to uniaxial tension and compression.
Figure 3.5 The 8-noded element used for the numerical analysis
51 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Table 3.2 Input properties of the tested element
Material Properties
E (MPa) 20000
0 0.2
k 10
α 1.0
β 1000
i 0.00005
c 0.00016
c 0.5
-0.25
This simple test illustrates the response of the improved model at the point level. A material
with 20000E MPa , 0 0.2 , strength ratio 10k have been considered. All mechanical
properties of the material can be found in Table 3.2. Calculations are performed using the
procedure explained in section 3.4.
3.5.1 Uniaxial tension
Uniaxial tensile strain has been imposed to the 8-noded element as shown in Figure 3.6. For
tension results of three different values for η (1.0, 1.1 and 1.2) have been compared in Figure
3.7. As can be seen, the model is able to capture the uniaxial behaviour of a quasi-brittle
material which was illustrated in Figure 3.1. As was mentioned in section 3.3.1.1 and can be
seen in Equation 3.1 the present model is using an exponential law for softening in tension. It
can also be observed that increasing the value for η (decrease of Poisson’s ratio) has minimal
effect on the tensile behaviour of the model. Further increase of this value results in decrease
of Poisson’s ratio to values less than negative one in small strains which is physically
impossible, see Figure 3.8. In this study, the value η is considered to be one for tensile state
of stresses.
52 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.6 The 8-noded element under uniaxial tension
Figure 3.7 Stress-strain behaviour of the material based on the proposed model in uniaxial
tension test
53 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.8 Evolution of Poisson’s ratio for the material based on the proposed model in
uniaxial tension test
The damage evolution for in the uniaxial test using the proposed model for 𝜂 = 1.0 can be
seen in Figure 3.9.
Figure 3.9 Damage evolution of the material based on the proposed model in uniaxial tension
test for 𝜼 = 𝟏. 𝟎
54 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
3.5.2 Uniaxial compression
Uniaxial compressive strain has been imposed to the 8-noded element as shown in Figure
3.10. The material properties of the material used in this test can be found in Table 3.2.
Figure 3.10 The 8-noded element under uniaxial compression
For compression, again the results of three different values for η (0.1, 0.5 and 1.0) have been
compared in Figure 3.11. This figure illustrates that the model is able to capture the uniaxial
behaviour of a quasi-brittle material which was shown in Figure 3.2.
55 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.11 Stress-strain behaviour of the material based on the proposed model in uniaxial
compression test
Figure 3.12 Evolution of Poisson’s ratio for the material based on the proposed model in
uniaxial compression test
Figure 3.12 shows the evolution of Poisson’s ratio for three values of η. The value for η
increases when loading progress which is what we expect from quasi-brittle materials.
56 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.13 Damage evolution of the material based on the proposed model in uniaxial
compression test for 𝜼 = 𝟎. 𝟓
The damage growth with respect to uniaxial strain in a uniaxial compression test
corresponding to 𝜂 = 0.5 has been represented in Figure 3.13. Comparing the proposed
model and its damage evolution in Figure 3.13 with the damage evolution laws mentioned in
section 2.4.3, one can see that the model considers a more gradual growth of microcraks in
the beginning of the damaging process for compressive loading. This significantly improves
the prediction of the proposed model for the compressive behaviour of quasi-brittle materials
such as concrete, mortar and brick.
3.5.3 Pure Shear
Similarly to sections 3.5.1 and 3.5.2, in order to observe the behaviour of the model in pure
shear, an 8-noded element has been considered with boundary conditions as shown in Figure
3.14. The material properties of the material used in this test can be found in Table 3.2. For
shear, results of three different values for η (0.1, 0.5 and 1.0) have been compared in Figure
3.15.
57 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.14 The 8-noded element under pure shear
Figure 3.15 Stress-strain behaviour of the material based on the proposed model in pure
shear test
Figures 3.16 and 3.17 show the Poisson’s ratio and Damage’s evolution with respect to strain.
From Figure 3.15, it can be observed that the model shows the shear behaviour of quasi-
brittle material in a reasonable manner.
58 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.16 Evolution of Poisson’s ratio for the material based on the proposed model in
pure shear test
Figure 3.17 Damage evolution of the material based on the proposed model in pure shear test
3.6 Parametric Study
In order to verify the performance of the present damage model the effect of various material
parameters to the overall response of the system has been examined. This examination is
through a set of analyses using an eight noded two-dimensional finite element of a size unity
59 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
as shown in Figure 3.5. The influence of different parameters on the element which is
subjected to uniaxial tension and compression has been studied. This simple parametric study
illustrates the response of the improved model at the point level.
Effects of the following key parameters on the compressive and tensile behaviour of the
model have been discussed here.
Equivalent strain parameter k
Refined damage evolution law parameters , , and c
The volumetric damage parameter
The parameters employed in this parametric study are summarised in Table 3.2.
3.6.1 Uniaxial tension test
By examining Equation 3.1 it is clear that parameters α and β, have the most effects on the
softening branch of uniaxial tensile behaviour of the material. In the following sections, the
effects of these two parameters on stress-strain behaviour of the material have been
individually studied.
3.6.1.1 Effect of damage evolution law parameter α
This parameter was introduced to avoid numerical problems and does not represent any
physical phenomena. Results of a parametric study varying the parameter α ( 0 1 ) are
presented in Figures 3.18 and 3.19. As anticipated using this expression, when the strain
, stress approaches 1 iE , see Figure 3.18. For example if 0 ,then the stress
remains equal to iE after the equivalent strain is equal to initial threshold i and if 0.5
the stress gradually reduces to the stress remains equal to 0.5 iE . Increase of α results in a
steeper post-peak response in the model. Influence of the parameter α on the damage
evolution can be seen as not very sensitive in Figure 3.19. This can be related to the brittle
failure mode of masonry where the effect of α is not how it damages masonry under tension
but how it releases its post-peak energy.
60 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.18 Influence of parameter α on the stress-strain behaviour of the proposed model in
uniaxial tension test
Figure 3.19 Influence of parameter α on the damage evolution of the proposed model in
uniaxial tension test
61 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
3.6.1.2 Effect of damage evolution law parameters β
Parameter β controls the damage growth rate which depends on the tensile fracture energy of
the material. When β is higher, the model will show a faster crack growth and a more brittle
response. Results of a parametric study in uniaxial tension employing different values for
parameter β have been illustrated in Figures 3.20 and 3.21.
Figure 3.20 Influence of parameter β on the stress-strain behaviour of the proposed model in
uniaxial tension test
Figure 3.21 Influence of parameter β on the damage evolution of the proposed model in
uniaxial tension test
62 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
3.6.2 Uniaxial compression test
Uniaxial compression parametric study has been conducted to evaluate the performance of
the model in compressive stress states. The effects of parameters k, , and c are studied
in the following sections.
3.6.2.1 Effect of Equivalent strain parameter k
Results of a parametric study employing different values for parameter k in Equation (2.11)
on the stress-strain behaviour of the proposed model are shown in Figure 3.22.
The influence of this parameter to the damage evolution with respect to strain is presented in
Figure 3.23.
Parameter k controls the equivalent strain to tension and compression which is usually set to
the ratio of compressive strength of the material to its tensile strength. As mentioned in
section 3.3.1.1, this model is capable of modelling materials with high differences to their
tension and compression strengths.
Figure 3.22 Influence of parameter k on the stress-strain behaviour of the proposed model in
uniaxial compression test
63 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.23 Influence of parameter k on damage evolution of the model in uniaxial
compression test
As the values of k increases, the damage growth decreases, see Figure 3.23. This results in
higher failure strength in compression. The difference between the failure strength in tension
and compression can be easily controlled with this parameter. When k = 1, the tensile and
compressive strengths are almost the same.
3.6.2.2 Effect of damage evolution law parameter ζ
Parameter ζ controls the steepness of the post-peak softening behaviour of the material. The
higher the value of ζ, the more brittle response the material will produce. Results of
parametric study, employing a range of ζ, to the stress-strain behaviour of the model under
uniaxial compression is shown in Figure 3.24. The influence of this parameter on the damage
evolution with respect to strain is presented in Figure 3.25. From this Figure, it can be
observed that this parameter controls the slope of the damage evolution curve at point c
which is the point from which all the curves are passing.
64 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.24 Influence of parameter ζ on the stress-strain behaviour of the proposed model in
uniaxial compression test
Figure 3.25 Influence of parameter ζ on damage evolution of the model in uniaxial
compression test
3.6.2.3 Effect of damage evolution law parameter 𝝎𝒄
Parameter 𝜔𝑐 controls the dissipated energy in the present model due to the damage process.
Increase of this parameter leads to higher rate of damage dissipation in the model. The
65 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
influence of this parameter on the stress-strain behaviour of the proposed model under
uniaxial compression loading has been investigated and is shown in Figure 3.26.
Figure 3.26 Influence of parameter 𝛚𝐜 on the stress-strain behaviour of the proposed model
in uniaxial compression test
Figure 3.27 Influence of parameter 𝛚𝐜 on damage evolution of the proposed model in
uniaxial compression test
Figure 3.27 shows the effect of parameter ωc on damage evolution in terms of strain. The
higher the value for 𝜔𝑐, the sooner the material loses its integrity. When 𝜔𝑐 = 1, the material
reaches full damage state at c which can be seen in Figures 3.26 and 3.27.
66 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
3.6.2.4 Effect of the volumetric damage parameter η
Sensitivity of parameter η to various properties of the material was performed. This
parameter controls the effect of the volumetric damage parameter and is 0 1 for quasi-
brittle material. With this definition K always holds and in case of 1.0 the two
damage parameters become equal and it results in a constant Poisson’s ratio and the classical
damage model.
Figure 3.28 shows the stress-strain behaviour of the proposed model for various values of η in
uniaxial compression test.
Figure 3.28 Influence of parameter η on the stress-strain behaviour of the proposed model in
uniaxial compression test
Effect of change of parameter η to the relation between the damage variable and the
volumetric damage variable K is shown in Figure 3.29. This figure shows that when the
parameter η approaches unity, the difference between the two damage variables reduces.
In case of quasi-brittle materials such as brick, mortar and masonry, which are the focus of
this study, due to internal micro-cracking the Poisson’s ratio increases as loading progresses.
In the present model, as can be seen in Figure 3.30, as the value of η decreases the rate of
Poisson’s ratio growth increases.
67 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.29 Influence of parameter η on the volumetric damage variable K with respect to
the damage variable based on the proposed model in uniaxial compression test
Figure 3.30 Influence of parameter η on Poisson’s ratio with respect to strain based on the
proposed model in uniaxial compression test
Effects of parameter η on the growth of Poisson’s ratio with respect to damage variable
and volumetric damage variable K are shown in Figures 3.31 and 3.32, respectively.
68 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Figure 3.31 Influence of parameter η on Poisson’s ratio with respect to the damage variable
based on the proposed model in uniaxial compression test
Figure 3.32 Influence of parameter η on Poisson’s ratio with respect to the volumetric
damage variable K based on the proposed model in uniaxial compression test
Only values of η, in the range of 0 1 have been considered in this study since, increase
of parameter η to values more than unity results in decrease of Poisson’s ratio which is not
the case for quasi-brittle material such as concrete, brick and mortar.
69 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
The influence of parameter η to the Bulk modulus is shown in Figure 3.33 with respect to
damage progression. Smaller values of parameter lead to slower decrease of Bulk modulus in
the model.
Figure 3.33 Influence of parameter η on Bulk’s modulus with respect to the damage variable
based on the proposed model in uniaxial compression test
3.7 Conclusion
In this chapter a new damage evolution law capable of differencing the variation in the
softening response of the stress-strain behaviour (unlike the existing damage models for
masonry applications) of quasi-brittle material such as units, mortar and masonry has been
introduced. The proposed damage evolution law considers a more gradual growth of
microcraks in the initial stages of the damaging process for compressive loading. This
significantly improves the prediction of the model for the compressive behaviour of quasi-
brittle material. Moreover, a single-dissipative formulation of the isotropic damage in quasi-
brittle material has been presented. This model is proposed based on decomposition of
Young’s modulus and Poisson’s ratio. This model extends the classical formulation of
damage mechanics to include the variation of Poisson’s ratio using a scalar damage
definition.
70 Development of a CDM Model Incorporating Variation of Poisson’s Ratio |
Subsequently, the upgraded model has been tested on a point level for uniaxial tension and
compression tests using a single finite element. Then, a parametric study was performed to
assess the effect of different material parameters to the pre-peak and post-peak behaviours of
the model under uniaxial loading states.
In order to implement this model to analyse the behaviour of different structures, a
Representative Volume Elements (RVE) enhanced with a nonlocal model is essential; the
following chapter delves in detail into formulation and enhancement of periodic RVEs.
71 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
CHAPTER 4
Enhancement of the CDM Model through a
Non-Local Transient-Gradient Method
4.1 Introduction
The continuum damage mechanics model embedded with variable Poisson’s ratio developed
in Chapter 3 is enhanced further through a nonlocal transient-gradient method in this Chapter.
As damage growth is highly dependent on the microstructure of the material, in particular
coarse aggregates in concrete units and mortar, micro cracks in these materials bridge
between the aggregates. Therefore, the fracture process should have direct relation to the
aggregate size. However, classical damage mechanics models do not explicitly consider the
scale of this microstructure and suffers from damage localisation (Bažant, et al., 1984), the
phenomenon of which is discussed in the section 2.5 of this thesis. To overcome this
localisation problem in the simulation of strain softening materials, we can introduce non-
locality to the constitutive relation so that the growth of damage variable depends on the
average deformation of the material in a certain regions. Addition of the non-local concept to
the damage model leads to a smooth damage growth depending on the length scale
(Peerlings, 1999). The nonlocal models, their ability to describe damage processes and their
principles of formulations are described in section 2.6 of this thesis. Among these models, the
implicit gradient enhanced damage models appear to be the most successful (Geers, et al.,
2000). There exist two types of intrinsic length parameter within the gradient enhanced
models (1) constant length scale (2) variable length scale. Jirásek (1998), illustrated that use
of constant nonlocal parameter can lead to residual stresses and unrealistic results. A partial
differential equation (Equation 2.31 in this thesis) has therefore been introduced with a
variable length scale to overcome this problem. Section 2.7 contains more explanation of the
transient-gradient nonlocal model. In the original formulation of the gradient-enhanced
damage models, the gradient activity parameter c is considered to be constant and equated to
72 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
2 / 2cl , where cl is the length scale parameter. However, the model involves an extra
continuity equation on either the gradient activity parameter or the local equivalent strain and
therefore adds a set of degrees of freedom to those of the standard model. A new approach in
implementing the transient-gradient model is introduced by Saroukhani, et al. (2013) to
eliminate the need the extra set of degrees of freedom with application to homogenised
materials. In this chapter, this transient gradient formulation is adapted to masonry for the
first time.
4.2 Formulation of a Transient-Gradient Model
An implicit gradient-enhanced damage model with an evolving length scale capable of
overcoming mesh pathological problem for concrete like materials was first introduced by
Geers et al. (1998). Saroukhani, et al. (2013) has further developed the transient gradient
enhanced CDM model by eliminating the need for any extra set of degrees of freedom.
These formulations have been adapted in this thesis for the first time in masonry applications;
the adapted formulation is computationally efficient as the extra degree of freedom required
in Geers et al. (1998) is eliminated.
As discussed in section 2.7, in the transient-gradient approach an extra partial differential
equation and a new set of continuity equation are introduced to the original gradient-
enhanced model. In order to avoid adding this extra set of governing equations, Saroukhani,
et al. (2013) suggested converting Equation (2.31) to a diffusion equation by dividing it by
the transient length scale 0 . This division leads to a new form of Equation (2.31) as
follows
2eq eq
eq
(4.1)
In which eq and eq are the local and nonlocal equivalent strains, respectively. Similarly to
the original gradient enhanced model explained in section 2.5.3 the Galerkin weighted
residual approach is used to discretise Equation (4.1). By multiplying a test function 𝝋𝒊 to the
equilibrium equation and Equation (4.1), and integrating over the domain Ω using the
divergence theorem Equations (4.2) and (4.3) are obtained.
73 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
iij i j
i
d dx
(4.2)
Ω Ω
( Ω) Ωeq eq eq
i i
d dx x
(4.3)
The equilibrium Equation (4.3) can be solved with a standard finite element procedure. Here
use of a finite element interpolation for the calculation of non-local equivalent strain is
explained. Introducing a linear 𝕮𝟎-continues finite element interpolation for the non-local
equivalent strain �̅�𝒆𝒒, yields
eq N (4.4)
In which 𝜺 contains the nodal nonlocal equivalent strains �̅�𝒆𝒒. The derivatives of the non-
local equivalent strain can be obtained as
eq B (4.5)
The interpolation functions 𝑵 and 𝑩 are also used for 𝝋 and its derivatives. Discretising
Equation 4.3, and substituting Equations 4.4 and 4.5 (whilst knowing that the resulting
equation holds for all admissible test functions) we obtain Equation (4.6).
TeqT T
eq
N NB B d N d
(4.6)
It is important to note that this discretisation can be defined independent of the discretisation
of the equilibrium equation and thus different interpolation polynomials can be used for this
finite element formulation. In other words, physical and transient finite elements can have
different shape functions.
The benefit of solving the transient-gradient model in this form is that it requires the same
number of continuity equations as in the original gradient enhanced model. The transient
gradient parameter was modified from Equation (2.36) by Geers, et al. (2000) to avoid
division by zero by Saroukhani, et al. (2013) as in Equation (4.7)
0 0( )
n
eq
eq
eq
c c c
c
(4.7)
74 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
In which and n are model parameters. 0c , is considered to be an arbitrary positive value
so that non-local interaction is prevented at the beginning of the analysis. Equation (4.7)
becomes identical to Equation (2.36) when 0 0c . In order to avoid division by zero in the
system of governing equations, 0c is set to an arbitrary positive value which is chosen such
that at the initial time step, nonlocal interaction between integration points does not occur
(Local and nonlocal strains are the same). It is sufficient to consider 0c to be less than the
square of the smallest distance between any two integration points.
As can be seen in Equation (4.6), the gradient of ( ) is no longer involved in the weak
form of the transient-gradient equation unlike the equation by Geers et al. (2000).
4.3 Homogenisation Technique for Modelling Masonry
Masonry is a composite material consisted of units and mortar and its global mechanical
behaviour can be derived from the properties of its constituents through the homogenisation
theory for periodic media. This technique is widely used by the researchers for different
mechanical models such as elasticity, plasticity, fracture, damage and limit state analysis of
masonry (De Buhan & De Felice, 1997; Anthoine, 1997; Massart, 2003; Milani, et al., 2006;
Mistler, et al., 2007; Salerno & de Felice, 2009; Cavalagli, et al., 2011; Addessi & Sacco,
2012; Stefanou, et al., 2015). In this thesis, a generalised homogenisation technique based on
the work of Kouznetsova, et al. (2001) and Massart, et al. (2007) has been adopted. Section
2.8 provides a brief review of these papers. The following sections explain the specific choice
of the Representative Volume Element (RVE) and its boundary conditions which is
considered in this thesis.
4.3.1 Choice of a Mesoscopic Representative Volume Element
(RVE)
In order to minimise the computational cost at the mesoscopic scale and also to capture all
possible failure mechanisms, representative volume elements (RVEs) are chosen carefully
through perusal of the periodicity in the real world structures. For stretcher bonded masonry,
75 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
different RVE shapes and sizes as shown in Figure (4.1) have been used by different
researchers, see, Anthoine (1995), Luciano and Sacco (1997), Massart (2003), Lourenco, et
al. (2007), Calderini, et al. (2010). It is expected that the average behaviour of any boundary
value problem can be appropriately predicted by any RVE provided the periodic boundary
conditions are appropriately enforced and the RVEs are formulated from thermodynamically
consistent theories and representative material scale parameters; in other words, infinitesimal
strain with no localisation can be determined using RVEs of different shapes and sizes.
Figure 4.1 Typical periodic RVEs used for masonry (Anthoine, 1995; Massart, 2003;
Lourenco, et al., 2007)
In this thesis, one of the objectives is to simulate the biaxial testing of masonry wallets (see
Figure 4.2(a)); a number of possibilities for RVE shapes and sizes are possible – two RVEs
were chosen (Figure 4.2(b). These two RVEs are further explored in this chapter.
76 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.2 Identified RVEs
4.3.2 Boundary Conditions for the Representative Volume
Element (RVE)
As explained in section 2.7.1 the fully kinematically constrained boundary conditions and the
uniform displacement boundary conditions usually significantly overestimate the stiffness of
the homogenised medium. Periodic boundary conditions are required to estimate stiffness
more appropriately (van der Sluis, 2001; Massart, 2003). In case of a material such as
masonry which has a periodic macrostructure, use of periodic boundary conditions has been
established by many researchers (Anthoine, 1995; Anthoine, 1997; Massart, et al., 2004;
Lourenco, et al., 2007; Calderini, et al., 2010).
In this thesis, the running (or, stretcher) bond masonry system is considered with the help of
two RVEs represented in Figure 4.2.
Periodic boundary conditions have been applied through periodically tying using three
controlling nodes A, B and C (see Figure 4.3) of the RVE. Similar approach is adopted by
Massart (2003) and justified by Anthoine (1995) and Smit (1998).
77 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.3 Controlling nodes and periodicity conditions on a typical masonry RVE (Massart,
2003)
The periodicity conditions for the two horizontal and two vertical edges can then be
formulated in terms of the controlling nodes as
, ,
, ,
, ,
eq 1 eq 4
eq 2 eq 5
eq 3 eq 6
ε ε
ε ε
ε ε
(4.8)
and
6 3
B A
C A
C B
4 1
5 2
u u u u
u u u u
u u u u
(4.9)
In which, ,eq 1
ε , ,eq 2
ε , ,eq 3
ε , ,eq 4
ε , ,5eq
ε and ,eq 6
ε are the equivalent strains on the boundary of
the RVE as illustrated in Figure 4.1. Displacements on the boundary of the RVE have been
represented by 1u , 2u , 3u , 4u , 5u and 6u . Displacements of the three controlling nodes A, B
and C are shown by Au , B
u and Cu , respectively. Equations (4.8) and (4.9) represent that
both the displacement and the damage will be periodic in the RVE. These periodicity
conditions lead to periodic predictions for mesoscopic stress and strain fields.
Loading is applied on the RVE by means of the three controlling points A, B and C as
illustrated in Figure 4.4. As can be seen in Figure 4.3, W, H and L are width, height and
length of the RVE, respectively. Moreover, 𝜎𝑥𝑥, 𝜎𝑦𝑦 𝑎𝑛𝑑 𝜎𝑥𝑦 are, stress parallel to bed joint,
stress perpendicular to bed joint and in plane shear stress, respectively.
78 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.4 Loading modes applied on the RVE
Using these RVEs it is shown in this chapter that the failure patterns achieved through
experimental work (see, Dhanasekar (1985)), are simulated. A reasonable illustration of the
behaviour of masonry is obtained, using this homogenisation method. Throughout this thesis,
some cases are analysed under load control and others under displacement control.
Obviously, the load control analyses could not trace post-peak curves and hence the final load
obtained was questioned onto whether it was physical or numerical. In this thesis, the final
load step was checked with experimental data and satisfied that. The final load was not overly
affected by numerical instabilities. Where experiments were conducted in displacement
control, analyses were also performed in displacement control and the peak was clearly
obtained from the complete response.
4.4 Implementation
The transient-gradient model described in sections 4.2 to 4.4, was implemented into the
constitutive model explained in sections 3.1 to 3.3 through an interactive code written by the
author. The main program is a MATLAB code which incorporates PYTHON scripting
together with the commercial FE software ABAQUS/ Standard 6.11. The procedure is as
explained in Chapter 3 and the main difference is introduction of the transient-gradient model
between steps 4 and 5. In this step, the transient-gradient boundary value problem is solved
on the domain, using Equations 4.6 and 4.7 and the nonlocal equivalent strains for all
material integration points are calculated.
Figure 4.5 shows an implementation flow chart for the program and Table 4.1 shows an
algorithm explaining steps 4 to 6 of the flow chart.
79 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.5 Flowchart for the analysis of RVE
Table 4.1 Algorithm for the implementation of the introduced transient gradient model on the
Representative Volume Element (RVE)
1. Compute the displacement increment for integration points from ABAQUS output
database
nu
2. Compute the strain increment and update the strain
nn n-1ε ε +=
3. Impose
80 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
1n nκ κ
1n nυ = υ
4. Compute the current equivalent strains
2
2
1 1 22 2
1 11 12
2 1 2 2 1 2 1n
k k kε I I J
k υ k υ υ
5. Solve the transient-gradient boundary value problem on the domain
TeqT T
eq
N NB B d N d
6. Loop over integration points;
Obtain the current nonlocal equivalent strains for integration points
Check damage criterion for integration points
, n n
f ε κ ε κ 0
Yes: No damage, Go to 10.
No: Damage, proceed to 6.
Compute the damage variable n for integration points
1
1
1
1 1 0
( 0 ( )
( ) ( ) 0
)
n ii
cn c
c c c
c c
n
c
n
e if I
if I and
if I and
ε
nn
n
n
n
ε
εε ε
ε
ε
ε cn
ε
Compute the volumetric damage variable ( )K n for integration points
( ) 1 (1 )K n n
Compute current Poisson’s ratio for integration points
1
01 (1 2 )(1 )
2
nn
Update the damage threshold for integration points
n nκ ε
Update the stress for integration points
1 n ij ijkl klσ ω C ε
7. End integration point loop
81 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
8. Compute the macro strain as the volume average mesoscopic strain field
1
n Ω
ΩΩ
RVERVE
ε ε u d
9. Compute the total or macro stress as the average of mesoscopic stress field
1
n Ω
ΩΩ
RVE
m
RVE
σ σ d
10. Return to Main Program
4.5 Numerical Example
In order to better understand the behaviour of the transient-gradient model and its use for real
datasets from experiments we first consider two RVEs illustrated in Figure 4.2. The
dimensions of both RVEs are considered to be 240 mm length (L), 60 mm height (H) and 110
mm width (W), see Figure 4.6. RVE-1 considers an entire block with dimensions of 230 mm
length and 50 mm height surrounded by 5 mm half mortar joint on all sides. RVE-2 considers
two half blocks with dimensions of 115 mm length and 50 mm height and two half mortar
bed joints of 5 mm and full head joint of 10 mm in the middle. Figure 4.6 illustrates how
these two RVEs were considered. Note that the overall dimensions of both RVEs are the
same.
This example is consisting of two-dimensional plane stress finite elements for both the mortar
and the unit. Reduced integration eight noded plane stress elements (CPS8R ABAQUS
documentation (2011)) were used for the entire RVEs. Choice of these elements will assist in
the solution of the nonlocal boundary value problem. Considering 8-noded elements, the
deformation domain will be approximated as a second order polynomial. Then, in order to
avoid stress oscillations explained by Peerlings (1999), a linear domain (4-noded elements)
should be considered for discretisation of the nonlocal boundary value problem. CPS8R
elements which were used for the solution of equilibrium equations, have four integration
points. These Integration points are used for the solution of the nonlocal equations.
4.5.1 Stress-Strain Behaviour of Individual Constituents
The geometry of the two RVEs and periodic boundary conditions from Equations (4.9) were
created through ABAQUS /6.11 CAE and PYTHON scripting. Brick with 16000E MPa ,
82 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
0 0.2 , strength ratio 10k and mortar with 4000E MPa , 0 0.18 , strength ratio
10k have been considered for this example. All mechanical properties for both the mortar
and the brick are summarised in Table 4.2. Calculations are performed using the procedure
explained in the previous section. Uniaxial tension and compression tests have been
performed on both RVE in directions parallel and perpendicular to bed joints. Loading was
applied as prescribed displacement.
Figure 4.6 Dimensions considered for the RVE
Table 4.2 Mechanical properties of the tested element
Material Properties
Brick Mortar
E (MPa) 16000 4000
0 0.2 0.18
k 10 10
α 1.0 1.0
β 1000 1000
i 0.0001 0.0001
c 0.00017 0.00018
c 0.5 0.5
83 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
-0.25 -0.25
The stress-strain behaviour of each constituent (Mortar and brick) under uniaxial tension and
compression loading, considering the mechanical properties in Table 4.2, are illustrated in
Figures 4.7 and 4.8.
Figure 4.7 Stress-strain behaviour of the RVE constituents (brick and mortar) under uniaxial
compression
Figure 4.8 Stress-strain behaviour of the RVE constituents (brick and mortar) under uniaxial
tension
84 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
From Figures 4.7 and 4.8 the strength of the tested brick in compression and tension are
considered to be 16.5 MPa and 1.7 MPa, respectively. The strength of mortar in tension and
compression have been considered 0.42 MPa and 4.4 MPa, respectively.
Next section delves into the numerical analysis of two RVEs with the two above mentioned
materials as their constituents.
4.5.2 Numerical Analysis of the RVEs
Typical discretisations used in the finite element computations of the RVEs are shown in
Figure 4.9; they consisted of 728 plane stress reduced integration eight noded elements.
Figure 4.9 Discretisation of individual RVEs
Each RVE was analysed under a displacement control uniaxial tension and compression,
parallel and perpendicular to bed joint and shear loading. Figures 4.10 to 4.12 illustrated the
loading configurations of RVE-1 under uniaxial tension perpendicular to bed joint, uniaxial
tension parallel to bed joint and pure shear. RVE-2 will be configured in the same manner.
85 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.10 Loading and boundary conditions of RVE-1 under uniaxial tension perpendicular
to bed joint
Figure 4.11 Loading and boundary conditions of RVE-1 under uniaxial tension parallel to
bed joint
Figure 4.12 Loading and boundary conditions of RVE-1 under pure shear
86 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Both RVEs are loaded according to the configurations illustrated in Figures 4.10 to 4.12 and
their stress-strain behaviour is demonstrated in Figures 4.13 to 4.17. The transient-gradient
parameters used in this analysis have been summarised in Table 4.3.
Table 4.3 Transient-gradient properties of the constituents
Transient-gradient Parameters
Brick Mortar
cl (mm) 5 5
n 1 1
0.001 0.001
The stress-strain behaviour of both RVEs under uniaxial compression perpendicular to bed
joint has been demonstrated in Figure 4.13. It can be seen that as expected both RVEs predict
very close behaviour for the masonry system. Figure 4.14, shows the results from a test with
uniaxial tension loading perpendicular to bed joint. Similarly to compression, both RVEs
predict similar results for tensile loading perpendicular to bed joint.
Figure 4.13 Stress-strain behaviour of both RVEs under uniaxial compression perpendicular
to bed joint
87 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.14 Stress-strain behaviour of both RVEs under uniaxial tension perpendicular to
bed joint
Figures 4.15 and 4.16 show the stress-strain behaviour of the RVEs for compression and
tension parallel to bed joint, respectively. Once again, both RVEs produce similar results.
Figure 4.15 Stress-strain behaviour of both RVEs under uniaxial compression parallel to bed
joint
88 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.16 Stress-strain behaviour of both RVEs under uniaxial tension parallel to bed joint
Figure 4.17 shows the stress-strain behaviour of the RVEs under pure shear. From the results
demonstrated in Figures 4.13 to 4.17, it can be noted that the effect of different RVE types to
the predicted response of the masonry is negligible and therefore, either RVE could be used –
it was decided to use the RVE-1 in Figure 4.9 in the future analysis in this thesis.
Figure 4.17 Stress-strain behaviour of both RVEs under pure shear
89 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
4.6 Parametric Study
In order to verify the performance of the present transient-gradient nonlocal model, the effect
of various nonlocal parameters to the overall response of the RVE (using RVE-1 based on
conclusion in subsection 4.5.2) was examined.
There are three nonlocal parameters (i.e. cl , n and ) that affect the behaviour of the
model. Influence of parameters n and , on the nonlocal model have been investigated by
Geers, et al.(1999) and Saroukhani, et al. (2013) previously and it was shown that these two
parameters have minimal effect on the performance of the RVE. Therefore, transient-gradient
evolution law (Equation 4.7) was used in its linear form for the purpose of sensitivity study in
this thesis. In this section, a parametric study on the influence of length scale parameter cl
subjected to compression both parallel and perpendicular to bed joint have been studied. The
parameters employed in this parametric study are summarised in Table 4.2 and 4.3.
4.6.1 Effect of the Non-Local Length Scale Parameter c
A parametric study is conducted in this section on the effect of nonlocal length scale
parameter c (𝑚𝑚2) on the stress-strain behaviour of the RVE under uniaxial compression
perpendicular to bed joints. 12 different length scales have been considered for Equation (4.7)
to show the influence of this parameter on the behaviour of the RVE.
Figure 4.18 Influence of different length scale parameters c (𝒎𝒎𝟐) on stress-strain
behaviour of the RVE under uniaxial compression perpendicular to bed joint
90 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
Figure 4.18 illustrates the effect of various length scales on the stress-strain behaviour of the
RVE under uniaxial compression perpendicular to bed joint. Comparison between the local
behaviour of the model and transient-gradient model with different length scales can be seen
in this Figure. A highly brittle response is obtained for the local model and the transient-
gradient model with length scale parameters less than 2.0 𝑚𝑚2 which is zoomed in and
illustrated in box 1 of Figure 4.18. By increasing the length scale parameter the response of
the model has improved gradually but the model is still localised at final stages as illustrated
in box 2 of Figure 4.18. Beyond the length scale parameter of 4.5 𝑚𝑚2 the influence of the
parameter is minimal and the localisation issue is resolved as shown in box 3 of Figure 4.18.
Figure 4.19 Strength of the RVE in terms of the nonlocal length scale parameter c
The length scale parameter controls the maximum width of the damage zone and localisation
zone in the RVE and its value must be in accordance with the physical nature of the material.
This parameter is commonly considered between 1.0 and 10.0 𝑚𝑚2 and should be selected
through calibration using experimental results. Figure 4.19 further supports the previous
argument by illustrating the dependence of the strength of the prism to the length scale
parameter for various length scales. The dashed line shows the tangential line in which the
predicted strengths are almost the same. In the rest of this study, the length scale parameter is
considered to be 5.0 𝑚𝑚2.
To further explain the effect of the length scale parameter on the behaviour of the RVE, stress
distribution on the interface of the two constituents for two different length scale parameters
is shown in Figures 4.20 and 4.21. Figure 4.20 shows the stress distribution of the RVE for
91 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
length scale parameter c = 1.0 and Figure 4.21 shows this distribution for length scale
parameter c = 5.0.
Figure 4.20 Stress distribution at interface between mortar and brick for c = 1.0
Figure 4.21 Stress distribution at interface between mortar and brick for c = 5.0
92 Enhancement of the CDM Model through Non-Local Transient-Gradient Method |
In these Figures stress distributions for three identical loading steps at the bed joint interface
have been plotted. The stress localisation issue is evident in Figure 4.20. As can be seen in
this Figure, in the third load step, when localisation occurs, the stress starts to jump at the
localised areas. By comparing Figure 4.20 to Figure 4.21, it can be observed that this issue
has been resolved and the stress has been continually distributed by the use of a larger length
scale parameter (c = 5.0).
4.7 Concluding Remarks
A transient-gradient enhanced model published recently by Saroukhani, et al. (2013) for
concrete has been adapted for masonry in this thesis. The adapted model is computationally
more efficient than the original model by Geers et al. (1998) because the enhanced model
eliminates the need for an extra set of degrees of freedom. The nonlocal parameter in the
adapted model has been calibrated specifically for masonry application and a length scale of
5.0 𝑚𝑚2 was found to be sufficient.
Two types of RVEs have been introduced and tested to check their sensitivity to the predicted
results of masonry response under uniaxial compression and tension both perpendicular and
parallel to the bed joint as well as in-plane shear. The implementation of the transient
gradient nonlocal method for homogenisation has been discussed. It has been found that the
effect of the geometry of RVE has had minimal effect to the overall stress-strain behaviour of
the masonry (represented by the RVE). Therefore all further analyses have been carried out
with one of the RVEs (RVE-1). A parametric study has been conducted on the effect of
length scale parameter and the effect of stress localisation on the stress-strain behaviour and
the failure of the RVE.
In the next chapter, application of this transient-gradient model to the uniaxial and biaxial
behaviour prediction of masonry is presented and the predicted uniaxial and biaxial results
are compared to an experimental dataset reported in the literature.
93 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
CHAPTER 5
Application of the Transient Enhanced RVE to
Brick Masonry under Biaxial Loading
5.1 Introduction
In chapters 3 and 4 the formulation of a continuum damage constitutive model and its
implementation into ABAQUS/ 6.11 standard FE package through subroutine MATLAB
program and scripting have been presented. In this chapter the damage model enhanced with
transient-gradient nonlocal approach is devoted to the analysis of the orthotropic response of
burnt clay brick masonry under uniaxial and biaxial loadings.
The structural behaviour of masonry is affected by the properties of its principal constituents,
i.e. units and mortar. The bond between the unit and the mortar also significantly affects the
masonry behaviour. Strength of masonry under different loadings is affected by the principal
stresses and their orientation to bed joint.
The behaviour of masonry systems, their strength and their failure mode varies depending on
the orientation of loading to the bed joint direction. Due to its anisotropic nature, strength
envelope and behaviour of masonry is significantly affected by this orientation.
Consequently, the biaxial failure envelope is described in terms of both principal stresses 𝜎1
and 𝜎2 and the orientation of the loading axes with respect to masonry bed joints 𝜃.
Based on the range of available products of unit and mortar, their shape and the type of
assemblage, different masonry systems are likely to exhibit strength envelopes of varied
shapes and sizes. In section 2.1.4 of the thesis available failure surfaces in the literature have
been reviewed. Obtaining failure envelopes through experimental work for each type of
masonry is significantly time consuming and expensive. Therefore, a damage constitutive
model was developed in this thesis to describe the constitutive behaviour of different types of
94 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
masonry and is presented in Chapters 7, 8 and 9. In the following sections the capability of
the model in representing a set of experimental data is reported.
5.2 Problem Definition
Only a few studies were performed to obtain the full experimental stress-strain and failure
envelope for masonry as summarised in section 2.2 of this thesis. In this chapter, numerical
simulation of a series of tests by Dhanasekar (1985) has been performed. Dhanasekar (1985)
carried out a series of biaxial compression-compression and tension-compression tests to
investigate the failure envelope and strength characteristics of masonry panels subjected to
in-plane monotonic loading. A total of 186 wallet tests were conducted under five different
loading orientations, i.e. 0°, 22.5°, 45°, 67.5° and 90°. The biaxial load-control experiments
were conducted using testing rig shown in Figure 5.1. A set of brush platens were used for
load transfer to the panel, in order to lessen the restraining effect of the loading caps and to
ensure uniform distribution of the principal stresses applied in the vertical and horizontal
directions. The specimens were fabricated with five different bed joint angles (0°, 22.5°, 45°,
67.5° and 90°) so that a comprehensive failure surface could be developed.
Figure 5.1 Dhanasekar’s biaxial load-control test setup (Dhanasekar, 1985)
95 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
The failure surface was presented in terms of the two normal stresses and the inplane shear
stresses in the bed joints. Average compressive strength of brick and mortar was reported as
15.41 MPa and 5.08 MPa, respectively. Average modulus of elasticity of bricks was reported
as 15,650 MPa. No data were available on mortar modulus of elasticity.
5.2.1 Tensile and Compressive Behaviour of Individual
Constituents (Brick and Mortar)
In order to better simulate the behaviour of the tested masonry experiment, we first have to
calibrate the behaviour of its individual constituents. The best way to calibrate our model for
both material (mortar and brick) is through their individual compressive and tensile stress-
strain behaviour. However, due to lack of this information, the tested parameters such as
Young’s modulus, Poisson’s ratio and compressive strength were considered exactly as that
of the experiment. All other properties were chosen based on the parametric studies
conducted in chapters 3 and 4, in a manner that the material shows a realistic behaviour. All
mechanical properties, used in this model for both the brick and the mortar are listed in Table
5.1.
These individual material properties have been produced through a two-dimensional finite
element test on a single eight noded element with size of unity shown in Figure 5.3. The same
procedure explained in section 3.4 is adopted here.
Figure 5.2 The 8-noded element used for the numerical analysis
96 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Table 5.1 Mechanical properties of the tested materials
Material Properties
Brick Mortar
E (MPa) 15650 4000
0 0.2 0.18
k 10 10
α 1.0 1.0
β 1000 1000
i 0.00009 0.00012
c 0.000162 0.00021
c 0.4 0.4
-0.25 -0.25
The stress-strain behaviour of mortar under uniaxial tension and compression loading, are
illustrated in Figures 5.3 and 5.4, respectively.
Figure 5.3 Stress-strain behaviour of mortar element under uniaxial tension
97 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Figure 5.4 Stress-strain behaviour of mortar element under uniaxial compression
The stress-strain behaviour of brick under uniaxial tension and compression loading for one
element, are illustrated in Figures 5.5 and 5.6, respectively.
Figure 5.5 Stress-strain behaviour of brick element under uniaxial tension
98 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Figure 5.6 Stress-strain behaviour of brick element under uniaxial compression
5.2.2 RVE Geometry, Discretisation and Loading Configuration
As was reported in section 4.5 of this thesis RVE-1 was selected for all further studies. The
RVE with its discretisation is shown in Figure 5.7. This RVE consists of 728 plane stress
reduced integration eight noded elements (CPS8R elements). Choice of these elements will
assist in the solution of the nonlocal boundary value problem as explained in section 4.5.
Figure 5.7 A typical discretisation of RVE
In order to simulate the experimental results on conventional masonry panels (half scale brick
dimensions of 55 mm width, 25 mm height and 115 mm length and mortar joint thickness of
5 mm) obtained by Dhanasekar (1985), a RVE with dimensions as shown in Figure 5.8 has
99 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
been considered. Note that a two-dimensional finite element analysis has been performed on
the RVE and the represented width only affected the thickness contributed to each element.
Figure 5.8 Typical dimensions of the modelled RVE
Table 5.1 illustrates parameters used in the analysis of the RVE. The panels were loaded
proportionally (that is, the ratio of the two principal stresses was kept unchanged throughout
the test) in the principal stress directions 1
and 2 along different orientations θ with
respect to the material axes. Figure 5.9 shows the loading configurations of the system.
Figure 5.9 Loading configuration of the panel
100 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
5.2.3 Stress-Strain Behaviour of the RVE under Different
Loading Configurations
In order to simulate the behaviour of the experiments conducted by Dhanasekar (1985), the
RVE is tested under a load control test. It was loaded incrementally based on the load ratio
considered for each test. Figure 5.10 illustrates the loading configuration and boundary
conditions used in this analysis. Stress-strain behaviour of the RVE under different biaxial
configurations has been produced using this procedure. The results are presented with the
experimental results from Dhanasekar (1985).
Table 5.2 Transient-gradient properties of RVE’s constituent
Transient-gradient Parameters
Brick Mortar
cl (mm) 5 5
n 1 1
0.0009 0.0012
Figure 5.10 Loading configuration and boundary conditions of the RVE
The RVE is loaded based on the configurations illustrated in Figure 5.9. When θ = 0°, 𝜎1 is
parallel to bed joint and when θ = 90°, 𝜎1 is perpendicular to bed joint. Load ratio is always
101 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
considered as 𝜎1/𝜎2. The transient-gradient parameters used in this analysis have been
summarised in Table 5.2.
Figure 5.11 Stress-Strain behaviour of the RVE under uniaxial compression parallel to bed
joint
Figure 5.11 shows the comparison of the stress-strain behaviour predicted by the model
against the experimental data for θ = 0° and 𝜎1/𝜎2 = ∞ which is the case of uniaxial
compression parallel to bed joint. Comparison between the model’s stress-strain prediction
and experimental data for θ = 0° under 𝜎1/𝜎2 = 1, 𝜎1/𝜎2 = 2 and 𝜎1/𝜎2 = 4 have been
illustrated in Figures 5.12, 5.13 and 5.14, respectively.
102 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Figure 5.12 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 1
Figure 5.13 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 2
103 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
In all of these stress-strain behaviours, an over-estimation of the stiffness of the masonry can
be observed. For these types of loadings the presented RVE seems to be incapable of
simulating the beginning stages of the masonry behaviour in a realistic manner. In other
words, the model developed was not a true representation of the masonry.
Figure 5.14 Stress-Strain behaviour of the RVE under biaxial compression with 0 and
1 2/ 4
Figure 5.15 illustrates the comparison of the stress-strain behaviour predicted by the model
against the experimental data for θ = 90° and 𝜎1/𝜎2 = ∞ which is the case of uniaxial
compression perpendicular to bed joint. Comparison between the model’s stress-strain
prediction and experimental data for θ = 0° under 𝜎1/𝜎2 = 2 and 𝜎1/𝜎2 = 4 are shown in
Figures 5.16 and 5.17, respectively.
104 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Figure 5.15 Stress-Strain behaviour of the RVE under uniaxial compression perpendicular to
bed joint
Figure 5.16 Stress-Strain behaviour of the RVE under biaxial compression with 90 and
1 2/ 2
105 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
Similar to the previous loading cases it can be observed that this RVE consistently over-
estimates the stiffness of masonry in the initial loading stages. The RVE seems to be
incapable of capturing the interfacial delamination between the two materials. The
assumption of perfect bond between mortar and brick that is inherent in the formulation of
the RVE could have contributed to this higher stiffness and poor stress-strain response
prediction. It is essential to allow for the damages at interfaces to realistically predict the
behaviour of masonry and to get better match with the experimental stress-strain curves.
Figure 5.17 Stress-Strain behaviour of the RVE under biaxial compression with 90 and
1 2/ 4
5.3 Observations
The numerical analysis of the model illustrated that work is needed for further development
of the RVE. Although the model is able to predict fairly good failure strengths compared to
the experiments, the RVE failed to capture the interface failure of the two materials as
experimentally observed. It also did not predict the stress-strain responses of masonry
appropriately and its prediction is much stiffer than the experimental predictions and hence
far from satisfactory. This issue requires consideration and improvement to the assumption of
perfect bond between the unit and the mortar implied in the formulation of the RVE. This
assumption appears to be too restrictive for the RVE considered here.
106 Application of the Transient Enhanced RVE to Brick Masonry under Biaxial Loading |
5.4 Concluding Remarks
The constitutive model developed in chapters 3 and 4 of the thesis and implemented in a RVE
has been used to simulate the experimental data from Dhanasekar (1985). The RVE was
analysed under different uniaxial and biaxial loading states. It has been observed that
assumption of a perfect bond between the two constituents of the RVE i.e. mortar and brick is
too restrictive and has made the current RVE over-stiff and failed to capture delamination
mode of failure of the interfaces between units and mortar.
In the ensuing chapter, an innovative method of allowing for interfacial damages will be
introduced to resolve the issue with the current RVE.
107 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
CHAPTER 6
Enrichment of the RVE with Interfacial
Transition Zone (ITZ)
6.1 Introduction
In chapter 5 application of the continuum damage constitutive model formulated in chapters 3
and 4 was demonstrated for a series of compression-compression tests. The damage
constitutive model represented both the mortar and the unit. The ability of the model to
predict the stress-strain behaviour and strength of traditional clay brick masonry tests was
examined through a two-phase RVE consisting of brick and mortar with a perfect bond along
their interfaces in Chapter 5. The result has shown that the assumption of a perfect bond
between the two constituents is too restrictive leading to stiffer formulation and
unconservative prediction of strength and stiffness of the masonry. The formulated RVE
therefore has required further development in order to capture delamination of the interfaces.
In this chapter, an innovative method is introduced to resolve the stiffer formulation issue of
the RVE without highly nonlinear options of contact stick-slip modelling between the units
and the mortar layers. For this purpose, concept of an interfacial transition zone (ITZ),
otherwise known as interphase modelling in concretes (Garboczi & Bentz, 1997; Li, et al.,
1999; Nadeau, 2003; Stroeven, et al., 2004; Hatami-Marbini & Shodja, 2008; Mihai &
Jefferson, 2011; Xu & Chen, 2013) has been introduced to implicitly represent damages at
the interfaces of the two constituents. This chapter presents the re-formulation of the RVE
incorporating the ITZ concept. A parametric study of the key parameters of the ITZ model is
also presented. Finally, application of the reformulated RVE to some real experimental
datasets is shown to predict the results appropriately and conservatively. It is concluded the
reformulated RVE enriched with ITZ is capable of predicting the behaviour of masonry under
complex states of stress.
108 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
6.2 Interfacial Transition Zone (ITZ) Concept
The inspiration for the concept of Interfacial Transition Zone (ITZ) in this work has been
derived from the successful implementation of layered interphase model usage to simulate
interface damages in composites including concretes in the literature (Ramesh, et al., 1996;
Garboczi & Bentz, 1997; Lutz, et al., 1997; Yang, 1998; Garboczi & Berryman, 2001;
Stroeven, et al., 2004; Duan, et al., 2007; Hirschberger, et al., 2009; Nguyen, et al., 2010;
Klusemann & Svendsen, 2012). This method has been extensively used throughout the
literature for concrete (Li, et al., 1999; Nadeau, 2003; Zheng, et al., 2012; Xiao, et al., 2013;
Zhou, et al., 2014), cementitious materials (Mihai & Jefferson, 2011; Duplan, et al., 2014),
fiber-reinforced composites (Sevostianov, et al., 2012) and other quasi-brittle materials
(Garboczi & Berryman, 2001; Hatami-Marbini & Shodja, 2008; Xu & Chen, 2013). In all the
above literatures, the interphase was considered as a transitional layer between the aggregate
inclusions and the cement matrix as shown in Figure 6.1 or nano-particles within the RVE in
a micro- or nano-scale. In this thesis, motivated by this idea of the transition zone, we
introduce an Interfacial Transition Zone (ITZ) between the mortar and the unit in meso-scale
(RVE). It should be noted that the origin of appearance of the ITZ is different than the
classical concept in concrete (difference in water content close to aggregates) and only the
mechanical consequences of a weak transition zone are modelled here. Utilising this concept
eliminates the need for introduction of an interface element/ nonlinear contact concept
between the two constituents which would add to the complexity of the model. In the
following sections, the RVE formulated in Chapter 4 is reformulated enriched with ITZ and
applied to the masonry under complex stress states.
Figure 6.1 Representation of the Interfacial Transition Zone (ITZ) for concrete
109 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
6.2.1 Enrichment of the RVE with an Interfacial Transition
Zone (ITZ)
The concept of ITZ enriched in an RVE is shown in Figure 6.2. It can be seen in this figure
that a transitional layer has been introduced to the RVE between the two constituents i.e.
mortar and unit. These set of new layers will have different mechanical properties than that of
the mortar and the unit.
Figure 6.2 Representation of the masonry RVE utilised with a 5-layered Interfacial
Transition Zone (ITZ)
110 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Here it is assumed that the ITZ commences from the edge of the unit and progresses through
the thickness of mortar across the whole width (not shown in the figure) of the mortar. Where
weak units are used (e.g., unburnt mud bricks), the ITZ layers could also be assumed to
progress into the unit. The mechanical properties and stiffness of this layer gradually
changes, from the weakest (highly damaged state) at the interface between the mortar and
unit towards the strongest (undamaged state) at the point of connection to the mortar layer.
The maximum strength of this layer will be equal to the strength of mortar. In Figure 6.2 a 5-
layer Interfacial Transition Zone (ITZ) is shown for simple illustration.
The RVE is utilised with the Interfacial Transition Zone (ITZ) model in order for it to be able
to capture the inelastic sliding at the interface of the two materials. The capability of the
model to accurately predict the stress-strain behaviour of some real experiments have been
examined and reported in the following sections of this chapter.
6.2.2 Elastic Properties of the Layers of the Interfacial
Transition Zone (ITZ)
The stiffness of each layer of the Interfacial Transition Zone (ITZ) is different to each other
and that of the undamaged mortar (the ITZ layers are enriched within mortar layer only in
this formulation). The elastic properties of each layer of the ITZ vary, based on the type and
strength of the two materials that create the bond and the thickness of the layer. Numerous
interface effects, such as friction and delamination further complicate the prediction of these
properties. Depending on the materials considered and the thickness and the number of layers
in the ITZ, different authors have considered different formulations for the elastic properties
of this zone in concretes (Garboczi & Berryman, 2001; Duan, et al., 2007; Mihai & Jefferson,
2011; Klusemann & Svendsen, 2012; Grondin & Matallah, 2014). Here we introduce a power
law for the initial Young’s modulus of each layer of the ITZ as in Equation (6.1).
0
(2 1)(t ) 2( ) ( )
2Ej ITZ ITZ
M
j
n T NTE n E
Nt
(6.1)
In which n is the number of the specific layer from the interface between the two materials
(edge of the unit in this case) and N is the total number of layers within the ITZ. 0( )E n is
the initial Young’s modulus of that specific layer. ME is the Young’s modulus of the mortar
111 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
layer. The thickness of the mortar joint and the thickness of the total ITZ have been
represented by jt and
ITZT , respectively. E is a parameters controlling the stiffness
degradation. The Poisson’s ratio of each layer of the Interfacial Transition Zone (ITZ) has
been defined in the same manner as follows
0
(2 1)(t ) 2( ) ( )
2
j ITZ ITZ
M
j
n T NTn
Nt
(6.2)
In which 0( )n is the initial Poisson’s ratio of the n
th layer of the ITZ.
M is the Poisson’s
ratio of the mortar layer and is a parameters controlling the decrease of Poisson’s ratio.
For a better description of some of these parameters the reader can refer to Figure 6.3.
Figure 6.3 Representation of the masonry RVE thicknesses with an n-layered Interfacial
Transition Zone (ITZ)
6.3 Parametric Study
With a view to verifying the performance of the present RVE, enhanced with ITZ, the effect
of the transition stiffness parameters on the overall response of the system has been
examined. This examination is through an analysis of the RVE with the same geometry as the
one studied in section 4.6 of this thesis. The influences of thickness of the ITZ and the
number of layers have been considered in this parametric study.
112 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
The mechanical properties used in this analysis for brick and mortar elements are summarised
in Table 6.1. Transient-gradient properties of the mortar and the brick are also shown in
Table 6.2. This simple parametric study illustrates the response of the ITZ enhanced RVE for
the uniaxial compression tests. The mechanical properties of each layer within the ITZ are
shown separately for each test.
Table 6.1 Properties of the constituent materials
Material Properties
Unit Mortar
E (MPa) 15650 4000
0 0.2 0.18
k 10 10
α 1.0 1.0
β 1000 1000
i 0.000009 0.000012
c 0.000162 0.00021
c 0.4 0.4
-0.25 -0.25
Table 6.2 Transient-gradient properties of RVE’s constituent
Transient-gradient Parameters
Unit Mortar
cl (mm) 5 5
n 1 1
0.00009 0.00012
The dimensions of the RVE are 240 mm length (L), 60 mm height (H) and 110 mm width
(W). Two-dimensional finite element analysis was carried out using reduced integration eight
113 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
noded plane stress elements (CPS8R ABAQUS documentation (2011)) to discretise the entire
RVE. The finite element discretisation of the RVE is illustrated in Figure 6.4.
Figure 6.4 Finite Element discretisation of the RVE
6.3.1 Effect of Thickness of the Interfacial Transition Zone
(ITZ)
In this section, the influence of the thickness of the Interfacial Transition Zone (ITZ) to the
stress-strain behaviour of the masonry is examined. For this purpose, five ITZ thicknesses
were considered. The thickness of each layer within the ITZ was kept constant (equal to 0.25
mm). The parameters of the ITZ for each test are presented in Table 6.3. A linear initial
Young’s modulus transition and a constant initial Poisson’s ratio have been considered for
this part of the study.
114 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Table 6.3 The Interfacial Transition Zone parameters for each test
Interfacial Transition Zone (ITZ) parameters
Test # ITZT (mm)
jt (mm) N E
1 1.25 2.5 5 1.0 0.0
2 1.0 2.5 4 1.0 0.0
3 0.75 2.5 3 1.0 0.0
4 0.5 2.5 2 1.0 0.0
5 0.25 2.5 1 1.0 0.0
Table 6.4 Young’s modulus and Poisson’s ratio of each individual layer
Mechanical Properties
Test # ME (MPa)
0(1)E
(MPa) 0(2)E
(MPa) 0(3)E
(MPa) 0(4)E
(MPa) 0(5)E
(MPa) M
0( )n
1 4000 2200 2600 3000 3400 3800 0.18 0.18
2 4000 1900 2500 3100 3700 0.18 0.18
3 4000 1667 2600 3533 0.18 0.18
4 4000 1600 3200 0.18 0.18
5 4000 1760 0.18 0.18
The change in material properties of the ITZ layers for each test is presented in Table 6.4.
The material properties of the undamaged mortar and brick are kept the same as per original
analysis (see Table 5.1). Figure 6.5 illustrates the influence of the ITZ thickness to the stress-
strain behaviour of the masonry under uniaxial compression perpendicular to bed joint. It can
be observed that with the increase in the thickness of the ITZ, the response of masonry has
softened, which is consistent to the logical expectation.
Figure 6.6 shows the effect of ITZ thickness on the stress-strain behaviour of the masonry
under uniaxial compression parallel to bed joint. Five thicknesses of ITZ have been tested
and similar observations can be seen on the effect of ITZ thickness for the case of
compression perpendicular to bed joint shown in Figure 6.5. Again, lower the thickness of the
ITZ, higher the stiffness and larger the strength of masonry. Thickness of ITZ larger than
115 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
1.5mm has no significant effect on the deformation and strength characteristics of masonry
for both cases of uniaxial compression parallel and perpendicular to bed joint.
Figure 6.5 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
compression perpendicular to bed joint
Figure 6.6 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
compression parallel to bed joint
116 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Influence of thickness of the ITZ layer on the stress-strain behaviour of the RVE under
tensile loading perpendicular and parallel to bed joints is illustrated in Figures 6.7 and 6.8,
respectively.
Figure 6.7 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
tension perpendicular to bed joint
Figure 6.8 Influence of ITZ thickness on stress-strain behaviour of the RVE under uniaxial
tension parallel to bed joint
117 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.9 shows the stress strain behaviour of the RVE under pure shear loading for different
ITZ thicknesses.
Figure 6.9 Influence of ITZ thickness on stress-strain behaviour of the RVE under pure shear
loading
Similarly to uniaxial compression cases, in uniaxial tension and shear case, lower the
thickness of the ITZ, higher the stiffness and failure strength of masonry. Quite similar
response can also be observed in these loading cases for ITZ thicknesses between 0.75 to
1.25 mm, which shows a damage layer thickness of more than 0.75mm (15% thickness of the
mortar layer) does not affect the behaviour of masonry. From the parametric study conducted
on the ITZ thickness, it can be concluded that a thickness between 0.75 to 1.25 mm is
desirable for the ITZ.
6.3.2 Effect of the Interfacial Transition Zone (ITZ) Parameter
𝝀𝑬
Influence of the ITZ parameter 𝜆𝐸 (varied from 0.5 to 4.0) to the behaviour of masonry is
investigated by assuming all other parameters constant as shown in Table 6.5 and keeping the
118 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
thickness of the RVE as 1.25 mm (5 layers in the ITZ). A constant initial Poisson’s ratio is
considered for this part of the study.
The change in material properties of the ITZ layers for each test is as shown in Table 6.6.
Figure 6.10 illustrates the influence of the ITZ parameter E on the stress-strain behaviour of
the RVE under uniaxial compression perpendicular to bed joint for five different values.
Table 6.5 The Interfacial Transition Zone parameters for each test
Interfacial Transition Zone (ITZ) parameters
Test # ITZT (mm)
jt (mm) N E
1 1.25 2.5 5 0.5 0.0
2 1.25 2.5 5 1.0 0.0
3 1.25 2.5 5 2.0 0.0
4 1.25 2.5 5 3.0 0.0
5 1.25 2.5 5 4.0 0.0
Figure 6.10 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial compression perpendicular to bed joint
119 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.11 shows the effect of ITZ parameter E on stress-strain behaviour of the model
under uniaxial compression parallel to bed joint for five different values. It can be observed
in these figures that the higher the value of E , the weaker the RVE will become. As can be
seen in Tables 6.5 and 6.6, the higher the ITZ parameter E , the bigger the range of stiffness
change within the ITZ.
Table 6.6 Young’s modulus and Poisson’s ratio of each individual layer
Mechanical Properties
Test # ME (MPa)
0(1)E
(MPa) 0(2)E
(MPa) 0(3)E
(MPa) 0(4)E
(MPa) 0(5)E
(MPa) M
0( )n
1 4000 2966 3225 3464 3688 3899 0.18 0.18
2 4000 2200 2600 3000 3400 3800 0.18 0.18
3 4000 1210 1690 2250 2890 3610 0.18 0.18
4 4000 665 1098 1687 2456 3429 0.18 0.18
5 4000 366 714 1266 2088 3258 0.18 0.18
Figure 6.11 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial compression parallel to bed joint
120 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Influence of the ITZ parameter E on the stress-strain behaviour of the RVE under tensile
loading perpendicular and parallel to bed joints is illustrated in Figures 6.12 and 6.13,
respectively.
Figure 6.12 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial tension perpendicular to bed joint
Figure 6.13 Influence of ITZ parameter E on stress-strain behaviour of masonry under
uniaxial tension parallel to bed joint
121 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.14 shows the stress strain behaviour of the RVE under pure shear loading for
different ITZ parameters E .
Figure 6.14 Influence of ITZ parameter E on stress-strain behaviour of masonry under pure
shear loading
Similar observations can be made from Figures 6.10 to 6.14. As the parameter E increase,
the range of stiffness change within the ITZ increases and the overall stiffness of the RVE
decreases.
In the next section, the proposed Interfacial Transition Zone (ITZ) enhanced RVE is validated
for a number of uniaxial experimental datasets available in the literature for conventional
masonry. In the first part of this section, the prediction of the proposed ITZ enhanced RVE is
compared with the results of the RVE studied in chapter 5 of the thesis.
122 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
6.4 Validation of the Interfacial Transition Zone (ITZ) Enriched
CDM Model
The predictions of the ITZ enriched CDM model has been validated using several
experimental datasets reported in the literature and presented in this section. The superiority
of the ITZ enhanced RVE over the basic RVE formulated in Chapter 4 is also shown in this
section. Only the uniaxial test datasets were considered for simplicity; biaxial test cases are
reported in Chapter 7 for conventional masonry.
6.4.1 Validation of Uniaxial Tests Conducted by Dhanasekar
(1985)
In order to simulate the compressive test results on solid brick conventional masonry (half
scale brick dimensions of 55 mm width, 25 mm height and 115 mm length and mortar joint
thickness of 5 mm) obtained by Dhanasekar (1985), a RVE with dimensions as shown in
Figure 6.15 has been considered. The finite element discretisation of the RVE has been
shown in Figure 6.4. The material properties used for mortar and brick can be found in Table
6.1. The transient-gradient properties of brick and mortar can be found in Table 6.2. The
initial Poisson’s ratio for all layers has been considered to be 0.18. Table 6.7 illustrates the
mechanical properties of each individual ITZ layer.
Table 6.7 Young’s modulus and Poisson’s ratio of each ITZ layer
Mechanical Properties
0(1)E
(MPa) 0(2)E
(MPa) 0(3)E
(MPa) 0(4)E
(MPa) 0(5)E
(MPa) 0( )n
2200 2600 3000 3400 3800 0.18
Within the RVE a 1.25 mm ITZ has been considered as shown in Figure 6.15. Each ITZ layer
has a thickness of 0.25 mm and the ITZ parameter is considered to be 0.5E .
123 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.15 Dimensions of the modelled RVE and its ITZ for experiments conducted by
Dhanasekar (1985)
The stress-strain behaviour of the RVE presented in Chapter 4 and the new ITZ enriched
RVE are compared with the uniaxial experimental results from Dhanasekar (1985) in this
section. Figure 6.16 shows the predicted stress-strain behaviour by the two RVEs and the
experimental datasets for θ = 0° and 𝜎1/𝜎2 = ∞ which is the case of uniaxial compression
parallel to bed joint. Figure 6.17 presents the stress-strain behaviour predicted by the two
RVEs and the experimental datasets for θ = 90° and 𝜎1/𝜎2 = ∞ (uniaxial compression
perpendicular to bed joint). Globally good agreement is found for the model and experimental
data. The model slightly under-estimates the strength obtained by the experiment, however,
comparing to the previous RVE, it favourably predicts the overall stress-strain behaviour of
the masonry panels under uniaxial compression.
124 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.16 Comparison of the stress-strain behaviour of the RVE under uniaxial
compression parallel to bed joint
Figure 6.17 Comparison of the stress-strain behaviour of the RVEs under uniaxial
compression perpendicular to bed joint
125 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
The stress-strain behaviour of both RVEs compared with experimental results under uniaxial
tension parallel and perpendicular to bed joints is presented in Figures 6.18 and 6.19,
respectively.
Figure 6.18 Comparison of the stress-strain behaviour of the RVE under uniaxial tension
parallel to bed joint
Figure 6.19 Comparison of the stress-strain behaviour of the RVEs under uniaxial tension
perpendicular to bed joint
126 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
It can be observed from the above mentioned tests that enriching the RVE with an ITZ
enhances its stress-strain performance. The over-estimation of stiffness for the initial stages
of the loading process has been resolved with this method. However, it should be noted that a
slight under-estimation of the final strength of the RVE can be seen in all cases, which is
desirable for computational models as the predictions are conservative and can be used in
design.
6.4.2 Validation of Uniaxial Compression Tests Conducted by
Barbosa & Hanai (2009)
Barbosa & Hanai (2009) conducted a series of uniaxial compression tests on hollow block
prisms with four different unit strengths. The dimensions of the tested blocks are shown in
Figure 6.20.
Figure 6.20 Hollow concrete block with dimensions from Barbosa & Hanai (2009) and
Barbosa, et al. (2010)
127 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.21 Idealised dimensions of the modelled RVE
Table 6.8 Material properties of the tested constituents
Mechanical Properties
Prism Material E(MPa) ν 𝑓𝑐(MPa) 𝑓𝑡(𝑀𝑃𝑎)
P1 Mortar 9745 0.127 9.4 1.1
Concrete 20595 0.203 22.8 2.2
P2 Mortar 8121 0.134 7.7 0.9
Concrete 17449 0.195 18.6 1.7
P3 Mortar 13195 0.151 15.5 1.8
Concrete 22175 0.204 24.9 2.4
P4 Mortar 16672 0.153 22.2 2.6
Concrete 27104 0.207 36.2 3.1
Barbosa, et al. (2010) has presented the experimental results for four different block
strengths. The behaviour of the prisms has also been numerically simulated using a
micromodelling strategy with plane-strain (PE), plane-stress (PS) and three-dimensional (3D)
elements. In order to simulate the compressive test results (block dimensions of 140 mm
128 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
width, 190 mm height and 390 mm length and mortar joint thickness of 10 mm) a RVE with
idealised dimensions as shown in Figure 6.21 has been considered. Table 6.8 summarises the
tested elastic properties of mortar and concrete, considered for each test. The mechanical
properties used in the constitutive model for each test has been summarised in Tables 6.9-12.
Table 6.9 Mechanical properties of the tested prism 1 (P1)
Material Properties
Block Mortar
E (MPa) 20595 9745
0 0.203 0.127
k 10 9
α 1.0 1.0
β 1000 1000
i 0.00011 0.00011
c 0.00017 0.000165
c 0.4 0.4
-0.25 -0.25
Table 6.10 Mechanical properties of the tested prism 2 (P2)
Material Properties
Block Mortar
E (MPa) 17449 8121
0 0.195 0.134
k 11 9
α 1.0 1.0
β 1000 1000
i 0.00011 0.00011
c 0.000155 0.000165
c 0.4 0.4
-0.25 -0.25
129 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
An Interfacial Transition Zone (ITZ) with 5 layers is considered with 2.5 mm thickness as
shown in Figure 6.22. Each ITZ layer has a thickness of 0.5 mm and the ITZ parameter is
considered to be 0.5E .
Table 6.11 Mechanical properties of the tested prism 3 (P3)
Material Properties
Block Mortar
E (MPa) 22175 13195
0 0.204 0.151
k 10 9
α 1.0 1.0
β 1000 1000
i 0.00011 0.00011
c 0.00017 0.000165
c 0.4 0.4
-0.25 -0.25
Table 6.12 Mechanical properties of the tested prism 4 (P4)
Material Properties
Block Mortar
E (MPa) 27104 16672
0 0.207 0.153
k 12 10
α 1.0 1.0
β 1000 1000
i 0.00011 0.00011
c 0.00017 0.00025
c 0.4 0.4
-0.25 -0.25
130 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.22 Dimensions of the modelled RVE and its ITZ for experiments conducted by
Barbosa & Hanai (2009)
The finite element discretisation of the RVE has been shown in Figure 6.23. The stress-strain
behaviour of masonry under uniaxial compression perpendicular to bed joints is compared
with the experimental data an numerical analysis produced by Barbosa, et al. (2010) shown in
Figures 6.24 to 6.27. Globally good agreement is found for the model and experimental data.
The model slightly under-estimates the strength obtained by the experiment in tests P1 and P2
and over-estimates the strength for test P4. This might be due to the slight difference between
the actual block dimensions and the RVE’s dimensions. The model favourably predicts the
overall stress-strain behaviour of the masonry prisms under uniaxial compression.
131 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.23 Finite Element discretisation of the RVE
Figure 6.24 Comparison of the stress-strain behaviour for test P1 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)
132 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
Figure 6.25 Comparison of the stress-strain behaviour for test P2 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)
Figure 6.26 Comparison of the stress-strain behaviour for test P3 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)
It should also be observed that the trials of Barbosa, et al. (2010) using Plane Strain (PE in
Figures 6.24 to 6.27) and Plane Stress (PS in Figures 6.24 to 6.27) have predicted the
experimental data poorly. Barbosa, et al. (2010) has subsequently concluded that a 3D FE
model is essential for the predicted stress-strain responses. In contrast, in this thesis a 2D
RVE is shown to effectively predict the behaviour of masonry close to the 3D FE model
133 Enrichment of the RVE with Interfacial Transition Zone (ITZ) |
predictions. The computational superiority of the RVE introduced in the thesis is thus
evident.
Figure 6.27 Comparison of the stress-strain behaviour for test P4 of the ITZ enhanced RVE
against the experimental data and numerical analysis by Barbosa, et al. (2010)
6.5 Concluding Remarks
In this chapter, an innovative method was introduced to resolve the issue with the simple
RVE used in chapter 5 while keeping the assumption of the perfect bond between the
constituents. An Interfacial Transition Zone (ITZ) was introduced between the two
constituents i.e. mortar and unit. A RVE was developed considering this concept and a
parametric study has been conducted on the key parameters influencing the response of the
RVE. Finally, the ITZ enhanced RVE was validated by simulating the stress-strain behaviour
of some real experimental datasets. It has been found that the transient-gradient constitutive
model, utilized with an ITZ enhanced RVE can predict the uniaxial behaviour of
conventional masonry in a sound manner.
A comparative analysis of experimental and finite element analysis presented by Barbosa, et
al. (2010) has established the computational efficiency of the 2D RVE developed in this
thesis as predictions are shown comparable to the 3D FE results by Barbosa, et al. (2010).
In the next chapter, the application of the model will be investigated through simulation of
biaxial behaviour of experimental data.
134 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
CHAPTER 7
Application of the ITZ Enriched CDM Model
– 1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses
7.1 Introduction
In chapter 6 an interface transition zone (ITZ) enriched continuum damage mechanics (CDM)
model based transient-gradient nonlocal constitutive characteristics was presented and its
capability to predict the behaviour of masonry systems under uniaxial stress state was
demonstrated through comparison with several experimental datasets presented in the
literature. The comparison was quite good and hence the ITZ enriched CDM model was
regarded as validated. Through a sensitivity analysis, an ideal thickness of the ITZ was
determined as 1.25mm. In this section, the ability of the present model to predict the biaxial
failure envelope of conventional masonry is presented; failure envelope of dry stack masonry
is attended to in the ensuing chapter.
7.2 Problem Definition
From a phenomenological perspective, masonry is an anisotropic composite material in spite
of its constituents can be regarded isotropic. This anisotropy is mainly due to the geometrical
arrangements of units and mortar. Considering the anisotropy of masonry, the failure
envelope cannot be shown in terms of principal stresses only. For the in-plane stress state
which is the case of this study, the failure envelope should be represented in terms of all
stress components x , y and xy (plane stress). Here, we consider x to be the bed joints
135 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
direction and y to be the head joints direction. The failure envelope can also be represented in
terms of the principal stresses and an angle θ which is the angle between the material axes
and the principal axes which is shown in Figure 7.1.
Figure 7.1 Representation of material and principal axes in masonry
Only a few studies were performed to obtain the full experimental stress-strain and failure
envelope for masonry. These studies have been reviewed in section 2.2 of this thesis. This
Chapter presents an investigation of the numerical application of the proposed model to some
experimental biaxial tests on masonry. The ability of the present constitutive model to predict
the failure envelope of different conventional masonry under in-plane loading is
demonstrated through a comparison with available experimental data. Here, the peak of the
average stress-strain response of the RVE is considered to be the point of failure.
7.3 Masonry RVEs, their Dimensions and Properties
In this chapter, the performance of the transient-gradient constitutive model using an RVE
enhanced with an Interfacial Transition Zone (ITZ), for prediction of biaxial failure envelop
of masonry is examined for two sets of experimental date. The biaxial tension-compression
and compression-compression tests done by Dhanasekar (1985) on solid brick conventional
masonry, and uniaxial compression tests done by Barbosa & Hanai (2009) on hollow block
136 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
conventional masonry. To this end, two RVEs with the following dimensions and properties
were considered. Both RVEs are enhanced with a 5-layer ITZ.
7.3.1 RVE Considered to Simulate Biaxial Tests by Dhanasekar
(1985)
In order to simulate the biaxial tests on solid brick conventional masonry (brick dimensions
of 55 mm width, 25 mm height and 115 mm length and mortar joint thickness of 5 mm)
carried out by Dhanasekar (1985), a RVE of dimensions 120 mm long (L), 30 mm high (H)
and 55 mm wide (W), shown in Figure 7.2 was considered. The finite element discretisation
of the RVE is shown in Figure 7.3.
The material properties used for mortar and brick are reported in Table 6.1. The transient-
gradient properties of brick and mortar are contained in Table 6.2. The initial Poisson’s ratio
for all layers was taken as 0.18.
Within the RVE a 1.25 mm Interfacial Transition Zone (ITZ) was considered as shown in
Figure 7.2. Each ITZ layer had a thickness of 0.25 mm and the ITZ parameter considered was
0.5E . The mechanical properties of each ITZ layer are shown in Table 7.1.
Table 7.1 Young’s modulus and Poisson’s ratio of each ITZ layer
Mechanical Properties
0(1)E
(MPa) 0(2)E
(MPa) 0(3)E
(MPa) 0(4)E
(MPa) 0(5)E
(MPa) 0( )n
2200 2600 3000 3400 3800 0.18
137 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.2 Typical dimensions of the modelled RVE and its ITZ
Figure 7.3 Finite Element discretisation of the RVE
138 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
7.3.2 RVE for the Simulation of Biaxial Tests on Hollow
Concrete Masonry
Barbosa & Hanai (2009) conducted a series of uniaxial compression tests on hollow block
conventional masonry prisms of gross dimensions of 140 mm wide, 190 mm high and 390
mm long as shown in Figure 7.4. The mortar joint thickness was 10 mm.
Barbosa, et al. (2010) has presented the experimental results for four different block
strengths. In order to simulate these test results on hollow block conventional masonry the
dimensions of the RVE were set as 400 mm long (L), 200 mm high (H) and 140 mm wide
(W) as shown in Figure 7.5.
Figure 7.4 Typical dimensions considered for the tested blocks
Table 7.2 shows their transient-gradient properties of mortar and concrete for each prism test
and Table 6.8 summarises their elastic properties. The mechanical properties used in the
constitutive model for each test has been summarised in Tables 6.9, 6.10, 6.11 and 6.12
respectively for the four types of concrete blocks and mortar.
139 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.5 Typical dimensions of the modelled RVE and its ITZ
Table 7.2 Transient-gradient properties of RVE’s constituent
Transient-gradient Parameters
Block Mortar
cl (mm) 5 5
n 1 1
0.0009 0.0012
7.4 Numerical Modelling of Biaxial Testings
In this section, the procedure of analysis using the RVEs (for clay brick and concrete
masonry) are provided under different loading configurations i.e. uniaxial tension, uniaxial
compression, biaxial tension- compression and biaxial compression-compression.
140 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.6 Loading configuration and boundary conditions of the RVE
Totally 22 combinations of stress states were simulated using the proposed model for bed
joint angles of 0°, 22.5° , 45°, 67.5° and 90° to principal stresses for each RVE. Table 7.3
illustrates the loading combinations which are applied to the RVE according to Figure 7.1 for
each bed joint orientation angle. Values shown in this table are the ratio between normal and
parallel loads for each load case.
Figure 7.7 Loading configuration and boundary conditions of the RVE for 6 load cases
considering θ = 90°
141 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Mohr circle is used to obtain 𝜎𝑥𝑥, 𝜎𝑦𝑦 and 𝜎𝑥𝑦 for all loading combinations, according to
Table 7.3. Using Equations 7.1, 7.2 and 7.3, the loading configuration for each test can be
calculated. The RVE is loaded for each case according to Figure 7.6 and using its obtained
𝜎𝑛, 𝜎𝑝 and 𝜏.
1 2 1 2 cos 22 2
xx
(7.1)
1 2 1 2 cos 22 2
yy
(7.2)
1 2 sin 22
xy
(7.3)
Table 7.3 Load factors for each load case
Load Case 1 2 3 4 5 6 7 8 9 10 11
1 2/ ∞ 0 ∞ 0 +1 +0.5 +0.25 +0.125 +0.083 +2 +4
Load Case 12 13 14 15 16 17 18 19 20 21 22
1 2/ +8 +12 -4 -2 -1 -0.25 -0.5 -1 +1 +0.5 +2
7.4.1 Simulation of clay brick masonry Experimental tests
The RVE illustrated in Figures 7.2 and 7.3 was loaded incrementally based on the load ratio
considered for each test. Stress-strain behaviour of the RVE under different biaxial
configurations has been produced using this procedure. The results have been compared with
the experimental results in Dhanasekar (1985). The RVE is loaded based on the
configurations illustrated in Figure 7.6. Ratio between 1 and 2 principle stresses are
illustrated in Table 7.5 and will be applied to the RVE based on their orientation to the bed
joint according to Figure 7.1.
142 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
7.4.1.1 Bed Joint Angles of 𝜽 = 𝟎° and 𝜽 = 𝟗𝟎°(Zero-shear
state)
According to Equations 7.1 to 7.3 and Figures 7.1 and 7.7, when θ = 0°, 1xx , 2yy
and 0xy . Similarly, when θ = 90°, 2xx , 1yy and 0xy . In order to better
understand how the loading procedure is done, the RVE, its prescribed boundary conditions
and its loading configurations for six different loading cases considering θ = 90° are shown
in Figure 7.7. Loading cases 1 to 6 from Table 7.3 are shown in this Figure.
Figures D-1 to D-22 show all 22 loading combinations. In these Figure F is the load
magnitude on a specific load increment. Width, height and length of the RVE are equal to 55,
30 and 120 mm, respectively. Since the load ratio is important in setting up the RVEs, all load
magnitudes have been divided by the larger load.
Here, the uniaxial compression, biaxial compression-compression, uniaxial tension and
biaxial tension-compression cases were analysed to get the masonry failure envelope of bed
joint angles of 0° and 90°. When θ = 0°, 𝜎1 is parallel to bed joint and when θ = 90°, 𝜎1 is
perpendicular to bed joint. Load ratio is always considered as 𝜎1/𝜎2. The RVE was loaded
according to Table 7.5 and Table F-1 of Appendix F and as demonstrated in Appendix D. The
ultimate failure capacity for all stress states are summarised in Table E-1 of Appendix E.
Figures 7.8 and 7.9 illustrate the RVE’s predicted failure envelopes against the available
experimental results in terms of principle stresses for bed joint orientations of 0° and 90°,
respectively. These values are taken from Table F-1 of Appendix F.
143 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.8 Failure envelope of the RVE in terms of principle stresses for bed joint angle 0°
The failure envelop of bed joint angle 90° were taken from bed joint angle 0° and plotted to
reverse principle stress axis due to symmetry, see Figure 7.9. It can be seen that in these
loading configurations shear stresses will not be produced (zero shear state).
Generally, good agreement is found between the model and experiments. The model has
slightly under-estimated the strength of masonry in biaxial compression-compression. Figures
7.8 and 7.9 show that the strength of masonry increases in biaxial compression-compression
states by nearly 50% from the original strength in uniaxial compression.
144 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.9 Failure envelope of the RVE in terms of principle stresses for bed joint angle 90°
7.4.1.2 Bed Joint Angles of 𝜽 = 𝟐𝟐. 𝟓° and 𝜽 = 𝟔𝟕. 𝟓°
The 22 combinations are obtained considering load cases in Table 7.3 and using Equations
7.1 to 7.3. These load combinations are shown in Table 7.3 and were simulated using the
proposed model for bed joint angles of 22.5° and 67.5°. The ultimate failure capacity for all
cases analysed is summarised in Table E-2 of Appendix E. Figures 7.10 and 7.11 illustrate
the RVE’s predicted failure envelopes against the available experimental results in terms of
principle stresses for bed joint orientations of 22.5° and 67.5°, respectively. These values are
taken from Table F-2 of Appendix F.
145 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.10 Failure envelope of the RVE in terms of principle stresses for bed joint angle
22.5°
Figure 7.11 Failure envelope of the RVE in terms of principle stresses for bed joint angle
67.5°
Figure 7.12 shows failure envelope of masonry in the normal-shear stress plane and Figure
7.13 shows the failure envelope in parallel-shear stress plane. The model has reproduced the
146 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
failure envelope for solid brick masonry for loading with bed joint angles of 22.5° and 67.5°,
with good accuracy.
Figure 7.12 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint n for bed joint angles of 22.5° and 67.5°
Figure 7.13 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint p for bed joint angles of 22.5° and 67.5°
147 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
7.4.1.3 Bed Joint Angle of 𝜽 = 𝟒𝟓
The 22 combinations of stress states were simulated using the proposed model for bed joint
angle of 45°. The RVE was loaded according to Table F-3 of Appendix F. Figure 7.14
illustrates the RVE’s predicted failure envelope against the available experimental results in
terms of principle stresses for bed joint orientation of 45°.
Figure 7.14 Failure envelope of the RVE in terms of principle stresses for bed joint angle 45°
Figure 7.15 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint n for bed joint angle of 45°
148 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.16 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint p for bed joint angle of 45°
The failure envelopes of masonry with bed joint angle of 45° in normal-shear stress plane and
parallel-shear stress plane are illustrated in Figures 7.15 and 7.16, respectively. The ultimate
failure capacity for all analysed stress states is shown in Table E-3 of Appendix E. It can be
seen that the model has predicted the failure envelope for solid brick masonry for loading
with bed joint angle of 45° with fairly good accuracy.
7.4.1.4 Failure Envelope
In order to develop the full failure envelope of masonry, projection of failure envelopes of
Figures 7.9 to 7.12 and 7.15 in the normal-parallel stress plane for bed joint orientations of
0°, 22.5°, 45°, 67.5° and 90° is plotted in Figure 7.17. The Failure stress of all previously
mentioned cases has been plotted against the experimental results by Dhanasekar (1985) for
normal-shear stress plane and parallel-shear stress plane in Figures 7.18 and 7.19,
respectively. Good agreement can be observed between the model’s numerical predictions
and the experimental datasets with slight under-estimation of strength which is desirable for
design purposes.
149 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.17 Failure envelope of the RVE in terms of principle stresses for bed joint angles
0°, 22.5°, 45°, 67.5° and 90°
Figure 7.18 Failure envelope of the RVE in terms of shear stress τ and stress normal to bed
joint n for bed joint angles of 0°, 22.5°, 45°, 67.5° and 90°
150 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.19 Failure envelope of the RVE in terms of shear stress τ and stress parallel to bed
joint p for bed joint angle of 0°, 22.5°, 45°, 67.5° and 90°
Figure 7.20 3-D failure envelope of the RVE in terms of shear stress τ, stress normal to bed
joint n and stress parallel to bed joint p
151 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
In order to get a better understanding of the behaviour of the model and develop the full
three-dimensional failure envelope of masonry 330 load cases were analysed. These cases
were constructed by adding 10% of the normal load to shear load in each of the 22 load
combinations shown in Table 7.3. Load factors for all load sets have been shown in Tables F-
4 to F-18 of Appendix F.
Figure 7.21 Failure envelope of the RVE in the normal-parallel stress plane
The 3D failure envelop of masonry was obtained using these 330 cases as shown in Figure
7.20. Projection of the 3-D failure envelope on the normal-parallel stress plane is shown in
Figure 7.21. Two ellipsoids were fitted to these 330 data using the minimum volume
enclosing ellipsoid based on Khachiyan Algorithm (Todd and Yildirim, 2005). One was fitted
to cases with the summation of the normal and parallel stresses less than -1 and one was fitted
to the rest of the cases. The fitted ellipsoid is in the form of
( ) ' ( ) 1x c A x c (7.4)
152 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.22 shows the fitted ellipsoid along with the failure points for cases with the
summation of the normal and parallel stresses less than -1. The centre of this ellipsoid is
4.02
3.63
0
c
and matrix
0.0315 -0.0031 0.0000
-0.0031 0.0336 0.0001
0.0000 0.0001 0.2357
A
.
Figure 7.22 Fitted ellipsoid and its corresponding failure cases for cases with the summation
of the normal and parallel stresses less than -1
Similarly, Figure 7.23 shows the fitted ellipsoid along with numerical failure points for the
rest of the loading cases. For this ellipsoid, the centre is
4.02
3.63
0
c
and matrix
0.0315 -0.0031 0.0000
-0.0031 0.0336 0.0001
0.0000 0.0001 0.2357
A
.
153 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.23 Fitted ellipsoid and its corresponding failure cases for cases with the summation
of the normal and parallel stresses more than -1
7.4.1.5 Prediction of Modes of Failure
Failure patterns are an important feature of numerical models which needs to be investigated.
Here, the damage progression in the ITZ and the failure mode of five cases (Uniaxial
compression normal and parallel to bed joint, uniaxial tension normal and parallel to bed joint
and biaxial compression-compression) have been investigated and compared to failure modes
presented in Dhanasekar (1985). In all these figures light grey shade represents higher
damage.
154 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.24 Failure mode and damage progression in the ITZ layers for uniaxial compression
parallel to bed joint in the initial loading stages
First masonry under uniaxial loading parallel to bed joint is considered. Figures 7.24 and 7.25
show damage progression at six different elevations of the RVE for two loading steps (one in
the beginning loading stages and one in later stages). It can be observed in both Figures that
damage levels are highest at the first layer of the ITZ from the interface (Y=25.5 mm).
Damage parameter decrease as the layer gets further away from the interface and is the
smallest at the outer edge of the RVE (Y=30 mm).
155 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.25 Failure mode and damage progression in the ITZ layers for uniaxial compression
parallel to bed joint in the later loading stages
As can be seen in the above mentioned Figures, failure in case of uniaxial compression
parallel to bed joints is occurring in the bed joints. This observation is in agreement with the
failure pattern presented in Dhanasekar (1985) and shown in Figure 2.2.
Similarly, for the case of compression normal to bed joint, damage progression for two load
steps at six layers from the interface are shown in Figures 7.26 and 7.27. It can also be seen
156 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
here that damage parameter is the largest at the first ITZ layer from the interface (X=115.5
mm) and decrease as we approach the outer edge of the RVE (X=120 mm).
Figure 7.26 Failure mode and damage progression in the ITZ layers for uniaxial compression
normal to bed joint in the initial loading stages
It can be observed from these two figures that in case of uniaxial compression normal to bed
joints, failure is occurring in the head joints. This observation is partially in line with the
failure mode presented by Dhanasekar (1985), see Figure 2.2. In these experiments failure
occurs with vertical cracking of the units and head joints.
157 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.27 Failure mode and damage progression in the ITZ layers for uniaxial compression
normal to bed joint in the later loading stages
Figures 7.28 and 7.29 demonstrate damage progression and failure mode for uniaxial tension
parallel and normal to bed joints at the later loading stages, respectively. From Figure 7.28, it
can be seen that failure occurs in the head joints by starting from the closest ITZ layer to the
interface. This failure mode complies with the failure mode reported by Dhanasekar (1985)
and shown in Figure 2.3.
158 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.28 Failure mode and damage progression in the ITZ layers for uniaxial tension
parallel to bed joint in the later loading stages
Figure 7.30 shows failure mode and damage progression for the uniaxial tension loading
normal to bed joints in later loading stages. It can be observed here that similar to Dhanasekar
(1985) failure is happening in the bed joints, see Figure 2.3. The damage parameter is the
biggest at the layer closest to the interface (Y=25.5 mm) and decreases as we go closer to the
external edge of the RVE (Y=30 mm).
The case of biaxial compression-compression loading is considered in Figure 7.30. As can be
observed in this Figure, in case of biaxial compression loading, damage progresses in both
bed and head joints and also within the masonry brick, this process continues until final
failure happens. It was reported in Dhanasekar (1985) that failure in biaxial compression
cases occurs by splitting of the specimen in a plane parallel to the free surface as shown in
Figure 2.6. Since the model considered here is a 2D model it cannot predict the splitting of
159 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
the specimen, however, damage progression in the manner explained previously implies the
same failure mode. Basically, damage progresses in both brick and mortar until the whole
RVE loses its integrity.
Figure 7.29 Failure mode and damage progression in the ITZ layers for uniaxial tension
normal to bed joint in the later loading stages
Finally, the case of tension-compression loading with bed joint orientation of 45º is shown in
Figure 7.31. As can be seen in this Figure in this case which is close to the case of pure shear,
failure is occurring in a stair way manner, which is in line with Dhanasekar (1985)
predictions, see Figure 2.5.
160 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.30 Failure mode and damage progression in the ITZ layers for biaxial compression-
compression (bed joint angle of 0°) in the later loading stages
161 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.31 Failure mode and damage progression in the ITZ layers for biaxial compression-
tension (bed joint angle of 45°) in the later loading stages
The capability of the ITZ enriched RVE for the predictions of the modes of failure of
masonry panels subjected to biaxial loading provides further confidence in the failure
surfaces presented in sections 7.4.1.4. The model is therefore further extended for the
analysis of other types of masonry with confidence in the subsequent sections of this chapter.
162 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
7.4.2 Simulation of Concrete Block Masonry Biaxial
Experiments by Barbosa, et al. (2010)
The RVE shown in Figures 7.5 was loaded incrementally based on the load ratio considered
for each test. The boundary condition and loading scenario are as shown in section 7.4.
Stress-strain behaviour of the RVE under different biaxial configurations has been produced
using this procedure. The uniaxial compression tests have been calibrated in section 6.5.2 for
experimental results by Barbosa, et al. (2010). The RVE is loaded based on the
configurations illustrated in Figure 7.1. The 1 and 2 principle stresses are also illustrated
in Figure 7.1.
7.4.2.1 Analysing Case 1 (P1)
The material properties used in the RVE for the first case have been shown in Table 6.9. The
RVE was loaded for 22 load combinations (zero-shear) according to Table 7.3. The predicted
failure envelope is illustrated in Figure 7.32. The ultimate failure capacity for all analysed
stress states is shown in Table D-4 of Appendix D.
Figure 7.32 Failure envelope of the RVE in terms of principle stresses in zero-shear (P1)
163 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
7.4.2.2 Analysing Case 2 (P2)
For the second case, the material properties of the constituents i.e. concrete and mortar are
shown in Table 6.10 and the RVE is loaded according to Table 7.3 for cases of zero-shear
stress. The ultimate failure capacity for all analysed stress states can be seen in Table D-5 of
Appendix D and the predicted failure envelope is illustrated in Figure 7.33.
Figure 7.33 Failure envelope of the RVE in terms of principle stresses in zero-shear (P2)
7.4.2.3 Analysing Case 3 (P3)
Similarly, 22 combinations of stress states shown in Table 7.3 were simulated using the
proposed model for the third case (P3). The ultimate failure capacity for all analysed stress
states is summarised in Table D-6 of Appendix D. Figure 7.34 illustrates the RVE’s predicted
failure envelope.
164 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.34 Failure envelope of the RVE in terms of principle stresses in zero-shear (P3)
7.4.2.4 Analysing Case 4 (P4)
Finally, the fourth test was analysed for the same load combinations shown in Table 7.3 and
the failure envelope of this set of analysis can be seen in Figure 7.35. The ultimate failure
capacity for all analysed stress states can be found in Table D-7 of Appendix D.
165 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Figure 7.35 Failure envelope of the RVE in terms of principle stresses in zero-shear state
(P4)
7.4.3 Comparison of Failure Envelopes for Conventional
Masonry
In this section, using the results reported in sections 7.4.1 and 7.4.2, a comparative study of
the biaxial failure of various masonry systems was carried out by dimensionlising the biaxial
failure envelopes. Figure 7.36 shows the projection of strength of the previously investigated
biaxial tests in the n
-p
principal stress space. Stresses in both orientations for all loading
cases have been divided by the unit characteristic strength to non-dimensionalise the ultimate
strength. The mean strength of the units from each test is reported in Table 7.4.
166 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
Table 7.4 Characteristic strength of units in different experiments
Mechanical Properties
Experiment Characteristic Strength (MPa)
Dhanasekar, et al. (1985) 15.41
Barbosa, et al. (2010) P1 22.8
Barbosa, et al. (2010) P2 18.6
Barbosa, et al. (2010) P3 24.9
Barbosa, et al. (2010) P4 36.2
Figure 7.36 Comparison of the failure envelopes of conventional masonry with different
strength and geometry
7.5 Concluding Remarks
In this chapter, the application of the transient-gradient CDM model with enriched ITZ to
predicting the biaxial failure surfaces and modes of failures of the conventional masonry has
been presented. Two experimental tests reported in the literature (one for clay brick masonry
167 Application of the ITZ Enriched CDM Model-1: Constitutive Properties of Conventional
Masonry under Biaxial Stresses |
and the other for the concrete block masonry) have been chosen for this purpose. The
dimensions of the RVEs were idealised to represent the dimension of the units and mortar
layer as close as possible. All forms of biaxial loading conditions such as biaxial
compression-compression, tension-compression, uniaxial tension and uniaxial compression
cases were analysed and reported. The variation of damage in the layers of the ITZ was used
as an illustration of the mode of failure and was compared to the experimental mode of
failure. The modes of failure and the biaxial failure envelope predicted by the model were
found to be in very good agreement with the experimental results. . In a non-dimensional
stress space, the failure envelope of the concrete block masonry has exhibited higher
compressive strength than that of the clay brick masonry in the direction of parallel to the bed
joint.
In the next chapter, the model will be further developed to enable simulation of the behaviour
of dry-stacked (or, mortarless) masonry systems and used for the prediction of biaxial failure
envelopes of dry-stacked masonry.
168 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
CHAPTER 8
Application of the ITZ Enriched CDM Model
– II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses
8.1 Introduction
Masonry is labour intensive; this has two consequences – variability in the properties of the bonded
assemblage and higher labour cost. With a view to finding novel solutions to the spiralling costs of
masonry buildings, dry-stack systems have been introduced by the industry with specially shaped
interlockable blocks for ease of construction.
In the past decades much research about the behaviour of solid and hollow conventional masonry
using different homogenisation techniques has been carried out but there is only limited information
available for dry-stack masonry; further, the available information is limited to only the uniaxial
behaviour. Thus, it is important to develop biaxial failure surfaces for dry-stack masonry to enable
computational modelling. In this chapter examination of the dry-stack hollow concrete masonry
behaviour using a modified ITZ enriched CDM model introduced in chapter 6 to implicitly account
for the interacting dry interfaces (in the absence of mortar layers) is presented. The model has been
validated with the limited available uniaxial experimental datasets in the literature and then used to
predict biaxial failure of the dry-stack masonry.
8.2 Dry-Stack Masonry
Mortared block masonry is labour intensive and workmanship is a determining factor in various
operation involved. Mortar joints have relatively weak bond strength. As labour is expensive,
masonry is losing its market share to other new generation products, e.g., tilt-up concrete walls/ glass
panel systems. With a view to reversing this trend, the masonry industry is developing several
169 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
innovative products in recent times; one such is interlockable dry-stack systems that could be
constructed with minimal skilled mason time and hence can be cheaper.
The behaviour of the dry-stack systems is significantly affected by the behaviour of the mortarless dry
joint. Hence, modelling the behaviour of these joints is crucial in predicting the behaviour of these
systems (Gasser, et al., 2004; Thanoon, et al., 2008; Andreev, et al., 2012). Imperfect initial contact
and its closure require careful attention in the modelling dry-stack masonry. Unfortunately, there is
little information on this phenomena and its simulation. Thus, it is important to introduce a
computational method for modelling dry-stack masonry joints and their effect on overall behaviour of
the system.
In this chapter, in order to simulate joint closure and its effect on overall performance of dry-stack
masonry, the previously introduced ITZ enriched CDM model is further developed to implicitly
account for the damage of the interacting dry interfaces.
8.3 Constitutive Modelling of Dry-Stack Masonry
In dry-stack masonry, due to absence of mortar, blocks are not fully connected in the initial
loading stages and some gaps exist in the joints, see Figure 8.1. When loading progresses,
these gaps commence closing up, a phenomenon defined as ‘joint closure’ and is observed by
Oh (1994), Gasser, et al. (2004), Thanoon, et al. (2008), Nguyen, et al. (2009) and Andreev,
et al. (2012). Qualitative stress-strain behaviour of dry-stack masonry until joint closure is in
effect is shown in Figure 8.2 (a).
Figure 8.1 Representation of a dry joint in dry-stack masonry
170 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.2 Qualitative stress-strain and damage evolution of dry-stack masonry due to joint
closure
In order to simulate this part of the stress-strain behaviour, the damage evolution law requires
modification in a way that the stiffness of the material first increases (due to crack closure)
and a better contact between the two neighbouring block is eventually achieved. A qualitative
damage evolution curve, representing this increase in stiffness is shown in Figure 8.2 (b).
The dashed line represents damage evolution considering no joint closure (for mortared
masonry, for example) and the solid line shows damage evolution considering the joint
closure phenomenon. In case of dry-stack masonry, when loading initiates, the gap between
the two blocks acts like the material has been cracked and lost some of its area. This results in
the damage evolution starting from a non-zero state as can be seen in Figure 8.2 (b). After
loading initiates, due to the joint closure effect, the gap between the two blocks reduces and
the material acts as if it is gaining contact area and the damage parameter decreases, see
Figure 8.2 (b). After the joint is fully closed (where the solid line and the dashed line
intersect), the material continues its behaviour in the same path that a material without joint
closure was acting. In this section joint closure due to initial joint imperfections is introduced
as a form of an enhanced damage evolution law, see Figure 8.2(c).
With the increase in loading, it is conceptualised that the contact area increases due to
smoothening of the rough surfaces – or, the ‘damage’ decreases - as narrated in Figure 8.2
(b). In spite of the reduction in damage from the initial damage, the body continues to gain
energy until a conforming contact is established between the two bodies, where the damage is
conceptualised to have fully ‘healed’. With further ongoing increase in loading, damage re-
initiates due to exceedance of energy stored in usual manner. Therefore, although damage
curve shows non-monotonic appearance in the damage-strain plane (Figure 8.2 (b)), the
energy only increases monotonically and gets released in the usual way. Therefore the
assumption does not violate the fundamentals of the second law of thermodynamics.
171 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
8.3.1 Formulation of Damage Evolution Law for Dry-Stack
Joint
This model incorporates all parameters used in Chapter 3 which have been explained in
sections 3.3 and 3.6. Here there are three new parameters introduced to the model i.e. jc , 0I
and jS , in which
jc is the strain at which the joint is fully closed by establishing full contact
between the two block surfaces . Beyond this strain, the joint will act same as the block.
The initial imperfection parameter 0I is always 00 1I . The higher the
0I , the lower the
contact between the two neighbouring blocks. When 0I is equal to zero, the two
neighbouring blocks are in full contact. On the other hand, when 0I is equal to unity the
surfaces of the two blocks are at an infinitesimal gap analogues to full damage state. Damage
slope parameter jS controls the rate of damage evolution in the joint closure part of
damaging process.
Damage evolution law is defined in the form of
1
2
0 1
1
1 1 0
0
0 ( )
(
ii
j jc
cjc
c c c
e if I
S I if I and
if I and
1
) ( ) 0 c c c
cif I and
(8.1)
If jc c and in the form of
1
1
2
0 1
1 1 0
0 ( )
0
( )
ii
cc
c c c
j c
c
e if I
if I and
S I if I and
1
( ) 0 c c
jcif I and
(8.2)
If jc c . Parameter μ is determined as follows
172 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
0
2
0
2 2
( ( ) )
( ) ( )
( )
j jccjc c
c jc c c jc jc
jc c c c j jc
jc jc
jc jc jc
I Sif
I Sif
(8.3)
In these equations , and are material parameters. c and c are the level of damage
and the magnitude of strain, measured at a point of a uniaxial compression test, respectively.
Parameter is defined in the form of
2
2
2c c c c c
c c
(8.4)
Effects of each of these parameters on the damage evolution and stress-strain behaviour of
the material are shown in a parametric study done on Section 8.4 of this chapter. The non-
local effects are considered in the same manner as the previous chapters.
8.3.2 Implementation
The constitutive model described in Sections 3.1-3.3 and 8.3.1 was implemented into
ABAQUS/ Standard 6.11 through a MATLAB program. Implementation of the constitutive
law presented in section 8.3.1 is explained through an algorithm presented in Table 8.1.
Similar procedure as the one explained in section 4.4 has been used here. PYTHON,
MATLAB and FORTRAN codes used in this procedure can be found in Appendices A, B
and C, respectively.
Table 8.1 Algorithm for the implementation of the dry-surface damage model
1. Retrieve the displacement increment of an integration point n from the ABAQUS
output database
nu
2. Compute the strain increment and update the strain
nn n-1ε ε +=
173 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
3. Impose
1n nκ κ
1n nυ = υ
4. Compute the current equivalent strain
2
2
1 1 22 2
1 11 12
2 1 2 2 1 2 1n
k k kε I I J
k υ k υ υ
5. Check damage criterion
, n n
f ε κ ε κ 0
If Yes: No damage, Go to Step10.
If No: Damage, proceed to 6.
6. Compute the damage variable n .
If jc c
1
2
0 1
1
1 1 0
0
0 ( )
(
ii
j jc
n cjc
c c c
e if I
S I if I and
if I and
1
) ( ) 0 c c c
cif I and
If jc c
1
1
2
0 1
1 1 0
0 ( )
0
( )
ii
cc
c c c
j c
c
e if I
if I and
S I if I and
1
( ) 0 c c
jcif I and
7. Compute the volumetric damage variable ( )K n .
( ) 1 (1 )K n n
8. Compute the current Poisson’s ratio
1
01 (1 2 )(1 )
2
nn
174 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
9. Update the damage threshold
n nκ ε
10. Update the stress
1 n ij ijkl klσ ω C ε
11. Return to ABAQUS for further load/ displacement increment
8.4 Parametric Study
In order to verify the performance of the dry-surface damage model the effect of different
material parameters to the overall response of the system has been examined. This
examination is carried out through a set of analyses using an eight noded two-dimensional
isoparametric finite element, see Figure 8.3. The influence of different parameters to the
uniaxial compression behaviour of dry-stack masonry has been studied. This simple
parametric study illustrates the response of the improved model at a point level.
Effects of the following key parameters to the compressive behaviour of the model
are discussed here.
Full contact strain jc
Initial imperfection parameter 0I
The damage slope parameter jS
The parameters employed in this parametric study are summarised in Table 8.2.
Figure 8.3 Eight-noded plane stress element used in the analysis (CPS8R)
175 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Table 8.2 Mechanical properties of the tested element
Material Properties
E (MPa) 20000
0 0.2
k 10
α 1.0
β 1000
i 0.00005
c 0.00016
c 0.5
-0.25
jc 0.00015
0I 0.8
jS -1000
8.4.1 Effect of the Full Contact Strain 𝒌𝒋𝒄
Parameter jc controls the strain at which the joint is fully closed. From this strain onwards,
the damage evolution law and behaviour of the material will follow the same path as that of
the material without initial damage explained in Chapters 3 and 4. Influence of employing
different constants for parameter jc , on the evolution of damage with respect to strain is
illustrated in Figure 8.4. The stress-strain behaviour of the material, considering five
constants for jc , are also shown in Figure 8.5. For all cases, 0I is kept as 0.8.
176 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.4 Influence of different values of the full contact strain parameter jc on damage
evolution in uniaxial compression
Figure 8.5 Influence of different values of the full contact strain parameter on stress-strain
behaviour under uniaxial compression
177 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
8.4.2 Effect of Initial Imperfection Parameter 𝑰𝟎
The initial imperfection parameter 0I should fall with the limit of 00 1I . The higher the
value of 0I , the lower the contact between the two contacting dry surfaces. When 0I is equal
to zero, the two neighbouring blocks are in full contact from the beginning of loading
procedure (no initial damage) and there exist a perfect contact between them. On the other
hand, when 0I is equal to unity the two blocks surfaces have no initial contact.
Figure 8.6 shows the effect of the initial imperfection parameter 0I to the damage evolution
of the material against uniaxial compression strain. Influence of this parameter to the stress-
strain behaviour of the material using the present model is also illustrated in Figure 8.7.
Figure 8.6 Influence of different values of the initial imperfection parameter 0I on damage
evolution in uniaxial compression
178 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.7 Influence of different values of the initial imperfection parameter 0I on stress-
strain behaviour under uniaxial compression
8.4.3 Effect of Damage Slope Parameter 𝑺𝒋
Damage slope parameter jS controls the rate of damage evolution in the joint closure part of
damaging process. This parameter is always 0jS and as can be seen in Figures 8.8 and 8.9
the smaller its value, the faster the rate of reaching full contact of neighbouring blocks.
179 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.8 Influence of different values of the damage slope parameter jS on damage
evolution in uniaxial compression
Figure 8.9 Influence of different values of the damage slope parameter jS on stress-strain
behaviour under uniaxial compression
180 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.8 shows the effect of damage slope parameter jS , on the damage evolution of the
material under uniaxial compression. Stress-strain behaviour of the material under the same
stress state for different values of jS is also illustrated in Figure 8.9.
8.5 Numerical Validation of the Model
There are only few studies in the literature on the behaviour of dry-stack masonry. An
investigation of the failure mechanism of interlocking dry-stack masonry systems was
conducted by Oh (1994). Ferozkhan (2005) did experiments on a dry-stack system to
investigate its behaviour under out-of-plane bending. There is also some research available
on the compressive behaviour of these systems (Thanoon, et al., 2008; Andreev, et al., 2012).
Gasser, et al. (2004) did an investigation on the modelling of the effects of joints to the
behaviour of refractory linings and Nguyen, et al. (2009) did biaxial tests on refractory
linings and simulated the behaviour using a homogenisation method.
8.5.1 Simulation of Experimental Tests Conducted by Oh (1994)
In this section, the model presented in Section 8.4 is validated with the experimental work
reported by Oh (1994). Two types of blocks were used in this set of experiments. Figure 8.10
shows the dimensions of a H-block used by Oh (1994) and complete details of all
measurements are contained in Oh (1994).
Two experiments were conducted on blocks with the dimensions (in mm) shown in Figure
8.10. First experiment was performed using the H-blocks. The second experiment was
conducted by using improved prisms in which all the visible gaps on the surface of the blocks
have been eliminated (using an advanced moulding procedure). We refer to these prisms as
the modified H-block. The dimensions of the conventional hollow block measured (in mm)
by Oh (1994) can also be seen in Figure 8.11. Average compressive strength of the H-block
and the conventional hollow block were reported as 32.88 MPa and 13.09 MPa, respectively.
181 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.10 Measured dimensions of the H-block presented by Oh (1994)
Figure 8.11 Measured dimensions of the conventional hollow block presented by Oh (1994)
182 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
8.5.2 Masonry Unit Properties
In order to better simulate the behaviour of the masonry, calibration of the compressive and
tensile stress-strain behaviour of its individual constituents is essential. However, due to lack
of these information, only the compressive strength was considered exactly as that of the
experiment. All other properties were chosen based on the parametric studies conducted in
section 8.4 and are listed in Table 8.3. The properties used for the fictitious joint of the
conventional hollow block, the H-block and the modified H-block are listed in Table 8.4.
Table 8.3 Properties of the H-block and conventional block
Material Properties
H-Block Conventional
E (MPa) 21000 10000
0 0.2 0.2
k 10 10
α 1.0 1.0
β 1000 1000
i 0.00005 0.00005
c 0.00023 0.0002
c 0.4 0.4
-0.25 -0.25
Table 8.4 Properties of interface layers
Interface Properties
H-Block Modified H-Block Conventional Hollow Block
jc 0.0002 0.0002 0.00018
0I 0.9 0.5 0.9
jS -1000 -1000 -1000
183 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
The original geometry of the H and the conventional blocks were idealised for computational
efficiency. The idealised geometry of the H and the conventional blocks are shown in
Figures 8.12 and 8.13 respectively. The Figures also include their respective RVEs.
Figure 8.12 Idealised dimensions of the H-block and modified H-block and their RVE
184 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
The dimensions of the idealised H-block used in the analysis are shown in Figure 8.12. As
can be observed in this Figure a fictitious joint of 2 mm thickness is considered in the RVE. It
should be noted that the dimensions of the modified H-block was kept unchanged to the
original H block. Figure 8.13 illustrates the idealised dimensions of the conventional hollow
block
Figure 8.13 Idealised dimensions of the conventional hollow block and its RVE
185 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
The RVE was constructed based on these measurements and considering a 2 mm fictitious
joint around the block. It should be noted that the fictitious joint in both RVEs have the same
material properties as the block with the exception of joint closure properties.
Figure 8.14 Stress-strain behaviour of H-block under uniaxial compression
Figure 8.15 Stress-strain behaviour of conventional hollow block under uniaxial compression
The stress-strain behaviour of the H-block and conventional hollow block under uniaxial
compression loading considering mechanical parameters shown in Table 8.3 are graphically
illustrated in Figures 8.14 and 8.15, respectively.
186 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
The stress-strain behaviour for the fictitious joint of the H-block and the modified H-block
are graphically illustrated in Figure 8.16. The stress-strain behaviour of the conventional
hollow block under uniaxial compression loading is also shown in Figure 8.17.
Figure 8.16 Stress-strain behaviour of the fictitious joint of H-block under uniaxial
compression
Figure 8.17 Stress-strain behaviour of the fictitious joint of conventional hollow block under
uniaxial compression
187 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
8.5.3 Analysis of the RVEs for Uniaxial Compression Test
The stress-strain behaviour of the prisms using the present model has been illustrated in
Figures 8.18 to 8.20.
Figure 8.18 Stress-strain behaviour of conventional hollow block under uniaxial compression
Figure 8.18 illustrates the stress-strain behaviour predicted by the model for the conventional
hollow block under compressive loading along with its experimental data (C-1 to C-4).
Figure 8.19 Stress-strain behaviour of the H-block under uniaxial compression
188 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.20 Stress-strain behaviour of the modified H-block under uniaxial compression
Figures 8.19 and 8.20 compare the results obtained in the experiment (H-1 to H-3) with the
present model’s prediction under axial compressive loading for the H-block and modified H-
block, respectively. The only difference in the simulation of these two tests is the joint
closure parameters which were previously presented.
As can be seen in the previous figures, the model is showing good agreement with the
experimental data for uniaxial compression.
8.6 Prediction of Biaxial Failure Envelope for Dry-Stack Masonry
Using the properties presented in Tables 8.2 to 8.4,the biaxial failure envelopes of dry stack
masonry made from these blocks (H and conventional) were evaluated. These predicted
failure envelopes, although cannot be independently validated due to lack of experimental
evidences, based on the validation of the predicted failure surfaces in Chapter 7 and the
uniaxial behaviour in this chapter, the biaxial failure surface of the dry stack masonry
predicted can be regarded as rational.
Twenty two combinations of stress states were simulated using the proposed model for the
zero-shear stress states, see Table 8.5. The uniaxial compression, biaxial compression-
189 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
compression, uniaxial tension and biaxial tension-compression cases were analysed to get the
masonry failure envelopes. Table 8.5 illustrates the loading combinations which are applied
to the RVE according to Figure 8.21 for each bed joint orientation angle. Values shown in
this table are the ratio between normal and parallel loads for each load case.
Mohr circle is used to obtain 𝜎𝑥𝑥, 𝜎𝑦𝑦 and 𝜎𝑥𝑦 for all loading combination, according to
Table 8.5. Using Equations 7.1, 7.2 and 7.3 (Mohr equations), the loading configuration for
each test can be calculated. The RVE is loaded for each case according to Figure 8.22 and
using its obtained 𝜎𝑛, 𝜎𝑝 and 𝜏. All twenty two load cases with their boundary conditions are
shown in Figures E-1 to E-22 of Appendix E.
Figure 8.21 Representation of material and principal axes in masonry
Figure 8.22 Loading configuration and boundary conditions of the RVE
190 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Table 8.5 Load factors for each load case
Load Case 1 2 3 4 5 6 7 8 9 10 11
1 -1 0 +1 0 -1 -1 -1 -1 -1 -2 -4
2 0 -1 0 +1 -1 -2 -4 -8 -12 -1 -1
1 2/ ∞ 0 ∞ 0 +1 +0.5 +0.25 +0.125 +0.083 +2 +4
Load Case 12 13 14 15 16 17 18 19 20 21 22
1 -8 -12 -4 -2 -1 +1 +1 +1 +1 +1 +2
2 -1 -1 +1 +1 +1 -4 -2 -1 +1 +2 +1
1 2/ +8 +12 -4 -2 -1 -0.25 -0.5 -1 +1 +0.5 +2
8.6.1 Prediction of Biaxial Failure Envelope for the H-Block
The RVE shown in Figure 8.12 was simulated under the 22 load combinations of zero shear
stress state (Table 8.5) using the proposed model. The ultimate failure capacity for all
analysed stress states is summarised in Table D-9 of Appendix D. Figure 8.23 illustrates the
RVE’s predicted failure envelope for the H-block.
Figure 8.23 Failure envelope of the H-block in terms of principal stresses
191 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
8.6.2 Prediction of Biaxial Failure Envelope for Modified H-
Block
The same loading procedure explained in Section 8.6 has been followed for the simulation of
biaxial failure envelope of the modified H-block. Same dimensions have been considered for
the modified H-block and the H-block, see Figure 8.12. Similarly, 22 combinations of zero
shear stress states were simulated using the proposed model. The ultimate failure capacity for
all analysed stress states is summarised in Table D-10 of Appendix D and the predicted
failure envelope has been plotted in Figure 8.24. H -blocks typically show lower strengths
due to absence of end webs. 13 MPa masonry strength for a 32 MPa unit strength is
considerably low and is attributed to the low stiffness of the units (Figure 8.14). The biaxial
case generally exhibits higher strengths than the uniaxial case.
Figure 8.24 Failure envelope of the modified H-block in terms of principal stresses
8.6.3 Prediction of Biaxial Failure Envelope for the
Conventional Hollow Block
The RVE shown in Figure 8.13 was loaded incrementally based on the load ratio considered
for each test. Stress-strain behaviour of the masonry under different biaxial configurations
has been produced using this procedure. The RVE is loaded based on the configurations
illustrated in Table 8.5. Figure 8.25 shows the RVEs failure envelope in terms of principal
192 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
stresses. The ultimate failure capacity for all stress states are summarised in Table D-8 of
Appendix D.
Figure 8.25 Failure envelope of the conventional hollow block in terms of principal stresses
8.6.4 Comparison of Biaxial Failure Envelopes of Different
Masonry Systems
In this section, based on the analyses done in sections 8.6.1 to 8.6.3 and also 7.4.1 and 7.4.2,
a dimensionless study is illustrated on the biaxial failure envelope for conventional masonry.
Table 8.6 Characteristic strength of units in different experiments
Mechanical Properties
Experiment Characteristic Strength (MPa)
Dhanasekar, et al. (1985) 15.41
Barbosa, et al. (2010) P1 22.8
Barbosa, et al. (2010) P2 18.6
Barbosa, et al. (2010) P3 24.9
Barbosa, et al. (2010) P4 36.2
Oh (1994) Conventional Block 12.89
Oh (1994) H-Block 30.7
Oh (1994) Modified H-Block 30.7
193 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.26 shows the projection of strength of the previously investigated biaxial tests in the
1/ f -
2/ f (in which f is the strength of each specimen) principal stress space. Stresses in
both orientations for all loading cases have been divided by the unit characteristic strengths to
obtain the dimensionless values. The characteristic strength of the units from each test is
demonstrated in Table 8.6.
It can be observed from Figure 8.26 that the dry-stack H-block is the least efficient masonry
system. However, by improving the prisms used in this masonry system (modified H-block),
its performance significantly improves.
Figure 8.26 Comparison of the failure envelopes of different masonry systems with various
strengths
The range of failure strengths for different masonry systems can be obtained from Figure
8.26. The shaded envelope of different masonry systems from Figure 8.26 has been shown in
Figure 8.27. The H-block failure envelop is the minimum failure strength in this range. The
maximum failure strength is obtained from a combination of the hollow block prisms and the
modified H-block.
194 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
Figure 8.27 Failure envelop zone of masonry systems with various strengths and geometries
8.7 Concluding Remarks
This Chapter presented a continuum damage evolution law capable of describing the
behaviour of dry-stack masonry. The behaviour of the dry-stack masonry is significantly
affected by the behaviour of the mortarless dry joint. The proposed damage evolution law
considers the joint closure phenomena in the initial stages of the damaging process. By
implicitly accounting for the interacting dry interfaces, the prediction of the model for dry-
stack masonry significantly improves.
Basic concepts were briefly described, together with the theoretical formulation. Then, an
algorithm for implementation of the formulations has been presented. The influences of key
parameters of the model are investigated through a set of sensitivity analyses. Then, the
model was validated using real experimental data on compressive behaviour of three different
blocks.
Finally, considering the validated parameters the predicted failure envelope for each block
has been illustrated and failure envelopes of different masonry systems have been compared.
195 Application of the ITZ Enriched CDM Model – II: Constitutive Properties of Dry-stack
Masonry under Biaxial Stresses |
In the next chapter, the clauses relating to compressive strength of masonry in Australian
Masonry Standard AS 3700 (2011) is reviewed and the strength of masonry obtained from
the model are compared with the strengths obtained by this standard.
196 Application of the Model for the Masonry Compressive Strength Prediction |
CHAPTER 9
Application of the Model for the Masonry
Compressive Strength Prediction
9.1 Introduction
The ITZ enriched transient-gradient CDM model formulated in Chapter 6 have been
successfully applied in Chapters 7 and 8 for the development of biaxial failure surfaces for
conventional and dry-stacked masonry respectively. The use of this model for the prediction
of compressive strength of a range of masonry utilising unburnt clay (or mud) bricks to
dressed stones and two types of mortar (low and high strength) is presented in this chapter. In
addition to these strength properties, the height of the unit and the thickness of the mortar
layer were also modified, which provided seven ratios (5 – 19) of height of unit to thickness
of mortar joint. The predicted strengths have been compared with the strengths calculated
using the provisions of the Australian Masonry Standard (AS 3700).
9.2 Current AS 3700 (2011) Provisions for Compressive Strength of
Masonry
Clause 3.3.2 in AS 3700 (2011) refers to the determination of the characteristic compressive
strength of masonry mf ' from the characteristic compressive strength of units uc
f ' ,
mortar grade 2 3 4M M M, , , height of unit uh and thickness of mortar joints j
t . The
clause is provided in Eq. (9.1).
m m h ucf k k f' ' (9.1)
Where, m
K compressive strength factor shown in Table 9.1.
197 Application of the Model for the Masonry Compressive Strength Prediction |
hK joint thickness factor
0 291 3u j
h t .. ( / ) but to not exceed 1.3
ucf ' characteristic unconfined compressive strength of units in MPa
uh masonry unit height (mm)
jt mortar bed joint thickness (mm)
Table 9.1 Compressive strength factor m
K for masonry
Type of Masonry Unit Bedding Type Mortar Class Compressive strength factor
Clay Full M3 1.4
Clay Full M4 2.0
Concrete Full M3 1.4
Concrete Face shell M3 1.6
Calcium silicate Full M3 1.4
Calcium silicate Full M4 2.0
In order to investigate the effect of the key parameters influencing the compressive strength
of masonry, units with ten characteristic unconfined compressive strengths uc
f ' , which
typically stand for unburnt clay (or mud) bricks (3MPa – 6MPa), concrete blocks (10MPa –
25MPa), burnt clay bricks (30MPa – 50MPa) and dressed stone (100MPa) have been
considered as shown in Table 9.2. All units have been analysed using two different mortar
grades i.e. M3 (compressive strength 5MPa) and M4 (compressive strength 12MPa). For each
set of unit and mortar strengths, seven masonry unit height to mortar bed joint thicknesses,
ranging from 5 to 19, have been considered as shown in Table 9.3. In total of
10 2 7 140 cases have been analysed using the ITZ enriched CDM model formulated in
Chapter 6.
9.3 Effect of Different Parameters on Compressive Strength of
Masonry
In order to investigate the effect of different parameters influencing the compressive strength
of masonry, units with ten different characteristic unconfined compressive strengths uc
f '
198 Application of the Model for the Masonry Compressive Strength Prediction |
have been considered, ranging from mud or unburnt clay to stone units, see Table 9.2. All
units have been analysed using two different mortar grades i.e. M3 and M4. For each set of
unit and mortar strengths, seven different masonry unit height to mortar bed joint thicknesses,
ranging from 5 to 19, have been tested as shown in Table 9.3. In total 140 different cases
have been analysed.
Table 9.2 Compressive strengths considered for units
Unit number 1 2 3 4 5 6 7 8 9 10
Unit Strength (MPa) 3.0 6.0 10 14 16 18 25 30 50 100
Table 9.3 Masonry unit height to mortar bed joint thicknesses considered for units
𝒉𝒖/𝒕𝒋
5.0 5.7 6.5 7.6 9.0 11 19
Figure 9.1 Numbering system for each case
Each case has been given a name based on their unit strength, mortar type and their height to
thickness ratio. The numbering system is explained in Figure 9.1. As can be seen in this
figure, the first number represents type of mortar (1.0 for type M3 and 2.0 for type M4). The
second number represents the height to thickness ratio of the prism. And the last number
represents the unit numbers shown in Table 9.2. All case names and their corresponding unit
strength, mortar strength and height to thickness ratios can be found in Appendix G. Figure
9.1 shows the example of Mortar type M4, height to thickness ratio 5.7 and unit number 6.
199 Application of the Model for the Masonry Compressive Strength Prediction |
Figure 9.2 Dimensions of the RVEs used for different height to thickness ratios
Dimensions of the RVEs used for this set of analysis are shown in Figure 9.2. Total
dimensions of the RVE are kept as constant. However, the height and length of the unit (and
mortar) is changing within the RVE in order to obtain different height to thickness ratios. The
RVEs are loaded under uniaxial compression normal to bed joint as shown in Figure E-1 of
Appendix E.
200 Application of the Model for the Masonry Compressive Strength Prediction |
9.3.1 Effect of Characteristic Unconfined Compressive Strength
of Masonry Unit 𝒇′𝒖𝒄
The influence of characteristic unconfined compressive strength of masonry unit 𝑓′𝑢𝑐,
utilizing the proposed model has been investigated in this section. Table 9.2 shows the
different unit compressive strengths analysed here.
Figures 9.3 and 9.4 illustrate the predicted masonry compressive strengths of the proposed
model and AS3700 for height to thickness ratios of 7.6 and 19, respectively. Unit strengths
corresponding to 3, 6 10, 16, 18, 25, 30, 50 and 100 MPa are plotted for AS3700. These
Figures illustrate the prism strength for two mortar strengths i.e. 5.0 MPa and 12 MPa
corresponding to type M3 and M4 mortar, respectively.
Figure 9.3 Comparison of the predicted compressive strength using the proposed model and
AS3700 for compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 7.6 for two mortar strengths
From Figure 9.3, it can be observed that for the case of height to thickness ratio equal to 7.6,
the AS3700 standard is giving fairly similar results as the proposed model for masonry with
unit compressive strengths less than 20 MPa for both mortar types. However, for unit
strengths more than 20 MPa, the standard seems to be over-estimating the prism’s
compressive strength. This over-estimation is more severe in case of the M3 mortar (5.0 MPa
strength).
201 Application of the Model for the Masonry Compressive Strength Prediction |
Figure 9.4 Comparison of the predicted results using the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 19 for two mortar strengths
Figure 9.4, illustrates the comparison between the predicted compressive strength of prism
using the model and AS3700 for height to thickness ratio of 19 for the two mortar types. It
can be seen in this Figure the both the model and standard are predicting fairly identical
prism compressive strengths except for case M1.0H/T19U10, in which the standard is over-
estimating the prism strength.
Predicted compressive strength of masonry prism using the proposed model has been
compared with AS3700 for all height to thickness ratios and can be seen in Figures F-1 to F-
14 of Appendix F. From these Figures, it can be observed that for the M3 mortar the standard
over-estimates the prism strength for unit strengths over 20 MPa and height to thickness
ratios under 11. As the height to thickness ratio increases, the over-estimation of the standard
becomes smaller.
In case of the M4 mortar, the predictions of the AS3700 standard and the model are fairly
close in most cases except M2.0H/T5.0U50, M2.0H/T5.0U100, M2.0H/T5.7U100 and
M2.0H/T6.5U100, which are the cases of low height to thickness ratio and high unit strength
(stone masonry).
202 Application of the Model for the Masonry Compressive Strength Prediction |
9.3.2 Effect of Masonry Unit Height to Mortar Bed Joint
Thickness 𝒉𝒖/𝒕𝒋
The influence of masonry unit height to mortar bed joint thickness utilizing the proposed
model has been investigated in this section. The seven different ratios considered here are
mentioned in Table 9.3. Effect of this parameter for two different mortar strengths i.e. 5 MPa
and 12 MPa have been illustrated here.
Figures 9.5 to 9.14 compare the masonry compressive strength obtained by the proposed
model with AS3700 standard’s predictions. Here, we considered ten different unit strengths
ranging from a 3 MPa unit which can represent mud or unburnt clay to 100 MPa units
representing stone masonry. For these set of analysis two mortar types M3 and M4 have been
considered.
Figure 9.5 Comparison of the predicted compressive strength of masonry of using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 3.0 𝑀𝑃𝑎
for two mortar strengths
Figure 9.5 illustrates a comparison between the proposed model and the AS3700 standard for
the masonry compressive strength. It can be seen that for both mortar strengths, the model is
showing almost similar compressive strengths for all height to thickness ratios considered in
the analysis. The AS3700 standard is over-estimating the masonry compressive strength in
most cases except M1.0H/T5.0U01, M1.0H/T5.7U01 and M1.0H/T6.5U01, in which it is
under-estimating the strength. The standard predicts masonry strength higher than the unit
203 Application of the Model for the Masonry Compressive Strength Prediction |
strength for cases where unit strength is 3MPa with M4 mortar for all height to thickness
ratios, which is not rational.
Figure 9.6 Comparison of the predicted compressive strength of masonry using the proposed
model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 6.0 𝑀𝑃𝑎 for two
mortar strengths
Figure 9.7 Comparison of the predicted compressive strength of masonry using the proposed
model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 10 𝑀𝑃𝑎 for two
mortar strengths
It can be observed from Figures 9.6 to 9.10 that the standard and the model are predicting
quite identical masonry strengths for M3 mortar for unit strengths between 6.0 and 18 MPa.
However, the standard over-estimates the compressive strength of masonry for type M4
204 Application of the Model for the Masonry Compressive Strength Prediction |
mortar (12 MPa strength) for unit strengths up to 10 MPa, see Figures 9.5 to 9.7. This over-
estimation seems to improve when the unit strength is higher than the mortar strength, see
Figures 9.8 to 9.10.
Figure 9.8 Comparison of the predicted compressive strength of masonry using the proposed
model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 14 𝑀𝑃𝑎 for two
mortar strengths
Figure 9.9 Comparison of the predicted compressive strength of masonry using the proposed
model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 16 𝑀𝑃𝑎 for two
mortar strengths
205 Application of the Model for the Masonry Compressive Strength Prediction |
Figure 9.10 Comparison of the predicted compressive strength of masonry using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 18 𝑀𝑃𝑎
for two mortar strengths
Figure 9.11 Comparison of the predicted compressive strength of masonry using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 25 𝑀𝑃𝑎
for two mortar strengths
For the mortar with the M3 type mortar (5 MPa strength), by increasing the unit strength to
values more than 25 MPa the standard over-estimates the compressive strength for smaller
206 Application of the Model for the Masonry Compressive Strength Prediction |
height to thickness ratios (Figures 9.11 to 9.14). By increasing the unit strength the standard
over-estimates the strength for higher height to thickness ratios. For example as can be seen
in Figure 9.14, for the prism with unit strength of 100 MPa the standard over-estimates the
strength for all height to thickness ratios considered here.
Figure 9.12 Comparison of the predicted compressive strength of masonry using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 30 𝑀𝑃𝑎
for two mortar strengths
Figure 9.13 Comparison of the predicted compressive strength of masonry using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 50 𝑀𝑃𝑎
for two mortar strengths
207 Application of the Model for the Masonry Compressive Strength Prediction |
On the other hand, for the masonry with type M4 mortar, both the model and the standard
illustrate similar predictions for almost all unit strengths, see Figure 9.9 to 9.13. Masonry
prisms with unit strength of 100 MPa are the exceptions of this observation. As can be seen
in Figure 9.14, in cases M2.0H/T5.0U10, M2.0H/T6.5U10 and M2.0H/T6.5U10 (low height
to thickness ratios) the standard over-estimates the masonry compressive strength.
Figure 9.14 Comparison of the predicted compressive strength of masonry using the
proposed model and AS3700 with unit characteristic compressive strength 𝑓′𝑢𝑐 = 100 𝑀𝑃𝑎
for two mortar strengths
9.4 Concluding Remarks
In this section, the ability of the proposed model to produce compressive design information
of the masonry with different strengths ranging from mud or unburnt clay to stone masonry
has been investigated. Units with ten different characteristic unconfined compressive
strengths uc
f ' and mortars with two different strengths have been considered. For each set of
unit and mortar strengths, seven different masonry unit height to mortar bed joint thicknesses,
ranging from 5 to 19, have been considered.
Several observations can be made from the comparative study done in this section. The
standard seems to be over-estimating the compressive strength of masonry prisms with unit
strengths higher than 18 MPa and type M3 mortar. It is also over-estimating the masonry
208 Application of the Model for the Masonry Compressive Strength Prediction |
compressive strength for unit strengths higher than 50 MPa and type M4 mortar with low
height to thickness ratios. The standard also over-estimates the prism compressive strength
when unit strength is lower than mortar strength (for both mortar types M3 and M4).
The AS3700 standard considers the type of mortar used in the masonry (M2, M3 and M4).
However, the mortar strength seems to be having an important effect on the masonry
compressive strength and the standards inability to incorporate this strength seems to be its
shortcoming.
The proposed model in this study can be incorporated to produce improved design clause for
the compressive strength of masonry in AS3700 standard, incorporating height to thickness
ratio, unit strength and mortar strength.
209 Conclusions and Recommendations |
CHAPTER 10
Conclusions and Recommendations
10.1 Summary
Behaviour of masonry systems under uniaxial and biaxial loading vary due to type and
dimensions of units, type and thickness of mortar layers, and workmanship reflected as the
tensile and shear bond characteristics at the unit, mortar interfaces. Under biaxial loading,
masonry systems constructed from varied units and mortar using varied skills of masons
exhibit varied shapes and sizes of failure envelopes. Obtaining failure envelopes through
experimental work for each type of masonry, although the most desirable, is time consuming
and expensive. To overcome this issue, in this thesis, a Continuum Damage Mechanics
(CDM) constitutive model for various types of ungrouted masonry systems is developed.
Utilizing this constitutive law helps in obtaining the behaviour of the complex masonry
system using simple, inexpensive tests on the constituents.
To this end, a transient-gradient continuum damage model enriched with an Interfacial
Transition Zone (ITZ) on conventional masonry has been introduced. The study focused on
the development of the biaxial failure envelop for conventional and dry-stack masonry with
different strengths and geometries and its comparison with available data in the literature. All
forms of biaxial loading conditions such as biaxial compression-compression, tension-
compression, uniaxial tension and uniaxial compression cases were analysed and reported.
Good agreement was found between the model prediction and available experiments. Finally,
the proposed model has been used to produce compressive design information of the masonry
with different strengths ranging from mud or unburnt clay to dressed stone masonry. The
predictions have been compared with the Australian masonry standard AS3700.
210 Conclusions and Recommendations |
10.2 Conclusion
The general conclusions obtained from this research are:
1. The continuum damage mechanics (CDM) model incorporating variable Poisson’s
ratio enhanced with transient-gradient nonlocal formulation is capable of predicting
the behaviour of masonry under uniaxial and biaxial loading conditions.
2. A representative volume element containing a whole unit surrounded by half
thickness of binder will be sufficient to represent the behaviour of the masonry.
3. RVE consisting of fully bonded unit and mortar layers predicts the behaviour of
masonry unconservatively.
4. Enriching the RVE with Interfacial Transition Zone significantly improves the
predictions of the uniaxial and biaxial behaviour of all forms of masonry.
The specific conclusions with reference to the modelling method presented in this thesis are:
1. The geometry of the representative volume element has minimal effect on the overall
stress-strain behaviour of the masonry.
2. The length scale parameter for masonry in the transient-gradient nonlocal model
should be considered 5.0 𝑚𝑚2.
3. From the parametric study conducted on the ITZ thickness, it can be concluded that a
thickness between 15 to 25 percent of the joint thickness is desirable for the ITZ.
4. The continuum damage mechanics (CDM) model incorporating joint closure effects is
capable of predicting the behaviour of dry-stack masonry under uniaxial and biaxial
loading conditions.
The generic conclusions determined on the behaviour of masonry are:
1. Failure envelopes in the non-dimensional zero-shear stress plane for all masonry
systems fall in a zone with the hollow block dry-stack masonry as its lower bound and
a combination of the conventional hollow block prisms and the modified hollow block
dry-stack masonry as its upper bound envelopes.
2. The lower the imperfections on the surfaces of the masonry units, the higher the
uniaxial and biaxial strengths of dry-stack masonry.
211 Conclusions and Recommendations |
The specific conclusions with reference to the Australian masonry standard AS3700 are:
1. The standard predicts masonry strength higher than the unit strength for cases where
unit strength is lower than 5MPa with M4 mortar for all height to thickness ratios,
which is not rational.
2. The standard over-estimates the compressive strength of masonry prisms for unit
strengths higher than 18 MPa constructed with type M3 mortar.
3. The standard also over-estimates the masonry compressive strength for unit strengths
higher than 50 MPa and constructed with type M4 mortar with low height to thickness
ratios.
4. The standard over-estimates the prism compressive strength when the unit strength is
lower than mortar strength (for both mortar types M3 and M4).
10.3 Recommendations for Future Work
In retrospect, the present thesis has successfully achieved the objectives defined in Chapter 1.
In particular, a constitutive model has been developed which is capable of simulating the
stress-strain behaviour and failure envelope of different masonry systems. The constitutive
model can be used as an effective tool to deal with analysis of masonry systems. Moreover, it
is crucial to implement the proposed model to a variety of elements and structures to gain
more experience on its usage. Some key suggestions for the future work are as follows:
A well-structured experimental program to identify the models parameters for its
constituents i.e. mortar and units.
The extension of the damage model to the three-dimensional case. This should be
fairly straightforward; however, some additional parameters might have to be
introduced to the model.
Further development of the RVE to incorporate grouting and rendering as shown in
Figures 10.1 and 10.2. For this purpose homogenisation of the RVE in two directions
is required.
Multi-scale modelling of structural elements such as masonry walls and beams by
coupling the proposed model with a macro model, considering the scale transition
concepts.
Extension of the proposed damage model to incorporate out-of-plane loads.
212 Conclusions and Recommendations |
Incorporating the proposed model to produce improved design clause for the
compressive strength of masonry in AS3700 standard, considering height to thickness
ratio, unit strength and mortar strength.
Figure 10.1 An RVE incorporating grouting and rendering 3D view
Figure 10.2 An RVE incorporating grouting and rendering 2D view
213 References |
References
217 References |
1. Addessi, D., Marfia, S. & Sacco, E., 2002. A plastic nonlocal damage model. Computer
Methods in Applied Mechanics and Engineering, Volume 191, pp. 1291-1310.
2. Addessi, D. & Sacco, E., 2012. A multi-scale enriched model for the analysis of masonry
panels. International Journal of Solids and Structures, Volume 49, pp. 865-880.
3. Andreev, K. et al., 2012. Compressive behaviour of dry joints in refactory ceramic masonry.
Construction and Building Material, Volume 34, pp. 402-408.
4. Anthoine, A., 1995. Derivation of in plane elastic characteristic of masonry through
homogenization theory. International Journal of Solids and Structures, 32(2), pp. 137-163.
5. Anthoine, A., 1997. Homogenization of periodic masonry: Plane stress, generalized plane
strain or 3D modelling?. Communications in Numerical Methods in Engineering, Volume 5,
pp. 319-326.
6. AS3700, 2011. Standards Australia, s.l.: s.n.
7. Atkinson, R. H., Amadei, B. P., Saeb, S. & Sture, S., 1989. Response of masonry bed joints in
direct shear. Journal of Structural Engineering, 115(9), pp. 2276-2296.
8. Badarloo, B., Tasnimi, A. A. & Mohammadi, M. S., 2009. Failure criteria of unreinforced
grouted brick masonry based on a biaxial compression test. Sientia Iranica Civ Eng, 16(6), p.
502–511.
9. Barbosa, C. S. & Hanai, J. B., 2009. Strength and deformability of hollow concrete blocks:
correlation of block and cylindrical sample test results. IBRACON Structures and Material
Journal, 2(1), pp. 85-99.
10. Barbosa, C. S., Lourenco, P. B. & Hanai, J. B., 2010. On the compressive strength prediction
for concrete masonry prisms. Materials and Structures, Volume 43, pp. 331-344.
11. Bažant, Z. P., 1976. Instability, ductility and size effect in strain-softening concrete. ASCE J.
Engn Mech., Volume 102, pp. 331-344.
12. Bažant, Z. P., 1986. Mechanics of Distributed Cracking. Appl. Mech. Rev., ASME, Volume
39, pp. 675-705.
13. Bažant, Z. P., 1994. Nonlocal damage theory based on micromechanics of crack interactions.
ASCE Journal of Engineering Mechanics, 120(3), pp. 593-617.
14. Bažant, Z. P., Belytschko, T. B. & Chang, T., 1984. Continuum Theory for Strain‐Softening.
Journal of Engineering Mechanics, 110(12), pp. 1666-1692.
15. Bažant, Z. P. & Jirásek, M., 2002. Nonlocal Integral Formulations of Plasticity and Damage:
Survey of Progress. Journal of Engineering Mechanics, 128(11), pp. 1119-1149.
16. Bažant, Z. P. & Lin, F., 1988. Nonlocal Smeared Cracking Model for Concrete Fracture.
Journal of Structural Engineering, 114(11), pp. 2493-2510.
17. Bažant, Z. P. & Oh, B., 1985. Microplane Model for Progressive Fracture of Concrete and
Rock. Journal of Engineering Mechanics, 111(4), pp. 559-582.
218 References |
18. Bažant, Z. P. & Oh, B. H., 1983. Crack band theory for fracture of concrete. Materials and
Structures, 16(3), pp. 155-177.
19. Bažant, Z. P. & Pijaudier-Cabot, G., 1989. Measurment of charachteristic length of non local
continuum. Journal of Engineering Mechanics, ASCE, Volume 115, pp. 755-767.
20. Bažant, Z. P. & Planas, J., 1997. Fracture and Size Effect in Concrete and Other Quasibrittle
Materials. s.l.:CRC Press.
21. Berto, L., Saetta, A., Scotta, R. & Vitaliani, R., 2002. An orthotropic damage model for
masonry structures. International Journal for Numerical Methods in Engineering, 55(2), pp.
127-157.
22. Berton, S. & Bolander, J. E., 2006. Crack band model of fracture in irregular lattices.
Computer Methods in Applied Mechanics and Engineering, 195(52), pp. 7172-7181.
23. Bongers, J. P. W., 1998. Multilevel analysis of concrete in multiaxial compression. Balkeme,
Rotterdam, Computational modelling of concrete structures, pp. 347-354.
24. Borino, G., Failla, B. & Parrinello, F., 2003. A symmetric nonlocal damage theory.
International Journal of Solids and Structures, Volume 40, pp. 3621-3645.
25. Burlion, N., Gatuingt, F., Pijaudier-Cabot, G. & Daudeville, L., 2000. Compaction and tensile
damage in concrete: constitutive modelling and application to dynamics. Computer Methods
in Applied Mechanics and Engineering, Volume 183, pp. 291-308.
26. Burnett, S. et al., 2007. The performance of unreinforced masonry walls subjected to low-
velocity impacts: Finite element analysis. International Journal of Impact Engineering, 34(8),
pp. 1433-1450.
27. Calderini, C., Cattari, S. & Lagomarsino, S., 2010. The use of the diagonal compression test
to identify the shear mechanical parameters of masonry. Construction and Building Materials
, 24(5), pp. 677-685.
28. Carol, I., Rizzi, E. & Willam, K., 2002. An ‘extended’ volumetric/deviatoric formulation of
anisotropic damage based on a pseudo-log rate. European Journal of Mechanics - A/Solids,
21(5), pp. 747-772.
29. Carol, I., Rizzi, E. & Willam, K., 2005. An 'extended' anisotropic damage model based on
Young/Poisson decomposition. Turin, Italy, 11th International Conference on Fracture.
30. Cavalagli, N., Cluni, F. & Gusella, V., 2011. Strength domain of non-periodic masonry by
homogenization in generalized plane state. European Journal of Mechanics A/Solids, Volume
30, pp. 113-126.
31. Cecchi, A. & Di Marco, R., 2000. Homogenization of masonry walls with a computational
oriented procedure. Rigid or elastic block?. European Journal of Mechanics - A/Solids, 19(3),
pp. 535-546.
219 References |
32. Cecchi, A., Milani, G. & Tralli, A., 2007. A Reissner–Mindlin limit analysis model for out-
of-plane loaded running bond masonry walls. International Journal of Solids and Structures,
44(5), pp. 1438-1460.
33. Cecchi, A. & Sab, K., 2002. A multi-parameter homogenization study for modeling elastic
masonry. European Journal of Mechanics - A/Solids, 21(2), pp. 249-268.
34. Chaboche, J. L., 1981. Continuous damage mechanics — A tool to describe phenomena
before crack initiation. Nuclear Engineering and Design, 64(2), pp. 233-247.
35. Chaboche, J. L., 1992. Damage induced anisotropy: On the difficulties associated with the
active/passive unilateral condition. International Journal of Damage Mechanics, Volume 1,
pp. 148-171.
36. Chaimoon, K. & Attard, M. M., 2007. Modeling of unreinforced masonry walls under shear
and compression. Engineering Structures, 29(9), pp. 2056-2068.
37. Chow, C. L. & Wang, J., 1987. An anisotropic theory of elasticity for continuum damage
mechanics. International Journal of Fracture, Volume 33, pp. 3-16.
38. Coenen, E. W. C., Kouznetsova, V. G. & Geers, M. G. D., 2012. Multi-scale continuous-
discontinuous framework for computational- homogenization-localization. Journal of the
Mechanics and Physics of Solids, 60(8), pp. 1486-1507.
39. Comi, C., 2001. A non-local model with tension and compression damage mechanisms.
European Journal of Mechanics - A/Solids, Volume 20, pp. 1-22.
40. Comi, C. & Perego, U., 2001. Fracture energy based bi-dissipative damage model for
concrete. International Journal of Solids and Structures, Volume 38, pp. 6427-6454.
41. Comi, C. & Perego, U., 2001. Numerical aspects of nonlocal damage analyses. Revue
europeenne des elements finis, 10(2-4), pp. 227-242.
42. Cook, R. D., Malkus, D. S., Plesha, M. E. & Witt, R. J., 2001. Concepts and Applications of
Finite Element Analysis. 4th ed. s.l.:John Wiley & Sons, INC..
43. Da Porto, F., 2005. In Plane Cyclic Behaviour of Thin Layer Joint Masonry, s.l.: PhD Thesis,
University of Trento, Italy.
44. da Porto, F., Guidi, G., Garbi, E. & Modena, C., 2010. In-Plane Behavior of Clay Masonry
Walls: Experimental Testing and Finite-Element Modeling. Journal of Structural
Engineering, 136(11), pp. 1379-1392.
45. De Borst, R. & Mühlhaus, H. B., 1992. Gradient‐dependent plasticity: Formulation and
algorithmic aspects. International Journal for Numerical Methods in Engineering, 35(3), pp.
521-539.
46. de Borst, R. & Nauta, P., 1985. Non-orthogonal cracks in a smeared finite element model.
Engineering Computing, Volume 2, pp. 35-46.
220 References |
47. De Borst, R., Pamin, J., Peerlings, R. H. J. & Sluys, L. J., 1995. On gradient-enhanced
damage and plasticity models for failure in quasi-brittle and frictional materials.
Computational Mechanics, 17(1-2), pp. 130-141.
48. De Borst, R., Sluys, L., Muhlhaus, H.-B. & Pamin, J., 1993. Fundamental issues in finite
element analyses of localization of deformation. Engineering computations, 10(2), pp. 99-
121.
49. De Buhan, P. & De Felice, G., 1997. A homogenisation approach to the ultimate strength of
brick masonry. Journal of the Mechanics and Physics of Solids, 45(7), pp. 1085-1104.
50. de Vree, J. H. P., Brekelmans, W. A. M. & van Gils, M. A. J., 1995. Comparison of nonlocal
approaches in continuum damage mechanics. Computers & Structures, 55(4), pp. 581-588.
51. DeJong, M. J., 2009. Seismic Assessment Strategies for Masonry Structures, Massachusetts:
PhD Thesis, Massachusetts Institute of Technology.
52. Delaplace, A., Pijaudier-Cabot, G. & Roux, S., 1996. Progressive damage in discrete models
and consequences on continuum modelling. Journal of the Mechanics and Physics of Solids,
44(1), pp. 99-136.
53. DeSimone, A., Marigo, J. J. & L, T., 2001. A damage approach to stress softening and its
application to rubber. European Journal of Mechanics - A/Solids, Volume 20, pp. 873-892.
54. Desmorat, R., Gatuingt, F. & Ragueneau, F., 2007. Nonlocal anisotropic damage model and
related computational aspects for quasi-brittle materials. Engineering Fracture Mechanics,
Volume 74, pp. 1539-1560.
55. Dhanasekar, M., 1985. The performance of brick masonry subjected to inplane loading,
University of Newcastle, Australia: Phd Thesis.
56. Dhanasekar, M., 2010. Review of modelling of masonry shear. International Journal of
Advances in Engineering Sciences and Applied Mathematics, 2(3), pp. 106-118.
57. Dhanasekar, M., Page, A. W. & Kleeman, P. W., 1985. The failure of brick masonry under
biaxial stresses. s.l., Thomas Telford, pp. 295-313.
58. Drysdale, R. G. & Khattab, M. M., 1995. In-plane behavior of grouted concrete masonry
under biaxial tension-compression. ACI Struct J, 92(6), pp. 653-664.
59. Duan, H. L., Yi, X., Huang, Z. P. & Wang, J., 2007. A unified scheme for prediction of
effective moduli of multiphase composites with interface effects. Part I: Theoretical
framework. Mechanics of Materials, 39(1), pp. 81-93.
60. Duplan, F. et al., 2014. Prediction of modulus of elasticity based on micromechanics theory
and application to low-strength mortars. Construction and Building Materials, Volume 50,
pp. 437-447.
61. Elices, M., Guinea, G. V., Gomez, J. & Planas, J., 2002. The cohesive zone model:
advantages, limitations and challenges. Engineering Fracture Mechanics, 69(2), pp. 137-163.
221 References |
62. Engelen, R. A. B., Geers, M. G. D. & Baaijens, F. P. T., 2003. Nonlocal implicit gradient-
enhanced elasto-plasticity for the modelling of softening behaviour. International Journal of
Plasticity, 19(4), pp. 403-433.
63. Eringen, A. C., 1981. On nonlocal plasticity. International Journal of Engineering Science,
19(12), pp. 1461-1474.
64. Faria, R., Oliver, J. & Ceverra, M., 1998. A strain-based plastic viscous-damage model for
massive concrete structures. International Journal of Solids and Structures, 35(14), pp. 1533-
1558.
65. Feenstra, P. H. & de Borst, R., 1996. A composite plasticity model for concrete. International
Journal of Solids and Structures, 33(5), pp. 707-730.
66. Felix, Y. & Yokel, M., 1976. Failure hypothesis for masonry. ASCE, Journal of the Structural
Division, 102(3), pp. 515-532.
67. Ferozkhan, M., 2005. Development of a Dray Stack Masonry System for Effective Resistance
to Out-of-Plane Bending, Brisbane, Australia: Masters thesis, Central Queensland University.
68. Ferretti, E., 2004. On Poisson's ratio and volumetric strain in concrete. International Journal
of Fracture, Volume 126, pp. 49-55.
69. Feyel, F. & Chaboche, J. L., 2000. FE 2 multiscale approach for modelling the
elastoviscoplastic behaviour of long fibre SiC/Ti composite materials. Computer methods in
applied mechanics and engineering, 183(3), pp. 309-330.
70. Fichant, S., La Borderie, C. & Pijaudier-Cabot, G., 1998. A comparative study of isotropic
and anisotropic descriptions of damage in concrete structures. Studies in Applied Mechanics,
Volume 46, pp. 259-274.
71. Forest, S., 2009. Micromorphic approach for gradient elasticity, viscoplasticity, and damage.
Journal of Engineering Mechanics, 135(3), pp. 117-131.
72. Frémond, M. & Nedjar, B., 1996. Damage, gradient of damage and principle of virtual power.
International Journal of Solids and Structures, 33(8), pp. 1083-1103.
73. Gambarotta, L. & Lagomarsino, S., 1997. Damage models for the seismic response of brick
masonry shear walls. PART II: The continuum model and its applications. Earthquake
Engineering & Structural Dynamics, 26(4), pp. 441-462.
74. Garboczi, E. J. & Bentz, D. P., 1997. Analytical formulas for interfacial transition zone
properties. Advanced Cement Based Materials, 6(3-4), pp. 99-108.
75. Garboczi, E. J. & Berryman, J. G., 2001. Elastic moduli of a material containing composite
inclusions: effective medium theory and finite element computations. Mechanics of
Materials, 33(8), pp. 455-470.
76. Gasser, A., Terny-Rebeyrotte, K. & Boisse, P., 2004. Modelling of joint effects on refactory
lining behaviour. J Materials: Design and Applications, Volume 218, pp. 19-28.
222 References |
77. Geers, M. G. D., 2004. Finite strain logarithmic hyperelasto-plasticity with softening: a
strongly non-local implicit gradient framework. Computer Methods in Applied Mechanics and
Engineering, 193(30-32), pp. 3377-3401.
78. Geers, M. G. D., de Borst, R., Brekelmans, W. A. M. & Peerlings, R. H. J., 1998. Strain-
based transient-gradient damage model for failure analyses. Computer Methods in Applied
Mechanics and Engineering, 160(1-2), pp. 133-153.
79. Geers, M. G. D., de Borst, R., Brekelmans, W. A. M. & Peerlings, R. H. J., 1999. Validation
and internal length scale determination for a gradient damage model: application to short
glass-fibre-reinforced polypropylene. International Journal of Solids and Structures, 36(17),
pp. 2557-2583.
80. Geers, M. G. D., de Borst, R. & Peerlings, R. H. J., 2000. Damage and crack modeling in
single-edge and double-edge notched concrete beams. Engineering Fracture Mechanics,
Volume 65, pp. 247-261.
81. Geers, M. G. D., Kouznetsova, V. G. & Brekelmans, W. A. M., 2010. Multi-scale
computational homogenization: Trends and challenges. Journal of Computational and
Applied Mathematics, 234(7), pp. 2175-2182.
82. Geers, M. G. D., Peerlings, R. H. J., Brekelmans, W. A. M. & de Borst, R., 2000.
Phenomenological nonlocal approaches based on implicit gradient-enhanced damage. Acta
Mechanica, 144(1-2), pp. 1-15.
83. Ghosh, S., Lee, K. & Moorthy, S., 1995. Multiple scale analysis of heterogeneous elastic
structures using homogenization theory and voronoi cell finite element method. International
Journal of Solids and Structures, 32(1), pp. 27-62.
84. Giambanco, G. & De Gati, L., 1997. A cohesive interface model for the structural mechanics
of block masonry. Mechanics Research Communications, 24(5), pp. 503-512.
85. Giambanco, G., Rizzo, S. & Spallino, R., 2001. Numerical analysis of masonry structures via
interface models. Computer Methods in Applied Mechanics and Engineering, 190(49-50), pp.
6493-6511.
86. Giordano, A., Mele, E. & De Luca, A., 2002. Modelling of historical masonry structures:
comparison of different approaches through a case study. Engineering Structures, Volume 24,
pp. 1057-1069.
87. Giry, C., Dufour, F. & Mazars, J., 2011. Stress-based nonlocal damage model. International
Journal of Solids and Structures, 48(25-26), p. 3431–3443.
88. Grassl, P. & Jirásek, M., 2010. Meso-scale approach to modelling the fracture process zone of
concrete subjected to uniaxial tension. International Journal of Solids and Structures, 47(7-
8), p. 957–968.
223 References |
89. Graubohm, M. & Brameshuber, W., 2011. Investigations of the bonding of masonry units
With Polyurethane Adhesive. Queenstown, New Zealand, 9th Australasian Masonry
conference.
90. Grondin, F. & Matallah, M., 2014. How to consider the Interfacial Transition Zones in the
finite element modelling of concrete?. Cement and Concrete Research, Volume 58, pp. 67-75.
91. Haidar, K., Pijaudier-Cabot, G., Dube, J. F. & Loukili, A., 2005. Correlation between the
internal length, the fracture process zone and size effect in model materials. Material and
Structures, Volume 38, p. 201–210.
92. Hamid, A. A., 1978. Behaviour characteristics of concrete masonry, Canada: PhD thesis,
McMaster University.
93. Hanganu, A. D., Onate, E. & Barbat, A. H., 2002. A finite element methodology for
local/global damage evaluation in civil engineering structures. Computers and Structures,
Volume 80, pp. 1667-1687.
94. Hatami-Marbini, H. & Shodja, H. M., 2008. On thermoelastic fields of a multi-phase
inhomogeneity system with perfectly/imperfectly bonded interfaces. International Journal of
Solids and Structures, 45(22-23), pp. 5831-5843.
95. Hendry, A. W., 1990. Structural Masonry. London, UK: Macmillan.
96. Hilsdorf, H. K., 1996. Investigation into the failure mechanism of brick masonry loaded in
axial compression. In: F. H. Johnson, ed. Designing engineering, and constructing with
masonry products. Houston< Texas, USA: Golf publishing company.
97. Hirschberger, C. B., Ricker, S., Steinmann, P. & Sukumar, N., 2009. Computational
multiscale modelling of heterogeneous material layers. Engineering Fracture Mechanics,
76(6), pp. 793-812.
98. Hofmann, P. & Stockl, S., 1986. Teset on the shea-bond behaviour in the bed-joints of
masonry. Masonry International, Volume 9, pp. 1-15.
99. Holl, M., Loehnert, S. & Wriggers, P., 2013. An adaptive multiscale method for crack
propagation and crackcoalescence. International Journal for Numerical Methods in
Engineering, 93(1), pp. 23-51.
100. Hordijk, D. A., 1991. Local approach to fatigue of concrete,, Delft, the Netherlands:
PhD dissertation, Delft University of Technology.
101. Janson, J. & Hult, J., 1977. Fracture mechanics and damage mechanics–a combined
approach. J. Méc. Appl., Volume 1, pp. 69-84.
102. Jansson, S. & Stigh, U., 1985. Influence on cavity shape on damage variable. Journal
of Applied Mechanics, Issue 52, pp. 609-614.
103. Jirasek, M., 1998. Nonlocal models for damage and fracture: comparison of
approaches. International Journal of Solids and Structures, 35(31), pp. 4133-4145.
224 References |
104. Jirásek, M., 1998. Nonlocal models for damage and fracture: Comparison of
approaches. International Journal of Solids and Structures, 35(31-32), pp. 4133-4145.
105. Jirásek, M. & Bažant, Z. P., 2001. Inelastic Analysis of Structures. s.l.:John Wiley &
Sons, Inc..
106. Jirásek, M. & Patzák, B., 2001. Models for quasibrittle failure: Theoretical and
computational aspects. Cracow, Poland, ECCM-2001 European Conference on
Computational Mechanics.
107. Jirásek, M. & Patzák, B., 2002. Consistent tangent stiffness for nonlocal damage
models. Computers and Structures, Volume 80, pp. 1279-1293.
108. Jirasek, M. & Rolshoven, S., 2009. Localization properties of strain-softening
gradient plasticity models. Part I: Strain-gradient theories. International Journal of Solids and
Structures, 46(11-12), pp. 2225-2238.
109. Jirásek, M., Rolshoven, S. & Grassl, P., 2004. Size effect on fracture energy induced
by non-locality. International Journal for Numerical and Analytical Methods in
Geomechanics, Volume 28, pp. 653-670.
110. Ju, J. W., 1989. On energy-based coupled elastoplasticdamage theories. International
Journal of Solids and Structures, Volume 25, pp. 803-833.
111. Ju, J. W., 1990. Isotropic and Anisotropic Damage Variables in Continuum Damage
Mechanics. Journal of Engineering Mechanics, 116(12), pp. 2764-2770.
112. Jukes, P. & Riddington, J. R., 1997. A review of masonry joint shear strength test
methods. Masonry International, 11(2), pp. 37-41.
113. Kachanov, L. M., 1958. Time of rupture process under creep conditions. Izvestia
Akademii Nauk, Otd Tech Nauk, Volume 8, pp. 26-31.
114. Kachanov, L. M., 1986. Introduction to Continuum Damage Mechanics. Martinus
Nijhoff Dortrecht, The Netherlands.
115. Kaplan, M. F., 1961. Crack Propagation and the Fracture of Concrete. A. C. I. J.,
Volume 58, pp. 591-610.
116. Khattab, M. M. S., 1993. In-plane behaviour of grouted concrete masonry under
biaxial states of stress, Canada: PhD thesis, McMaster University.
117. Klusemann, B. & Svendsen, B., 2012. Homogenization modeling of thin-layer-type
microstructures. International Journal of Solids and Structures, 49(13), pp. 1828-1838.
118. Kotsovos, M. D. & Newman, J. B., 1977. Behavior of concrete under triaxial stress.
ACI Journal, Volume 74, pp. 443-4466.
119. Kouznetsova, V., Brekelmans, W. A. M. & Baaijens, F. P. T., 2001. An approach to
micro-macro modeling of heterogeneous materials. Computational Mechanics, 27(1), pp. 37-
48.
225 References |
120. Krajcinovic, D., 1983. Constitutive equations for damaging material. Journal of
Applied Mechanics, ASME, Volume 50, pp. 355-360.
121. Krajcinovic, D., 1985. Constitutive theories for solids and structures with defective
microstructure. Damage Mechanics and Continuum Modeling, ASCE, pp. 39-56.
122. Krajcinovic, D. & Fanella, D., 1986. A micromechanical damage model for concrete.
Engineering Fracture Mechanics, 25(5-6), pp. 585-596.
123. Krajcinovic, D. & Fonseka, U., 1981. The Continuous Damage Theory of Brittle
Materials, Part I and II. Journal of Applied Mechanics, Issue 48, pp. 809-824.
124. Krajcinovic, D. & Lemaitre, J., 1987. Continuum Damage Mechanics Theory and.
CISM Lectures, Springer, Berlin Heidelberg, New York.
125. Kratzig, W. B. & Polling, R., 1998. Elasto-plastic damage-theories and elasto-plastic
fracturing-theories – A comparison. Computational Materials Science, Volume 13, pp. 117-
131.
126. Kuutti, J. & Kolari, K., 2012. A local remeshing procedure to simulate crack
propagation in quasi-brittle materials. Engineering Computations , 29(2), pp. 125-143.
127. Larsson, R. & Runesson, K., 1993. Discontinuous displacement approximation for
capturing plastic localization. International Journal for Numerical Methods in Engineering,
36(12), pp. 2087-2105.
128. Larsy, D. & Belytschko, T., 1988. Localization limiters in transient problems.
International Journal of Solids and Structures, 24(6), pp. 581-597.
129. Launay, P. & Gachon, H., 1970. Strain and ultimate strength of concrete under
triaxial stresses. ACI , Volume special publication SP-34, pp. 269-282.
130. Le Bellego, C., Dube, J. D., Pijaudier-Cabot, G. & Gerard, B., 2003. Calibration of
nonlocal damage model from size effect tests. European Journal of Mechanics - A/Solids,
22(1), pp. 33-46.
131. Lee, J. & Fenves, G. L., 1998. Plastic-damage model for cyclic loading of concrete
structures. ASCE Journal of engineering mechanics, 124(8), pp. 892-900.
132. Leis, B. N. et al., 1986. Critical review of the fatigue growth of short cracks.
Engineering Fracture Mechanics, 23(5), pp. 883-898.
133. Lemaitre, J., 1985. A Continuous Damage Mechanics Model for Ductile Fracture.
Journal of Engineering Materials and Technology, 107(1), pp. 83-89.
134. Lemaitre, J. & Chaboche, J. L., 1990. Mechanics of solid materials. Cambridge:
Cambridge University Press.
135. Lemaitre, J. & Desmorat, R., 2005. Engineering Damage Mechanics. Springer Verlag
Berlin Heidelberg.
136. Li, G., Zhao, Y., Pang, S. S. & Li, Y., 1999. Effective Young's modulus estimation of
concrete. Cement and Concrete Research, 29(9), pp. 1455-1462.
226 References |
137. Li, Q. & Ansari, F., 1999. Mechanics of damage and constitutive relationships for
high-strength concrete in triaxial compression. ASCE Journal of engineering mechanics,
125(1), pp. 1-10.
138. Liu, L., Wang, Z., Zhai, C. & Zhai, X., 2009. Experimental research on biaxial
compressive strengh of grouted concrete block masonry. Advances in Structural Engineering,
12(4), pp. 451-461.
139. Lourenco, P. B., 1996. COMPUTATIONAL STRATEGIES FOR MASONRY
STRUCTURES, Delft, The Netherlands: PhD Thesis, Delft University Press.
140. Lourenco, P. B., De Borst, R. & Rots, J. G., 1997. A plane stress softening plasticity
model for orthotropic materials. International Journal for Numerical Methods in Engineering,
40(21), pp. 4033-4057.
141. Lourenco, P. B., Milani, G., Tralli, A. & Zucchini, A., 2007. Analysis of masonry
structures: review of and recent trends in homogenization techniques. Canadian Journal of
Civil Engineering, 34(11), pp. 1443-1457.
142. Lourenco, P. B., Milani, G., Tralli, A. & Zucchini, A., 2007. Analysis of masonry
structures: review of and recent trends in homogenization techniques. Canadian Journal of
Civil Engineering, 34(11), pp. 1443-1457.
143. Lourenco, P. B. & Rots, J. G., 1997. Multisurface interface model for analysis of
masonry structures. Journal of engineering mechanics, 123: 660., 123(7), pp. 660-668.
144. Lourenço, P. B., Rots, J. G. & Blaauwendraad, J., 1998. Continuum model for
masonry: parameter estimation and validation. Journal of structural engineering, 124(6), pp.
642-652.
145. Lubarda, V. A. & Krajcinovic, D., 1993. Damage tensors and thecrack density
distribution. International Journal of Solids Structures, Volume 30, pp. 2859-2877.
146. Lubliner, J., Oller, J. O. S. & Onate, E., 1989. A plastic-damage model for concrete.
International Journal of Solids and Structures, 25(3), pp. 299-326.
147. Luccioni, B., Oller, S. & Danesi, R., 1996. Coupled plastic-damaged model.
Computer Methods in Applied Mechanics and Engineering, Volume 129, pp. 81-89.
148. Luciano, R. & Sacco, E., 1997. Homogenization technique and damage model for old
masonry material. International Journal of Solids and Structures, 34(24), pp. 3191-3208.
149. Lutz, M. P., Monteiro, P. J. M. & Zimmerman, R. W., 1997. INHOMOGENEOUS
INTERFACIAL TRANSITION ZONE MODEL FOR THE BULK MODULUS OF
MORTAR. Cement and Concrete Research, 27(7), pp. 1113-1122.
150. Mahnken, R. & Kuhl, E., 1999. Parameter identification of gradient enhanced damage
models with the finite element method. European Journal of Mechanics - A/Solids, 18(5), p.
819–835.
227 References |
151. Maire, J. F. & Chaboche, J. L., 1997. A new formulation of continuum damage
mechanics (CDM) for composite materials. Aerospace Science and Technology, 1(4), pp.
247-257.
152. Marrocchino, E., Fried, A. N., Koulouris, A. & Vaccaro, C., 2007. Micro
chemical/structural characterisation of thin layer masonry: A correlation with engineering
performance. Construction and Building Materials , 23(1), pp. 582-594.
153. Massart, T. J., 2003. Multi-scale modeling of damage in masonry structures,
Eindhoven, The Netherlands: TU Eindhoven.
154. Massart, T. J., Peerlings, R. H. J. & Geers, M. G. D., 2004. Mesoscopic modeling of
failure and damage-induced anisotropy in brick masonry. European Journal of Mechanics -
A/Solids, 23(5), pp. 719-735.
155. Massart, T. J., Peerlings, R. H. J. & Geers, M. G. D., 2007. An enhanced multi-scale
approach for masonry wall computations with localization of damage. International Journal
for Numerical Methods in Engineering, 69(5), pp. 1022-1059.
156. Massart, T. J., Peerlings, R. H. J., Geers, M. G. D. & Gottcheiner, S., 2005.
Mesoscopic modeling of failure in brick masonry accounting for three-dimensional effects.
Engineering Fracture Mechanics, 72(8), pp. 1238-1253.
157. Mazars, J. & Pijaudier-Cabot, G., 1989. Continuum damage Theory-Application to
concrete. Journal of Engineering Mechanics ASCE, Volume 115, pp. 345-365.
158. Mazars, J. & Pijaudier‐Cabot, G., 1989. Continuum Damage Theory—Application to
Concrete. Journal of Engineering Mechanics, 115(2), pp. 345-365.
159. Mazars, J. & Pijaudier‐Cabot, G., 1989. Continuum Damage Theory—Application to
Concrete. Journal of Engineering Mechanics, 115(2), pp. 345-365.
160. Mazars, J. & Pijaudier-Cabot, G., 1996. From Damage to Fracture Mechanics and
Conversely: A Combined Approach. International Journakl of Solids and Structures, Volume
33, pp. 3327-3342.
161. Mazars, J., Pijaudier-Cabot, G. & Saouridis, C., 1991. Size effect and continuous
damage in cementitious materials. International Journal of Fracture, Volume 51, pp. 159-
173.
162. Mercatoris, B. C. N., Bouillard, P. & Massart, T. J., 2009. Multi-scale detection of
failure in planar masonry thin shells using computational homogenisation. Engineering
Fracture Mechanics, 76(4), pp. 479-499.
163. Mercatoris, B. C. N. & Massart, T. J., 2009. Assessment of periodic homogenization-
based multiscale computational schemes for quasi-brittle structural failure. International
Journal for Multiscale Computational Engineering, 7(2).
228 References |
164. Mercatoris, B. C. N. & Massart, T. J., 2011. A coupled two‐scale computational
scheme for the failure of periodic quasi‐brittle thin planar shells and its application to
masonry. International journal for numerical methods in engineering, 85(9), pp. 1177-1206.
165. Miehe, C. & Koch, A., 2002. Computational micro-to-macro transitions of discretized
microstructures undergoing small strains. Archive of Applied Mechanics, 72(4-5), pp. 300-
317.
166. Miehe, C., Schröder, J. & Schotte, J., 1999. Computational homogenization analysis
in finite plasticity Simulation of texture development in polycrystalline materials. Computer
Methods in Applied Mechanics and Engineering, 171(3-4), pp. 387-418.
167. Mihai, I. C. & Jefferson, A. D., 2011. A material model for cementitious composite
materials with an exterior point Eshelby microcrack initiation criterion. International Journal
of Solids and Structures, 48(24), pp. 3312-3325.
168. Milani, E., Milani, G. & Tralli, A., 2008. Limit analysis of masonry vaults by means
of curved shell finite elements and homogenization. International Journal of Solids and
Structures, 45(20), pp. 5258-5288.
169. Milani, G. & Cecchi, A., 2013. Compatible model for herringbone bond masonry:
Linear elastic homogenization, failure surfaces and structural implementation. International
Journal of Solids and Structures, 50(20-21), pp. 3274-3296.
170. Milani, G., Lourenco, P. B. & Tralli, A., 2006. Homogenised limit analysis of
masonry walls, Part I: Failure surfaces. Computers and Structures, Volume 84, pp. 166-180.
171. Milani, G., Lourenco, P. B. & Tralli, A., 2006. Homogenised limit analysis of
masonry walls. Part I: failure surfaces. Computers and Structures, 84(3-4), pp. 166-180.
172. Mistler, M., Anthoine, A. & Butenweg, C., 2007. In-plane and out-of-plane
homogenisation of masonry. Computers and Structures, Volume 85, pp. 1321-1330.
173. Morandi, P., Magenes, G. & Albanesi, L., 2013. Mechanical characterization of
different typologies of masonry made with thin shell/web clay units. Vancouver, British
Columbia, 12th Canadian Masonry Symposium.
174. Morel, S. & Dourado, N., 2011. Size effect in quasibrittle failure: Analytical model
and numerical simulations using cohesive zone model. International Journal of Solids and
Structures, 48(10), pp. 1403-1412.
175. Nadeau, J. C., 2003. A multiscale model for effective moduli of concrete
incorporating ITZ water–cement ratio gradients, aggregate size distributions, and entrapped
voids. Cement and Concrete Research, 33(1), pp. 103-113.
176. Naraine, K. & Sinha, S. N., 1992. Stress–strain curves for brick masonry in biaxial
compression. Journal of Structural Engineering, ASCE, 118(6), p. 1451–1461.
177. Nazir, S. & Dhanasekar, M., 2013. Modelling the failure of thin layered mortar joints
in masonry. Engineering Structures, Volume 49, pp. 615-627.
229 References |
178. Needleman, A., 1988. Material rate dependence and mesh sensitivity in localization
problems. Computer methods in applied mechanics and engineering, 67(1), pp. 69-85.
179. Nguyen, G. D., 2005. A Thermodynamic Approach to Constitutive Modelling of
Concrete using Damage Mechanics and Plasticity Theory, Trinity College, University of
Oxford: PhD Thesis.
180. Nguyen, G. D., 2008. A thermodynamic approach to non-local damage modelling of
concrete. International Journal of Solids and Structures, 45(7-8), pp. 1918-1934.
181. Nguyen, G. D., 2011. A damage model with evolving nonlocal interactions.
International Journal of Solids and Structures, 48(10), p. 1544–1559.
182. Nguyen, G. D., Korsunsky, A. M. & Belnoue, J. P. H., 2015. A nonlocal coupled
damage-plasticity model for the analysis of ductile failure. International Journal of Plasticity,
Volume 64, pp. 56-75.
183. Nguyen, T. M. H., Blond, E., Gasser, A. & Prietl, T., 2009. Mechanical
homogenisation of masonry wall without mortar. European Journal of Mechanics A/Solids,
Volume 28, pp. 535-544.
184. Nguyen, V. P., Lloberas-Valls, O., Stroeven, M. & Sluys, L. J., 2010. On the
existence of representative volumes for softening quasi-brittle materials – A failure zone
averaging scheme. Computer Methods in Applied Mechanics and Engineering, 199(45-48),
pp. 3028-3038.
185. Nicholas, W., Bousmaha, B. & Raymond, O., 2008. Thin-joint glued brickwork:
Building in the British context. Construction and Building Materials, Volume 22, p. 1081–
1092.
186. Oh, K.-H., 1994. Development and Investigation of Failure Mechanism of
Interlocking Mortarless Block Masonry Systems, s.l.: Phd thesis, Drexel University.
187. Oliver, J., 1996. Modelling strong discontinuities in solid mechanics via strain
softening constitutive equations. Part 1: Fundamentals. International journal for numerical
methods in engineering, 39(21), pp. 3575-3600.
188. Ortiz, M., 1985. A constitutive theory for the inelastic behavior of concrete.
Mechanics of Materials, Volume 4, pp. 67-93.
189. Otsuka, K. & Date, H., 2000. Fracture process zone in concrete tension specimen.
Engineering Fracture Mechanics, 65(2-3), pp. 111-131.
190. Page, A. W., 1978. Finite element model for masonry. Journal of Structural
Engineering division ASCE, 104(ST8), pp. 1267-1285.
191. Page, A. W., 1981. The biaxial compressive strength of brick masonry. Inst. Civil
Engrs, 71(2), pp. 893-906.
192. Page, A. W., 1983. The strength of brick masonry under biaxial compression-tension.
The International Journal of Masonry Construction, 3(1), pp. 26-31.
230 References |
193. Pamin, J., Wosatko, A. & Desmorat, R., 2014. A volumetric upgrade of scalar
gradient damage model. Computational Modelling of Concrete Structures, Volume 1, pp.
289-298.
194. Papa, E. & Nappi, A., 1997. Numerical modelling of masonry: A material model
accounting for damage effects and plastic strains. Applied Mathematical Modelling, 21(6), pp.
319-335.
195. Papa, E., Taliercio, A. & Mirabella-Roberti, G., 2000. A damage model to predict the
behaviour of masonry under sustained load. Madrid, Spain, Int Brick/Block Masonry Conf..
196. Peerlings, R. H. J., 1999. Enhanced damage modelling for fracture and fatigue,
Eindhoven, The Netherlands: Ph Ddissertation, Eindhoven University of Technology.
197. Peerlings, R. H. J., de Borst, R., Brekelmans, W. A. M. & de Vree, J. H. P., 1996.
Gradient enhanced damage for quasi-brittle materials. International Journal for Numerical
Methods in Engineering, Volume 39, pp. 3391-3403.
198. Peerlings, R. H. J., de Borst, R., Brekelmans, W. A. M. & Geers, M. G. D., 2002.
Localisation issues in local and nonlocal continuum approaches to fracture. European Journal
of Mechanics - A/Solids, 21(2), pp. 175-189.
199. Peerlings, R. H. J., Geers, M. G. D., de Borst, R. & Brekelmans, W. A. M., 2001. A
critical comparison of nonlocal and gradient-enhanced softening continua. International
Journal of Solids and Structures, 38(44-45), pp. 7723-7746.
200. Pegon, P. & Anthoine, A., 1997. Numerical strategies for solving continuum damage
problems with softening: Application to the homogenization of Masonry. Computers &
Structures, 64(1-4), pp. 623-642.
201. Pelà, L., Aprile, A. & Benedetti, A., 2009. Seismic assessment of masonry arch
bridges. Engineering Structures, Volume 31, pp. 1777-1788.
202. Pela, L., Cervera, M., Oller, S. & Chiumenti, M., 2014. A localized mapped damage
model for orthotropic materials. Engineering Fracture Mechanics, Volume 124-125, pp. 196-
216.
203. Pela, L., Cervera, M. & Roca, P., 2011. Continuum damage model for orthotropic
materials: Application to masonry. Computer Methods in Applied Mechanics and
Engineering, 200(9-12), pp. 917-930.
204. Pela, L., Cervera, M. & Roca, P., 2012. An Orthotropic damge model for the analysis
of masonry structures. Construction and Building materials, Volume 41, pp. 957-967.
205. Petersen, R. B., Ismail, N., Masia, M. J. & Ingham, J. M., 2012. Finite element
modelling of unreinforced masonry shear wallettes strengthened using twisted steel bars.
Construction and Building Materials , Volume 33, pp. 14-24.
231 References |
206. Pietruszczak, S. T. & Mroz, Z., 1981. Finite element analysis of deformation of
strain‐softening materials. International Journal for Numerical Methods in Engineering,
17(3), pp. 327-334.
207. Pietruszczak, S. & Ushaksaraei, R., 2003. Description of inelastic behavior of
structural masonry. International Journal of Solids and Structures, 40(15), pp. 4003-4019.
208. Pijaudier-Cabot, G. & Bažant, Z. P., 1987. Nonlocal damage theory. Journal of
Engineering Mechanics, ASCE, 113(10), pp. 1512-1533.
209. Pijaudier-Cabot, G. & Benallal, A., 1993. Strain localization and bifurcation in a
nonlocal continuum. International Journal of Solids and Structures, 30(13), p. 1761–1775.
210. Pijaudier-Cabot, G., Haidar, K. & Dube, J. F., 2004. Nonlocal damage model with
evolving internal length. International Journal for Numerical and Analytical Methods in
Geomechanics, Volume 28, pp. 633-652.
211. Pijaudier-Cabot, G. & Mazars, J., 2001. Damage models for concrete. In: J. Lemaitre,
ed. Handbook of Materials Behavior. s.l.:Academic Press.
212. Pijaudier-Cabot, G., Mazars, J. & Pulikowski, J., 1991. STEEL-CONCRETE BOND
ANALYSIS WITH NONLOCAL CONTINUOUS DAMAGE. Journal of Structural
Engineering, ASCE, 117(3), pp. 862-882.
213. Planas, J. et al., 2003. Generalizations and specializations of cohesive crack models.
Engineering Fracture Mechanics, 70(14), pp. 1759-1776.
214. Rabotnov, Y. N., 1969. creep rupture. Applied Mechanics, pp. 342-349.
215. Ramesh, G., Sotelino, E. D. & Chen, W. F., 1996. Effect of Transition Zone on
Elastic Moduli of concrete materials. Cement andConcrete Research, 26(4), pp. 611-622.
216. Reccia, E., Milani, G., Cecchi, A. & Tralli, A., 2014. Full 3D homogenization
approach to investigate the behavior of masonry arch bridges: The Venice trans-lagoon
railway bridge. Construction and Building Materials, Volume 66, pp. 567-586.
217. Rizzi, E., Carol, I. & Willam, K., 1995. Localization analysis of elastic degradation
with application to scalar damage. Engineering Mechanics, Volume 121, pp. 541-554.
218. Roca, P., Cervera, M., Gariup, G. & Pela, L., 2010. Structural Analysis of Masonry
Historical Constructions. Classical and Advanced Approaches. Arch Comput Methods Eng ,
Volume 17, pp. 299-325.
219. Roters, F. et al., 2010. Overview of constitutive laws, kinematics, homogenization
and multiscale methods in crystal plasticity finite-element modeling: Theory, experiments,
applications. Acta Materialia, 58(4), pp. 1152-1211.
220. Salari, M. R. et al., 2004. A coupled elastoplastic damage model for geomaterials.
Computer Methods in Applied Mechanics and Engineering, 193(27-29), pp. 2625-2643.
221. Salerno, G. & de Felice, G., 2009. Continuum modeling of periodic brickwork.
International Journal of Solids and Structures, Volume 46, pp. 1251-1267.
232 References |
222. Samarasinghe, W. & Hendry, A. W., 1980. The strength of brickwork under biaxial
tensile and compressive strength. London, 7th Symposium on load bearing brickwork.
223. Saouridis, C. & Mazars, J., 1992. Prediction of the failure and size effect in concrete
via a bi scale damage approach. Engineering Computations, Volume 9, pp. 329-344.
224. Saroukhani, S., Vafadari, R. & Simone, A., 2013. A simplified implementation of a
gradient-enhanced damage model with transient length scale effects. Computational
Mechanics, 51(6), pp. 899-909.
225. Senthivel, R. & Uzoegho, H. C., 2004. Failure criterion of unreinforced masonry
under biaxial pseudo dynamic loading. Journal of the South African Institution of Civil
Engineering, 46(4), p. 20–24.
226. Sevostianov, I. et al., 2012. Connections between different models describing
imperfect interfaces in periodic fiber-reinforced composites. International Journal of Solids
and Structures, 49(13), pp. 1518-1525.
227. Simo, J. C. & Ju, J. W., 1987. Strain- and stress-based continuum damage models – I.
Formulation. International Journal of Solids and Structures, 23(7), pp. 821-840.
228. Simo, J. C., Oliver, J. & Armero, F., 1993. An analysis of strong discontinuities
induced by strain softening in rate dependant inelastic solids. Computational Mechanics,
Volume 12, pp. 277-296.
229. Simone, A., Askes, H. & Sluys, L. J., 2004. Incorrect initiation and propagation of
failure in non-local and gradient-enhanced media. International Journal of Solids and
Structures, Volume 41, pp. 351-363.
230. Simone, A., Askes, H. & Sluys, L. J., 2004. Incorrect initiation and propagation of
failure in non-local and gradient-enhanced media. International Journal of Solids and
Structures, 41(2), pp. 351-363.
231. Simulia, 2011. ABAQUS /6.11 documentation, Providence, RI, USA.: Dassault
Systèmes Simulia Corp..
232. Sluys, L. J., 1992. Wave propagation, localisation and dispersion in softening solids,
s.l.: Dissertation Delft University oof Technology.
233. Sluys, L. J. & Berends, A. H., 1998. Discontinuous failure analysis for mode-I and
mode-II localization problems. International Journal of Solids and Structures, 35(31-32), pp.
4257-4274.
234. Sluys, L. J. & de Borst, R., 1994. Dispersive properties of gradient-dependent and
rate-dependent media. Mechanics of Material, Volume 18, pp. 131-149.
235. Smit, R. J. M., 1998. Thoughness of Heterogeneous Polymeric Systems: A Modeling
Approach, Eindhoven, The Netherlands: PhD Thesis,TU Eindhoven.
233 References |
236. Sousa, R., Sousa, H. & Guedes, J., 2013. Diagonal compressive strength of masonry
samples—experimental and numerical approach. Materials and Structures , 46(5), pp. 765-
786.
237. StandardsAustralia, 2011. AS 3700, -: Standards Australia.
238. Stefanou, I., Sab, K. & Heck, J. V., 2015. Three dimensional homogenization of
masonry structures with building blocks of finite strength: A closed form strength domain.
International Journal of Solids and structures, Volume 54, pp. 258-270.
239. Stroeven, M., Askes, H. & Sluys, L. J., 2004. Numerical determination of
representative volumes for granular materials. Computer Methods in Applied Mechanics and
Engineering, 193(30-32), pp. 3221-3238.
240. Sutcliffe, D. J., Yu, H. S. & Page, A. W., 2001. Lower bound limit analysis of
unreinforced masonry shear walls. Computers & Structures, 79(14), pp. 1295-1312.
241. Talebi, H. et al., 2014. A computational library for multiscale modeling of material
failure. Computational Mechanics, 53(5), pp. 1047-1071.
242. Temizer, I. & Wriggers, P., 2008. On the computation of the macroscopic tangent for
multiscale volumetric homogenization problems. Computer Methods in Applied Mechanics
and Engineering, 198(3-4), pp. 495-510.
243. Thanoon, W. A. M. et al., 2008. Finite element analysis of interlocking mortarless
hollow block masonry prism. Computers and Structures, Volume 86, pp. 520-528.
244. Todd, M. J. & Yildirim, E. A. 2005. On Khachiyan's algorithm for the computation of
minimum-volume enclosing ellipsoids. Discrete Applied Mathematics, 155(13) pp. 1731-
1744
245. van der Pluijm, R., 1998. Overview of deformation controlled combined tensile and
shear tests, Eindhoven: Technical report, Eindhoven University of Technology.
246. van der Sluis, O., 2001. Homogenisation of structured elastoviscoplastic solids,
Eindhoven, The Netherlands: PhD Thesis, TU Eindhoven.
247. van Zijl, G., 2004. Modeling Masonry Shear-Compression: Role of Dilatancy
Highlighted. Journal of Engineering Mechanics, 130(11), pp. 1289-1296.
248. van Zijl, G. P., 2000. Computational modelling of masonry creep and shrinkage,
Delft, The Netherlands: Dissertation, Technical University of Delft.
249. van Zijl, G. P. A. G., 2004. Modeling Masonry Shear-Compression: Role of
Dilatancy Highlighted. Journal of Engineering Mechanics, 130(11), pp. 1289-1296.
250. van Zijl, G. P. A. G., de Borst, R. & Rots, J. G., 2001. The role of crack rate
dependence in the long-term behaviour of cementitious materials. International Journal of
Solids and Structures, 38(30-31), pp. 5063-5079.
251. Vermeltfoort, A. T., 2005. Brick-mortar interaction in masonry under compression,
Eindhoven, The Netherlands.: PhD Thesis, Eindhoven University of Technology.
234 References |
252. Wang, Z.-C., Zhao, D. S. & Yang, Q., 2009. Theoretical study on damage bifurcation
of unstable failure process of quasi-brittle materials. Transactions of Nonferrous Metals
Society of China, 19(3), pp. 811-818.
253. Wei, X. & Hao, H., 2009. Numerical derivation of homogenized dynamic masonry
material properties with strain rate effects. International Journal of Impact Engineering,
36(3), pp. 522-536.
254. Wells, G. N., Sluys, L. J. & de Borst, R., 2002. Simulating the propagation of
displacement discontinuities in a regularized strain-softening medium. International Journal
for Numerical Methods in Engineering, 53(5), pp. 1235-1256.
255. Wosatko, A., 2011. Gradient damage with volumetric-deviatoric decomposition and
one strain measure. Mechanics and Control, 30(4), pp. 254-263.
256. Xiao, J., Li, W., Corr, D. J. & Shah, S. P., 2013. Effects of interfacial transition zones
on the stress–strain behavior of modeled recycled aggregate concrete. Cement and Concrete
Research, Volume 52, pp. 82-99.
257. Xu, W. X. & Chen, H. S., 2013. Analytical and modeling investigations of volume
fraction of interfacial layers around ellipsoidal aggregate particles in multiphase materials.
Modelling and Simulation in Materials Science and Engineering, 21(1).
258. Yang, C. C., 1998. Effect of the Transition Zone on the Elastic Moduli of Mortar.
Cement and Concrete Research, 28(5), pp. 727-736.
259. Zheng, J., Zhou, X. & Jin, X., 2012. An n-layered spherical inclusion model for
predicting the elastic moduli of concrete with inhomogeneous ITZ. Cement and Concrete
Composites, 34(5), pp. 716-723.
260. Zhou, C., Li, K. & Ma, F., 2014. Numerical and statistical analysis of elastic modulus
of concrete as a three-phase heterogeneous composite. Computers & Structures, Volume 139,
pp. 33-42.
261. Zienkiewicz, O. C. & Taylor, R. L., 2004. The finite element method. Fifth ed.
s.l.:Butterworth-Heinemann.
262. Zucchini, A. & Lourenço, P. B., 2002. A micro-mechanical model for the
homogenisation of masonry. International Journal of Solids and Structures, 39(12), pp. 3233-
3255.
263. Zucchini, A. & Lourenco, P. B., 2004. A coupled homogenisation–damage model for
masonry cracking. Computers & Structures, 82(11-12), pp. 917-929.
264. Zucchini, A. & Lourenco, P. B., 2009. A micro-mechanical homogenisation model
for masonry: Application to shear walls. International Journal of Solids and Structures, 46(3-
4), pp. 871-886.
APPENDIX-A PYTHON codes
A-1 Appendix A |
Code A-1 Creating an ITZ embedded RVE from abaqus import * from abaqusConstants import * session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=362.829681396484, height=267.758331298828) session.viewports['Viewport: 1'].makeCurrent() session.viewports['Viewport: 1'].maximize() from caeModules import * from driverUtils import executeOnCaeStartup executeOnCaeStartup() session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=ON) Mdb() #: A new model database has been created. #: The model "Model-1" has been created. session.viewports['Viewport: 1'].setValues(displayedObject=None) s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=400.0) g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=STANDALONE) s.rectangle(point1=(-120.0, -30.0), point2=(120.0, 30.0)) p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=TWO_D_PLANAR, type=DEFORMABLE_BODY) p = mdb.models['Model-1'].parts['Part-1'] p.BaseShell(sketch=s) s.unsetPrimaryObject() p = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p) del mdb.models['Model-1'].sketches['__profile__'] p = mdb.models['Model-1'].parts['Part-1'] f, e, d1 = p.faces, p.edges, p.datums t = p.MakeSketchTransform(sketchPlane=f[0], sketchPlaneSide=SIDE1, origin=(0.0, 0.0, 0.0)) s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=494.77, gridSpacing=12.36, transform=t) g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints s1.setPrimaryObject(option=SUPERIMPOSE) p = mdb.models['Model-1'].parts['Part-1'] p.projectReferencesOntoSketch(sketch=s1, filter=COPLANAR_EDGES) s1.rectangle(point1=(-120.0, -30.0), point2=(-117.5, 0.0)) s1.unsetPrimaryObject() del mdb.models['Model-1'].sketches['__profile__'] p = mdb.models['Model-1'].parts['Part-1'] f1, e1, d2 = p.faces, p.edges, p.datums t = p.MakeSketchTransform(sketchPlane=f1[0], sketchPlaneSide=SIDE1, origin=( 0.0, 0.0, 0.0)) s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=494.77, gridSpacing=12.36, transform=t) g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints s.setPrimaryObject(option=SUPERIMPOSE) p = mdb.models['Model-1'].parts['Part-1'] p.projectReferencesOntoSketch(sketch=s,
filter=COPLANAR_EDGES) s.rectangle(point1=(-120.0, -30.0), point2=(-117.5, -27.5)) s.rectangle(point1=(-117.5, -30.0), point2=(-117.0, -27.5)) s.rectangle(point1=(-117.0, -30.0), point2=(-116.5, -27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.125, farPlane=496.42, width=19.9362, height=12.0737, cameraPosition=(-110.59, -26.259, 494.773), cameraTarget=(-110.59, -26.259, 0)) s.rectangle(point1=(-116.5, -30.0), point2=(-116.0, -27.5)) s.rectangle(point1=(-116.0, -30.0), point2=(-115.5, -27.5)) s.rectangle(point1=(-115.5, -30.0), point2=(-115.0, -27.5)) s.rectangle(point1=(-115.0, -30.0), point2=(-5.0, -27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.365, farPlane=497.18, width=29.1355, height=17.645, cameraPosition=(-1.9192, -23.9051, 494.773), cameraTarget=(-1.9192, -23.9051, 0)) s.rectangle(point1=(-5.0, -30.0), point2=(-2.5, -27.5)) s.rectangle(point1=(-2.5, -30.0), point2=(-2.0, -27.5)) s.rectangle(point1=(-2.0, -30.0), point2=(-1.5, -27.5)) s.rectangle(point1=(-1.5, -30.0), point2=(-1.0, -27.5)) s.rectangle(point1=(-1.0, -30.0), point2=(-0.5, -27.5)) s.rectangle(point1=(-0.5, -30.0), point2=(0.0, -27.5)) s.rectangle(point1=(0.0, -30.0), point2=(0.5, -27.5)) s.rectangle(point1=(0.5, -30.0), point2=(1.0, -27.5)) s.rectangle(point1=(1.0, -30.0), point2=(1.5, -27.5)) s.rectangle(point1=(1.5, -30.0), point2=(2.0, -27.5)) s.rectangle(point1=(2.0, -30.0), point2=(2.5, -27.5)) s.rectangle(point1=(2.5, -30.0), point2=(5.0, -27.5)) s.rectangle(point1=(5.0, -30.0), point2=(115.0, -27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.732, farPlane=496.814, width=24.6985, height=14.9579, cameraPosition=(117.05, -24.6164, 494.773), cameraTarget=(117.05, -24.6164, 0)) s.rectangle(point1=(115.0, -30.0), point2=(115.5, -27.5)) s.rectangle(point1=(115.5, -30.0), point2=(116.0, -27.5)) s.rectangle(point1=(116.0, -30.0), point2=(116.5, -27.5)) s.rectangle(point1=(116.5, -30.0), point2=(117.0, -27.5)) s.rectangle(point1=(117.0, -30.0), point2=(117.5, -27.5)) s.rectangle(point1=(117.5, -30.0), point2=(120.0, -27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=489.588, farPlane=499.957, width=62.7374, height=37.9949, cameraPosition=(-93.4505, -17.3211, 494.773), cameraTarget=(-93.4505, -17.3211, 0)) s.rectangle(point1=(-120.0, -27.0), point2=(-117.5, -26.5)) s.rectangle(point1=(-117.5, -27.0), point2=(-117.0, -26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.846, farPlane=496.699, width=26.3825, height=15.9777, cameraPosition=(-107.497, -22.9933, 494.773), cameraTarget=(-107.497, -22.9933, 0))
A-2 Appendix A |
s.rectangle(point1=(-117.0, -27.0), point2=(-116.5, -26.5)) s.rectangle(point1=(-116.5, -27.0), point2=(-116.0, -26.5)) s.rectangle(point1=(-116.0, -27.0), point2=(-115.5, -26.5)) s.rectangle(point1=(-115.5, -27.0), point2=(-115.0, -26.5)) s.rectangle(point1=(-115.0, -27.0), point2=(-5.0, -26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.715, farPlane=496.83, width=24.9011, height=15.0805, cameraPosition=(-1.21643, -23.8212, 494.773), cameraTarget=(-1.21643, -23.8212, 0)) s.rectangle(point1=(-5.0, -27.0), point2=(-2.5, -26.5)) s.rectangle(point1=(-2.5, -27.0), point2=(-2.0, -26.5)) s.rectangle(point1=(-2.0, -27.0), point2=(-1.5, -26.5)) s.rectangle(point1=(-1.5, -27.0), point2=(-1.0, -26.5)) s.rectangle(point1=(-1.0, -27.0), point2=(-0.5, -26.5)) s.rectangle(point1=(-0.5, -27.0), point2=(0.0, -26.5)) s.rectangle(point1=(0.0, -27.0), point2=(0.5, -26.5)) s.rectangle(point1=(0.5, -27.0), point2=(1.0, -26.5)) s.rectangle(point1=(1.0, -27.0), point2=(1.5, -26.5)) s.rectangle(point1=(1.5, -27.0), point2=(2.0, -26.5)) s.rectangle(point1=(2.0, -27.0), point2=(2.5, -26.5)) s.rectangle(point1=(2.5, -27.0), point2=(5.0, -26.5)) s.rectangle(point1=(5.0, -27.0), point2=(115.0, -26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.042, farPlane=496.503, width=20.9373, height=12.68, cameraPosition=(111.303, -25.0139, 494.773), cameraTarget=(111.303, -25.0139, 0)) s.rectangle(point1=(115.0, -27.0), point2=(115.5, -26.5)) s.rectangle(point1=(115.5, -27.0), point2=(116.0, -26.5)) s.rectangle(point1=(116.0, -27.0), point2=(116.5, -26.5)) s.rectangle(point1=(116.5, -27.0), point2=(117.0, -26.5)) s.rectangle(point1=(117.0, -27.0), point2=(117.5, -26.5)) s.rectangle(point1=(117.5, -27.0), point2=(120.0, -26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.907, farPlane=495.638, width=11.8502, height=7.17671, cameraPosition=(-114.234, -25.8016, 494.773), cameraTarget=(-114.234, -25.8016, 0)) s.rectangle(point1=(-120.0, -27.5), point2=(-117.5, -27.0)) s.rectangle(point1=(-117.5, -27.5), point2=(-117.0, -27.0)) s.rectangle(point1=(-117.0, -27.5), point2=(-116.5, -27.0)) s.rectangle(point1=(-116.5, -27.5), point2=(-116.0, -27.0)) s.rectangle(point1=(-116.0, -27.5), point2=(-115.5, -27.0)) s.rectangle(point1=(-115.5, -27.5), point2=(-115.0, -27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.359, farPlane=496.186, width=17.1065, height=10.36, cameraPosition=(-4.50565, -26.0558, 494.773), cameraTarget=(-4.50565, -26.0558, 0)) s.rectangle(point1=(-115.0, -27.5), point2=(-5.0, -27.0)) s.rectangle(point1=(-5.0, -27.5), point2=(-2.5, -27.0)) s.rectangle(point1=(-2.5, -27.5), point2=(-2.0, -27.0))
s.rectangle(point1=(-2.0, -27.5), point2=(-1.5, -27.0)) s.rectangle(point1=(-1.5, -27.5), point2=(-1.0, -27.0)) s.rectangle(point1=(-1.0, -27.5), point2=(-0.5, -27.0)) s.rectangle(point1=(-0.5, -27.5), point2=(0.0, -27.0)) s.rectangle(point1=(0.0, -27.5), point2=(0.5, -27.0)) s.rectangle(point1=(0.5, -27.5), point2=(1.0, -27.0)) s.rectangle(point1=(1.0, -27.5), point2=(1.5, -27.0)) s.rectangle(point1=(1.5, -27.5), point2=(2.0, -27.0)) s.rectangle(point1=(2.0, -27.5), point2=(2.5, -27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.594, farPlane=495.952, width=14.2665, height=8.64006, cameraPosition=(4.05735, -26.504, 494.773), cameraTarget=(4.05735, -26.504, 0)) s.rectangle(point1=(2.5, -27.5), point2=(5.0, -27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.893, farPlane=495.652, width=10.6427, height=6.44539, cameraPosition=(117.294, -26.4963, 494.773), cameraTarget=(117.294, -26.4963, 0)) s.rectangle(point1=(5.0, -27.5), point2=(115.0, -27.0)) s.rectangle(point1=(115.0, -27.5), point2=(115.5, -27.0)) s.rectangle(point1=(115.5, -27.5), point2=(116.0, -27.0)) s.rectangle(point1=(116.0, -27.5), point2=(116.5, -27.0)) s.rectangle(point1=(116.5, -27.5), point2=(117.0, -27.0)) s.rectangle(point1=(117.0, -27.5), point2=(117.5, -27.0)) s.rectangle(point1=(117.5, -27.5), point2=(120.0, -27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.113, farPlane=496.432, width=20.0846, height=12.1636, cameraPosition=(-114.278, -23.2024, 494.773), cameraTarget=(-114.278, -23.2024, 0)) s.rectangle(point1=(-120.0, -26.0), point2=(-117.5, -25.5)) s.rectangle(point1=(-117.5, -26.0), point2=(-117.0, -25.5)) s.rectangle(point1=(-117.0, -26.0), point2=(-116.5, -25.5)) s.rectangle(point1=(-116.5, -26.0), point2=(-116.0, -25.5)) s.rectangle(point1=(-116.0, -26.0), point2=(-115.5, -25.5)) s.rectangle(point1=(-115.5, -26.0), point2=(-115.0, -25.5)) s.rectangle(point1=(-115.0, -26.0), point2=(-5.0, -25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.371, farPlane=496.174, width=16.9566, height=10.2693, cameraPosition=(-0.982128, -23.9971, 494.773), cameraTarget=(-0.982128, -23.9971, 0)) s.rectangle(point1=(-5.0, -26.0), point2=(-2.5, -25.5)) s.rectangle(point1=(-2.5, -26.0), point2=(-2.0, -25.5)) s.rectangle(point1=(-2.0, -26.0), point2=(-1.5, -25.5)) s.rectangle(point1=(-1.5, -26.0), point2=(-1.0, -25.5)) s.rectangle(point1=(-1.0, -26.0), point2=(-0.5, -25.5)) s.rectangle(point1=(-0.5, -26.0), point2=(0.0, -25.5)) s.rectangle(point1=(0.0, -26.0), point2=(0.5, -25.5)) s.rectangle(point1=(0.5, -26.0), point2=(1.0, -25.5)) s.rectangle(point1=(1.0, -26.0), point2=(1.5, -25.5)) s.rectangle(point1=(1.5, -26.0), point2=(2.0, -25.5)) s.rectangle(point1=(2.0, -26.0), point2=(2.5, -25.5)) s.rectangle(point1=(2.5, -26.0), point2=(5.0, -25.5)) session.viewports['Viewport:
A-3 Appendix A |
1'].view.setValues(nearPlane=493.044, farPlane=496.502, width=20.9216, height=12.6705, cameraPosition=(110.593, -22.9149, 494.773), cameraTarget=(110.593, -22.9149, 0)) s.rectangle(point1=(5.0, -26.0), point2=(115.0, -25.5)) s.rectangle(point1=(115.0, -26.0), point2=(115.5, -25.5)) s.rectangle(point1=(115.5, -26.0), point2=(116.0, -25.5)) s.rectangle(point1=(116.0, -26.0), point2=(116.5, -25.5)) s.rectangle(point1=(116.5, -26.0), point2=(117.0, -25.5)) s.rectangle(point1=(117.0, -26.0), point2=(117.5, -25.5)) s.rectangle(point1=(117.5, -26.0), point2=(120.0, -25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.427, farPlane=497.119, width=28.3895, height=17.1932, cameraPosition=(-106.263, -22.8564, 494.773), cameraTarget=(-106.263, -22.8564, 0)) s.rectangle(point1=(-120.0, -26.5), point2=(-117.5, -26.0)) s.rectangle(point1=(-117.5, -26.5), point2=(-117.0, -26.0)) s.rectangle(point1=(-117.0, -26.5), point2=(-116.5, -26.0)) s.rectangle(point1=(-116.5, -26.5), point2=(-116.0, -26.0)) s.rectangle(point1=(-116.0, -26.5), point2=(-115.5, -26.0)) s.rectangle(point1=(-115.5, -26.5), point2=(-115.0, -26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.54, farPlane=497.005, width=27.015, height=16.3608, cameraPosition=(4.93193, -26.5892, 494.773), cameraTarget=(4.93193, -26.5892, 0)) s.rectangle(point1=(-115.0, -26.5), point2=(-5.0, -26.0)) s.rectangle(point1=(-5.0, -26.5), point2=(-2.5, -26.0)) s.rectangle(point1=(-2.5, -26.5), point2=(-2.0, -26.0)) s.rectangle(point1=(-2.0, -26.5), point2=(-1.5, -26.0)) s.rectangle(point1=(-1.5, -26.5), point2=(-1.0, -26.0)) s.rectangle(point1=(-1.0, -26.5), point2=(-0.5, -26.0)) s.rectangle(point1=(-0.5, -26.5), point2=(0.0, -26.0)) s.rectangle(point1=(0.0, -26.5), point2=(0.5, -26.0)) s.rectangle(point1=(0.5, -26.5), point2=(1.0, -26.0)) s.rectangle(point1=(1.0, -26.5), point2=(1.5, -26.0)) s.rectangle(point1=(1.5, -26.5), point2=(2.0, -26.0)) s.rectangle(point1=(2.0, -26.5), point2=(2.5, -26.0)) s.rectangle(point1=(2.5, -26.5), point2=(5.0, -26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.741, farPlane=495.805, width=12.4868, height=7.56223, cameraPosition=(114.378, -26.1904, 494.773), cameraTarget=(114.378, -26.1904, 0)) s.rectangle(point1=(5.0, -26.5), point2=(115.0, -26.0)) s.rectangle(point1=(115.0, -26.5), point2=(115.5, -26.0)) s.rectangle(point1=(115.5, -26.5), point2=(116.0, -26.0)) s.rectangle(point1=(116.0, -26.5), point2=(116.5, -26.0)) s.rectangle(point1=(116.5, -26.5), point2=(117.0, -26.0)) s.rectangle(point1=(117.0, -26.5), point2=(117.5, -26.0)) s.rectangle(point1=(117.5, -26.5), point2=(120.0, -26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.277, farPlane=497.268, width=30.1998, height=18.2896, cameraPosition=(-106.458, -24.8071, 494.773), cameraTarget=(-106.458, -
24.8071, 0)) s.rectangle(point1=(-120.0, -25.0), point2=(-117.5, 25.0)) s.rectangle(point1=(-117.5, -25.0), point2=(-117.0, 25.0)) s.rectangle(point1=(-117.0, -25.0), point2=(-116.5, 25.0)) s.rectangle(point1=(-116.5, -25.0), point2=(-116.0, 25.0)) s.rectangle(point1=(-116.0, -25.0), point2=(-115.5, 25.0)) s.rectangle(point1=(-115.5, -25.0), point2=(-115.0, 25.0)) s.rectangle(point1=(-115.0, -25.0), point2=(-5.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.044, farPlane=496.501, width=20.9192, height=12.669, cameraPosition=(-1.23187, -22.8889, 494.773), cameraTarget=(-1.23187, -22.8889, 0)) s.rectangle(point1=(-5.0, -25.0), point2=(-25.5, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.381, farPlane=499.164, width=53.1374, height=32.181, cameraPosition=(-18.8275, -22.2424, 494.773), cameraTarget=(-18.8275, -22.2424, 0)) s.delete(objectList=(g[556], )) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.381, farPlane=499.164, width=60.1374, height=36.4203, cameraPosition=(-18.3292, -21.9957, 494.773), cameraTarget=(-18.3292, -21.9957, 0)) s.rectangle(point1=(-5.0, -25.0), point2=(-2.5, 25.0)) s.rectangle(point1=(-2.5, -25.0), point2=(-2.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.926, farPlane=496.619, width=22.3455, height=13.5328, cameraPosition=(-1.48716, -22.0288, 494.773), cameraTarget=(-1.48716, -22.0288, 0)) s.rectangle(point1=(-2.0, -25.0), point2=(-1.5, 25.0)) s.rectangle(point1=(-1.5, -25.0), point2=(-1.0, 25.0)) s.rectangle(point1=(-1.0, -25.0), point2=(-0.5, 25.0)) s.rectangle(point1=(-0.5, -25.0), point2=(0.0, 25.0)) s.rectangle(point1=(0.0, -25.0), point2=(0.5, 25.0)) s.rectangle(point1=(0.5, -25.0), point2=(1.0, 25.0)) s.rectangle(point1=(1.0, -25.0), point2=(1.5, 25.0)) s.rectangle(point1=(1.5, -25.0), point2=(2.0, 25.0)) s.rectangle(point1=(2.0, -25.0), point2=(2.5, 25.0)) s.rectangle(point1=(2.5, -25.0), point2=(5.0, 25.0)) s.rectangle(point1=(5.0, -25.0), point2=(115.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.818, farPlane=495.727, width=11.5468, height=6.99296, cameraPosition=(114.386, -24.8328, 494.773), cameraTarget=(114.386, -24.8328, 0)) s.rectangle(point1=(115.0, -25.0), point2=(115.5, 25.0)) s.rectangle(point1=(115.5, -25.0), point2=(116.0, 25.0)) s.rectangle(point1=(116.0, -25.0), point2=(116.5, 25.0)) s.rectangle(point1=(116.5, -25.0), point2=(117.0, 25.0)) s.rectangle(point1=(117.0, -25.0), point2=(117.5, 25.0)) s.rectangle(point1=(117.5, -25.0), point2=(120.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.652, farPlane=495.894, width=13.5649, height=8.21512, cameraPosition=(-114.093, -25.0033, 494.773), cameraTarget=(-114.093, -25.0033, 0)) s.rectangle(point1=(-120.0, -25.5), point2=(-117.5, -25.0))
A-4 Appendix A |
s.rectangle(point1=(-117.5, -25.5), point2=(-117.0, -25.0)) s.rectangle(point1=(-117.0, -25.5), point2=(-116.5, -25.0)) s.rectangle(point1=(-116.5, -25.5), point2=(-116.0, -25.0)) s.rectangle(point1=(-116.0, -25.5), point2=(-115.5, -25.0)) s.rectangle(point1=(-115.5, -25.5), point2=(-115.0, -25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.843, farPlane=497.703, width=35.4554, height=21.4724, cameraPosition=(-21.2624, -23.5603, 494.773), cameraTarget=(-21.2624, -23.5603, 0)) s.rectangle(point1=(-115.0, -25.5), point2=(-5.0, -25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.174, farPlane=496.371, width=19.3433, height=11.7146, cameraPosition=(-0.73084, -24.4841, 494.773), cameraTarget=(-0.73084, -24.4841, 0)) s.rectangle(point1=(-5.0, -25.5), point2=(-2.5, -25.0)) s.rectangle(point1=(-2.5, -25.5), point2=(-2.0, -25.0)) s.rectangle(point1=(-2.0, -25.5), point2=(-1.5, -25.0)) s.rectangle(point1=(-1.5, -25.5), point2=(-1.0, -25.0)) s.rectangle(point1=(-1.0, -25.5), point2=(-0.5, -25.0)) s.rectangle(point1=(-0.5, -25.5), point2=(0.0, -25.0)) s.rectangle(point1=(0.0, -25.5), point2=(0.5, -25.0)) s.rectangle(point1=(0.5, -25.5), point2=(1.0, -25.0)) s.rectangle(point1=(1.0, -25.5), point2=(1.5, -25.0)) s.rectangle(point1=(1.5, -25.5), point2=(2.0, -25.0)) s.rectangle(point1=(2.0, -25.5), point2=(2.5, -25.0)) s.rectangle(point1=(2.5, -25.5), point2=(5.0, -25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.506, farPlane=496.04, width=15.3337, height=9.28634, cameraPosition=(113.931, -24.8814, 494.773), cameraTarget=(113.931, -24.8814, 0)) s.rectangle(point1=(5.0, -25.5), point2=(115.0, -25.0)) s.rectangle(point1=(115.0, -25.5), point2=(115.5, -25.0)) s.rectangle(point1=(115.5, -25.5), point2=(116.0, -25.0)) s.rectangle(point1=(116.0, -25.5), point2=(116.5, -25.0)) s.rectangle(point1=(116.5, -25.5), point2=(117.0, -25.0)) s.rectangle(point1=(117.0, -25.5), point2=(117.5, -25.0)) s.rectangle(point1=(117.5, -25.5), point2=(120.0, -25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.27, farPlane=497.275, width=30.2859, height=18.3417, cameraPosition=(-108.227, 28.9904, 494.773), cameraTarget=(-108.227, 28.9904, 0)) s.rectangle(point1=(-120.0, 25.5), point2=(-117.5, 26.0)) s.rectangle(point1=(-117.5, 25.5), point2=(-117.0, 26.0)) s.rectangle(point1=(-117.0, 25.5), point2=(-116.5, 26.0)) s.rectangle(point1=(-116.5, 25.5), point2=(-116.0, 26.0)) s.rectangle(point1=(-116.0, 25.5), point2=(-115.5, 26.0)) s.rectangle(point1=(-115.5, 25.5), point2=(-115.0, 26.0)) s.rectangle(point1=(-115.0, 25.5), point2=(-5.0, 26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.208, farPlane=496.337, width=18.93, height=11.4644, cameraPosition=(-0.0648434, 28.0401, 494.773), cameraTarget=(-0.0648434, 28.0401, 0))
s.rectangle(point1=(-5.0, 25.5), point2=(-25.5, 26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.61, farPlane=495.935, width=14.0641, height=8.51744, cameraPosition=(-23.4347, 28.1219, 494.773), cameraTarget=(-23.4347, 28.1219, 0)) s.undo() session.viewports['Viewport: 1'].view.setValues(nearPlane=493.916, farPlane=495.629, width=10.3639, height=6.27656, cameraPosition=(-2.2029, 26.8322, 494.773), cameraTarget=(-2.2029, 26.8322, 0)) s.rectangle(point1=(-5.0, 25.5), point2=(-2.5, 26.0)) s.rectangle(point1=(-2.5, 25.5), point2=(-2.0, 26.0)) s.rectangle(point1=(-2.0, 25.5), point2=(-1.5, 26.0)) s.rectangle(point1=(-1.5, 25.5), point2=(-1.0, 26.0)) s.rectangle(point1=(-1.0, 25.5), point2=(-0.5, 26.0)) s.rectangle(point1=(-0.5, 25.5), point2=(0.0, 26.0)) s.rectangle(point1=(0.0, 25.5), point2=(0.5, 26.0)) s.rectangle(point1=(0.5, 25.5), point2=(1.0, 26.0)) s.rectangle(point1=(1.0, 25.5), point2=(1.5, 26.0)) s.rectangle(point1=(1.5, 25.5), point2=(2.0, 26.0)) s.rectangle(point1=(2.0, 25.5), point2=(2.5, 26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.669, farPlane=497.877, width=37.5616, height=22.748, cameraPosition=(8.38624, 28.3411, 494.773), cameraTarget=(8.38624, 28.3411, 0)) s.rectangle(point1=(2.5, 25.5), point2=(5.0, 26.0)) s.rectangle(point1=(5.0, 25.5), point2=(115.0, 26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.525, farPlane=496.02, width=15.0922, height=9.14013, cameraPosition=(115.253, 27.2694, 494.773), cameraTarget=(115.253, 27.2694, 0)) s.rectangle(point1=(115.0, 25.5), point2=(115.5, 26.0)) s.rectangle(point1=(115.5, 25.5), point2=(116.0, 26.0)) s.rectangle(point1=(116.0, 25.5), point2=(116.5, 26.0)) s.rectangle(point1=(116.5, 25.5), point2=(117.0, 26.0)) s.rectangle(point1=(117.0, 25.5), point2=(117.5, 26.0)) s.rectangle(point1=(117.5, 25.5), point2=(120.0, 26.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.789, farPlane=495.756, width=11.9013, height=7.20764, cameraPosition=(-114.357, 26.1304, 494.773), cameraTarget=(-114.357, 26.1304, 0)) s.rectangle(point1=(-120.0, 25.0), point2=(-117.5, 25.5)) s.rectangle(point1=(-117.5, 25.0), point2=(-117.0, 25.5)) s.rectangle(point1=(-117.0, 25.0), point2=(-116.5, 25.5)) s.rectangle(point1=(-116.5, 25.0), point2=(-116.0, 25.5)) s.rectangle(point1=(-116.0, 25.0), point2=(-115.5, 25.5)) s.rectangle(point1=(-115.5, 25.0), point2=(-115.0, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.821, farPlane=495.724, width=11.5116, height=6.97161, cameraPosition=(-7.19121, 25.3347, 494.773), cameraTarget=(-7.19121, 25.3347, 0)) s.rectangle(point1=(-115.0, 25.0), point2=(-5.0, 25.5)) s.rectangle(point1=(-5.0, 25.0), point2=(-2.5, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.425,
A-5 Appendix A |
farPlane=496.121, width=16.3122, height=9.87895, cameraPosition=(1.61507, 24.3844, 494.773), cameraTarget=(1.61507, 24.3844, 0)) s.rectangle(point1=(-2.5, 25.0), point2=(-2.0, 25.5)) s.rectangle(point1=(-2.0, 25.0), point2=(-1.5, 25.5)) s.rectangle(point1=(-1.5, 25.0), point2=(-1.0, 25.5)) s.rectangle(point1=(-1.0, 25.0), point2=(-0.5, 25.5)) s.rectangle(point1=(-0.5, 25.0), point2=(0.0, 25.5)) s.rectangle(point1=(0.0, 25.0), point2=(0.5, 25.5)) s.rectangle(point1=(0.5, 25.0), point2=(1.0, 25.5)) s.rectangle(point1=(1.0, 25.0), point2=(1.5, 25.5)) s.rectangle(point1=(1.5, 25.0), point2=(2.0, 25.5)) s.rectangle(point1=(2.0, 25.0), point2=(2.5, 25.5)) s.rectangle(point1=(2.5, 25.0), point2=(5.0, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.931, farPlane=495.615, width=10.19, height=6.17124, cameraPosition=(114.961, 24.8012, 494.773), cameraTarget=(114.961, 24.8012, 0)) s.rectangle(point1=(5.0, 25.0), point2=(115.0, 25.5)) s.rectangle(point1=(115.0, 25.0), point2=(115.5, 25.5)) s.rectangle(point1=(115.5, 25.0), point2=(116.0, 25.5)) s.rectangle(point1=(116.0, 25.0), point2=(116.5, 25.5)) s.rectangle(point1=(116.5, 25.0), point2=(117.0, 25.5)) s.rectangle(point1=(117.0, 25.0), point2=(117.5, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.759, farPlane=495.787, width=13.8846, height=8.40878, cameraPosition=(114.895, 24.4394, 494.773), cameraTarget=(114.895, 24.4394, 0)) s.rectangle(point1=(117.5, 25.0), point2=(120.0, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.463, farPlane=496.082, width=15.8425, height=9.59453, cameraPosition=(-0.996821, -26.1855, 494.773), cameraTarget=(-0.996821, -26.1855, 0)) s.delete(objectList=(c[292], )) s.delete(objectList=(c[293], )) s.delete(objectList=(c[271], )) s.delete(objectList=(g[52], )) s.delete(objectList=(g[54], )) s.delete(objectList=(g[48], )) s.delete(objectList=(g[50], )) s.delete(objectList=(g[44], )) s.delete(objectList=(g[46], )) s.delete(objectList=(g[40], )) s.delete(objectList=(g[42], )) s.delete(objectList=(c[291], )) s.delete(objectList=(c[206], )) s.delete(objectList=(c[209], )) s.delete(objectList=(g[36], )) s.delete(objectList=(g[38], )) s.delete(objectList=(c[185], )) s.delete(objectList=(c[188], )) s.delete(objectList=(g[60], )) s.delete(objectList=(g[64], )) s.delete(objectList=(g[62], )) s.delete(objectList=(g[56], )) s.delete(objectList=(g[58], )) s.delete(objectList=(g[66], )) s.delete(objectList=(g[68], )) s.delete(objectList=(g[70], )) s.delete(objectList=(g[72], ))
s.delete(objectList=(g[74], )) s.delete(objectList=(g[76], )) s.delete(objectList=(g[78], )) s.delete(objectList=(c[418], )) s.delete(objectList=(c[417], )) s.rectangle(point1=(-5.0, -30.0), point2=(-4.5, -27.5)) s.rectangle(point1=(-4.5, -30.0), point2=(-4.0, -27.5)) s.rectangle(point1=(-4.0, -30.0), point2=(-3.5, -27.5)) s.rectangle(point1=(-3.5, -30.0), point2=(-3.0, -27.5)) s.rectangle(point1=(-3.0, -30.0), point2=(-2.5, -27.5)) s.rectangle(point1=(-2.5, -30.0), point2=(0.0, -27.5)) s.rectangle(point1=(0.0, -30.0), point2=(2.5, -27.5)) s.rectangle(point1=(2.5, -30.0), point2=(3.0, -27.5)) s.rectangle(point1=(3.0, -30.0), point2=(3.5, -27.5)) s.rectangle(point1=(3.5, -30.0), point2=(4.0, -27.5)) s.rectangle(point1=(4.0, -30.0), point2=(4.5, -27.5)) s.rectangle(point1=(4.5, -30.0), point2=(5.0, -27.5)) s.delete(objectList=(c[1278], )) s.delete(objectList=(g[244], )) s.delete(objectList=(g[246], )) s.delete(objectList=(g[248], )) s.delete(objectList=(g[250], )) s.delete(objectList=(g[252], )) s.delete(objectList=(g[254], )) s.delete(objectList=(g[256], )) s.delete(objectList=(g[258], )) s.delete(objectList=(g[260], )) s.delete(objectList=(g[262], )) s.delete(objectList=(g[264], )) s.delete(objectList=(g[266], )) s.delete(objectList=(g[268], )) s.delete(objectList=(g[270], )) s.delete(objectList=(g[272], )) s.delete(objectList=(g[274], )) s.delete(objectList=(g[276], )) s.delete(objectList=(g[278], )) s.delete(objectList=(g[280], )) s.delete(objectList=(g[282], )) s.delete(objectList=(c[1488], )) s.delete(objectList=(c[1489], )) s.delete(objectList=(c[1280], )) s.delete(objectList=(c[1277], )) s.delete(objectList=(c[734], )) s.delete(objectList=(c[731], )) s.delete(objectList=(c[2372], )) s.delete(objectList=(c[2369], )) s.delete(objectList=(c[1826], )) s.delete(objectList=(c[1823], )) s.delete(objectList=(c[3485], )) s.delete(objectList=(c[3482], )) s.delete(objectList=(g[140], )) s.delete(objectList=(g[142], )) s.delete(objectList=(g[452], )) s.delete(objectList=(g[454], )) s.delete(objectList=(g[348], )) s.delete(objectList=(g[350], )) s.delete(objectList=(c[3506], )) s.delete(objectList=(g[664], )) s.delete(objectList=(g[666], )) s.delete(objectList=(g[668], )) s.delete(objectList=(g[670], )) s.delete(objectList=(g[352], )) s.delete(objectList=(g[354], )) s.delete(objectList=(g[456], )) s.delete(objectList=(g[458], )) s.delete(objectList=(g[144], )) s.delete(objectList=(g[146], ))
A-6 Appendix A |
s.delete(objectList=(g[148], )) s.delete(objectList=(g[150], )) s.delete(objectList=(g[152], )) s.delete(objectList=(g[154], )) s.delete(objectList=(g[156], )) s.delete(objectList=(g[158], )) s.delete(objectList=(g[160], )) s.delete(objectList=(g[162], )) s.delete(objectList=(g[164], )) s.delete(objectList=(g[166], )) s.delete(objectList=(g[168], )) s.delete(objectList=(g[170], )) s.delete(objectList=(g[172], )) s.delete(objectList=(g[174], )) s.delete(objectList=(g[176], )) s.delete(objectList=(g[178], )) s.delete(objectList=(c[1323], )) s.delete(objectList=(g[460], )) s.delete(objectList=(g[462], )) s.delete(objectList=(c[756], c[777], c[798])) s.delete(objectList=(g[464], g[466], g[468], g[470], g[472], g[474], g[476], g[478], g[480], g[482], g[484], g[486], g[488], g[490], c[819], c[840], c[861], c[882], c[903], c[924], c[945], c[2434], c[2455], c[2456], c[2476], c[2477], c[2497], c[2498], c[2518], c[2519], c[2539], c[2540], c[2560], c[2561], c[2582])) s.delete(objectList=(c[1281], c[1302], c[1344], c[1365], c[1386], c[1407], c[1428], c[1449], c[1470], c[1491])) s.delete(objectList=(c[210], c[231], c[252], c[273], c[294], c[315], c[336], c[357], c[378], c[399], c[5082], c[5103])) s.delete(objectList=(g[356], g[358], g[360], g[362], g[364], g[366], g[368], g[370], g[372], g[374], g[376], g[378], g[380], g[382], g[384], g[386], c[1867], c[1888], c[1889], c[1909], c[1910], c[1930], c[1931], c[1951], c[1952], c[1972], c[1973], c[1993], c[1994], c[2014], c[2015], c[2036], c[2373], c[2394], c[2415], c[2436], c[2457], c[2478], c[2499], c[2520], c[2541], c[2562], c[2583])) s.delete(objectList=(c[735], )) s.delete(objectList=(g[672], g[674], g[676], g[678], g[680], g[682], g[684], g[686], g[688], g[690], g[692], g[694], g[696], g[698], g[700], g[702], c[1827], c[1848], c[1869], c[1890], c[1911], c[1932], c[1953], c[1974], c[1995], c[2016], c[2037], c[3526], c[3547], c[3548], c[3568], c[3569], c[3589], c[3590], c[3610], c[3611], c[3631], c[3632], c[3652], c[3653], c[3673], c[3674], c[3695])) s.delete(objectList=(g[560], g[562], g[564], g[566], g[568], g[570], g[572], g[574], g[576], g[578], g[580], g[582], g[584], g[586], g[588], g[590], g[592], g[594], g[596], g[598], c[2938], c[2959], c[2960], c[2980], c[2981], c[3001], c[3002], c[3022], c[3023], c[3043], c[3044], c[3064], c[3065], c[3085], c[3086], c[3106], c[3107], c[3127],
c[3128], c[3149], c[3486], c[3507], c[3528], c[3549], c[3570], c[3591], c[3612], c[3633], c[3654], c[3675], c[3696])) s.delete(objectList=(g[39], g[43], g[47], g[51], g[55], g[249], g[253], g[257], g[261], g[265], g[967])) s.delete(objectList=(g[2], g[41], g[45], g[49], g[53], g[57], g[969])) s.delete(objectList=(g[61], g[65], g[69], g[73], g[77], g[973], c[5102])) s.rectangle(point1=(-2.5, -30.0), point2=(0.0, -27.5)) s.delete(objectList=(g[59], g[63], g[67], g[71], g[75], g[269], g[273], g[277], g[281], g[285], g[971])) s.rectangle(point1=(0.0, -30.0), point2=(2.5, -27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.653, farPlane=495.892, width=13.5479, height=8.20484, cameraPosition=(-1.50289, -25.4435, 494.773), cameraTarget=(-1.50289, -25.4435, 0)) s.rectangle(point1=(-5.0, -27.5), point2=(-4.5, -27.0)) s.rectangle(point1=(-4.5, -27.5), point2=(-4.0, -27.0)) s.rectangle(point1=(-4.0, -27.5), point2=(-3.5, -27.0)) s.delete(objectList=(g[141], )) s.delete(objectList=(g[243], )) s.delete(objectList=(g[145], g[149], g[153], g[157], g[161], g[165], g[169], g[173], g[177], g[181], g[247], g[251], g[255], g[259], g[263], g[267], g[271], g[275], g[279], g[283])) s.delete(objectList=(g[139], g[143], g[147], g[151], g[155], g[159], g[163], g[167], g[171], g[175], g[179], g[347], g[349], g[351], g[353], g[355], g[357], g[359], g[361], g[363], g[365], g[367], g[369], g[371], g[373], g[375], g[377], g[379], g[381], g[383], g[385], g[387], g[389], g[451], g[453], g[455], g[457], g[459], g[461], g[463], g[465], g[467], g[469], g[471], g[473], g[475], g[477], g[479], g[481], g[483], g[485], g[487], g[489], g[491], g[493], g[561], g[565], g[569], g[573], g[577], g[581], g[585], g[589], g[593], g[597], g[601], g[663], g[665], g[667], g[669], g[671], g[673], g[675], g[677], g[679], g[681], g[683], g[685], g[687], g[689], g[691], g[693], g[695], g[697], g[699], g[701], g[703], g[705])) s.rectangle(point1=(-3.5, -27.5), point2=(-3.0, -27.0)) s.rectangle(point1=(-3.0, -27.5), point2=(-2.5, -27.0)) s.rectangle(point1=(-2.5, -27.5), point2=(2.5, -27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.339, farPlane=496.207, width=19.6383, height=11.8933, cameraPosition=(-1.19556, -24.7085, 494.773), cameraTarget=(-1.19556, -24.7085, 0)) s.undo() s.rectangle(point1=(-2.5, -27.5), point2=(0.0, -27.0)) s.delete(objectList=(g[180], g[182], g[183], g[185], g[284], g[286], g[287], g[388], g[390], g[391], g[393], g[492], g[494], g[495],
A-7 Appendix A |
g[497], g[600], g[602], g[605], g[704], g[706], g[707], g[709], c[420], c[962], c[963], c[964], c[965], c[966], c[1508], c[1509], c[1510], c[1511], c[1512], c[2054], c[2055], c[2056], c[2057], c[2058], c[2600], c[2601], c[2602], c[2603], c[2604], c[3169], c[3170], c[3713], c[3714], c[3715], c[3716], c[3717], c[5124], c[5145], c[5166], c[5187], c[5208])) s.rectangle(point1=(0.0, -27.5), point2=(2.5, -27.0)) s.rectangle(point1=(2.5, -27.5), point2=(3.0, -27.0)) s.rectangle(point1=(3.0, -27.5), point2=(3.5, -27.0)) s.rectangle(point1=(3.5, -27.5), point2=(4.0, -27.0)) s.rectangle(point1=(4.0, -27.5), point2=(4.5, -27.0)) s.rectangle(point1=(4.5, -27.5), point2=(5.0, -27.0)) s.rectangle(point1=(-5.0, -26.5), point2=(-4.5, -26.0)) s.rectangle(point1=(-4.5, -26.5), point2=(-4.0, -26.0)) s.rectangle(point1=(-4.0, -26.5), point2=(-3.0, -26.0)) s.undo() s.rectangle(point1=(-4.0, -26.5), point2=(-3.5, -26.0)) s.rectangle(point1=(-3.5, -26.5), point2=(-3.0, -26.0)) s.rectangle(point1=(-3.0, -26.5), point2=(-2.5, -26.0)) s.rectangle(point1=(-2.5, -26.5), point2=(0.0, -26.0)) s.rectangle(point1=(0.0, -26.5), point2=(2.5, -26.0)) s.rectangle(point1=(2.5, -26.5), point2=(3.0, -26.0)) s.rectangle(point1=(3.0, -26.5), point2=(3.5, -26.0)) s.rectangle(point1=(3.5, -26.5), point2=(4.0, -26.0)) s.rectangle(point1=(4.0, -26.5), point2=(4.5, -26.0)) s.rectangle(point1=(4.5, -26.5), point2=(5.0, -26.0)) s.rectangle(point1=(-5.0, -27.0), point2=(-4.5, -26.5)) s.rectangle(point1=(-4.5, -27.0), point2=(-4.0, -26.5)) s.rectangle(point1=(-4.0, -27.0), point2=(-3.5, -26.5)) s.rectangle(point1=(-3.5, -27.0), point2=(-3.0, -26.5)) s.rectangle(point1=(-3.0, -27.0), point2=(-2.5, -26.5)) s.rectangle(point1=(-2.5, -27.0), point2=(0.0, -26.5)) s.rectangle(point1=(0.0, -27.0), point2=(2.5, -26.5)) s.rectangle(point1=(2.5, -27.0), point2=(3.0, -26.5)) s.rectangle(point1=(3.0, -27.0), point2=(3.5, -26.5)) s.rectangle(point1=(3.5, -27.0), point2=(4.0, -26.5)) s.rectangle(point1=(4.0, -27.0), point2=(4.5, -26.5)) s.rectangle(point1=(4.5, -27.0), point2=(5.0, -26.5)) s.rectangle(point1=(-5.0, -25.5), point2=(-4.5, -25.0)) s.rectangle(point1=(-4.5, -25.5), point2=(-4.0, -25.0)) s.rectangle(point1=(-4.0, -25.5), point2=(-3.5, -25.0)) s.rectangle(point1=(-3.5, -25.5), point2=(-3.0, -25.0)) s.rectangle(point1=(-3.0, -25.5), point2=(-2.5, -25.0)) s.rectangle(point1=(-2.5, -25.5), point2=(0.0, -25.0)) s.rectangle(point1=(0.0, -25.5), point2=(2.5, -25.0)) s.rectangle(point1=(2.5, -25.5), point2=(3.0, -25.0)) s.rectangle(point1=(3.0, -25.5), point2=(3.5, -25.0)) s.rectangle(point1=(3.5, -25.5), point2=(4.0, -25.0)) s.rectangle(point1=(4.0, -25.5), point2=(4.5, -25.0)) s.rectangle(point1=(4.5, -25.5), point2=(5.0, -25.0)) s.rectangle(point1=(-5.0, -26.0), point2=(-4.5, -25.5)) s.rectangle(point1=(-4.5, -26.0), point2=(-4.0, -25.5)) s.rectangle(point1=(-4.0, -26.0), point2=(-3.5, -25.5)) s.rectangle(point1=(-3.5, -26.0), point2=(-3.0, -25.5)) s.rectangle(point1=(-3.0, -26.0), point2=(-2.5, -25.5)) s.rectangle(point1=(-2.5, -26.0), point2=(0.0, -25.5)) s.rectangle(point1=(0.0, -26.0), point2=(2.5, -25.5)) s.rectangle(point1=(2.5, -26.0), point2=(3.0, -25.5)) s.rectangle(point1=(3.0, -26.0), point2=(3.5, -25.5)) s.rectangle(point1=(3.5, -26.0), point2=(4.0, -25.5)) s.rectangle(point1=(4.0, -26.0), point2=(4.5, -25.5)) s.rectangle(point1=(4.5, -26.0), point2=(5.0, -25.5)) session.viewports['Viewport:
1'].view.setValues(nearPlane=493.143, farPlane=496.402, width=19.7187, height=11.942, cameraPosition=(1.20528, 24.058, 494.773), cameraTarget=(1.20528, 24.058, 0)) s.delete(objectList=(g[559], g[563], g[567], g[571], g[575], g[579], g[583], g[587], g[591], g[595], g[599], g[603], g[767], g[768], g[769], g[770], g[771], g[772], g[773], g[774], g[775], g[776], g[777], g[778], g[779], g[780], g[781], g[782], g[783], g[784], g[785], g[786], g[787], g[788], g[789], g[790], g[791], g[792], g[793], g[794], g[795], g[796], g[797], g[798], g[799], g[800], g[801], g[802], g[803], g[804], g[805], g[806], g[807], g[808], g[809], g[810], g[811], g[813], g[871], g[872], g[873], g[874], g[875], g[876], g[877], g[878], g[879], g[880], g[881], g[882], g[883], g[884], g[885], g[886], g[887], g[888], g[889], g[890], g[891], g[892], g[893], g[894], g[895], g[896], g[897], g[898], g[899], g[900], g[901], g[902], g[903], g[904], g[905], g[906], g[907], g[908], g[909], g[910], g[911], g[912], g[913], g[914], g[915], g[917], c[2940], c[2961], c[2982], c[3003], c[3024], c[3045], c[3066], c[3087], c[3108], c[3129], c[3150], c[3171], c[4029], c[4030], c[4032], c[4049], c[4050], c[4051], c[4052], c[4053], c[4070], c[4071], c[4072], c[4073], c[4074], c[4091], c[4092], c[4093], c[4094], c[4095], c[4112], c[4113], c[4114], c[4115], c[4116], c[4133], c[4134], c[4135], c[4136], c[4137], c[4154], c[4155], c[4156], c[4157], c[4158], c[4175], c[4176], c[4177], c[4178], c[4179], c[4196], c[4197], c[4198], c[4199], c[4200], c[4217], c[4218], c[4219], c[4220], c[4221], c[4238], c[4239], c[4240], c[4241], c[4242], c[4259], c[4262], c[4263], c[4575], c[4576], c[4578], c[4595], c[4596], c[4597], c[4598], c[4599], c[4616], c[4617], c[4618], c[4619], c[4620], c[4637], c[4638], c[4639], c[4640], c[4641], c[4658], c[4659], c[4660], c[4661], c[4662], c[4679], c[4680], c[4681], c[4682], c[4683], c[4700], c[4701], c[4702], c[4703], c[4704], c[4721], c[4722], c[4723], c[4724], c[4725], c[4742], c[4743], c[4744], c[4745], c[4746], c[4763], c[4764], c[4765], c[4766], c[4767], c[4784], c[4785], c[4786], c[4787], c[4788], c[4805], c[4808], c[4809])) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.966, farPlane=495.58, width=9.76518, height=5.91397, cameraPosition=(-3.03115, -25.1376, 494.773), cameraTarget=(-3.03115, -25.1376, 0)) s.rectangle(point1=(-5.0, -25.0), point2=(-4.5, 25.0)) session.viewports['Viewport:
A-8 Appendix A |
1'].view.setValues(nearPlane=493.935, farPlane=495.61, width=10.1307, height=6.13531, cameraPosition=(-2.29185, -23.8043, 494.773), cameraTarget=(-2.29185, -23.8043, 0)) s.rectangle(point1=(-4.5, -25.0), point2=(-4.0, 25.0)) s.rectangle(point1=(-4.0, -25.0), point2=(-3.5, 25.0)) s.rectangle(point1=(-3.5, -25.0), point2=(-3.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.017, farPlane=496.529, width=21.2503, height=12.8696, cameraPosition=(0.357925, -21.3761, 494.773), cameraTarget=(0.357925, -21.3761, 0)) s.rectangle(point1=(-3.0, -25.0), point2=(-2.5, 25.0)) s.rectangle(point1=(-2.5, -25.0), point2=(0.0, 25.0)) s.rectangle(point1=(0.0, -25.0), point2=(2.5, 25.0)) s.rectangle(point1=(2.5, -25.0), point2=(3.0, 25.0)) s.rectangle(point1=(3.0, -25.0), point2=(3.5, 25.0)) s.rectangle(point1=(3.5, -25.0), point2=(4.0, 25.0)) s.rectangle(point1=(4.0, -25.0), point2=(4.5, 25.0)) s.rectangle(point1=(4.5, -25.0), point2=(5.0, 25.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.762, farPlane=495.783, width=12.2261, height=7.40436, cameraPosition=(-0.101947, 25.2013, 494.773), cameraTarget=(-0.101947, 25.2013, 0)) s.rectangle(point1=(-5.0, 25.5), point2=(-4.5, 26.0)) s.rectangle(point1=(-4.5, 25.5), point2=(-4.0, 26.0)) s.rectangle(point1=(-4.0, 25.5), point2=(-3.5, 26.0)) s.rectangle(point1=(-3.5, 25.5), point2=(-3.0, 26.0)) s.undo() s.rectangle(point1=(-3.5, 25.5), point2=(-3.0, 26.0)) s.rectangle(point1=(-3.0, 25.5), point2=(-2.5, 26.0)) s.rectangle(point1=(-2.5, 25.5), point2=(0.0, 26.0)) s.rectangle(point1=(0.0, 25.5), point2=(2.5, 26.0)) s.rectangle(point1=(2.5, 25.5), point2=(3.0, 26.0)) s.rectangle(point1=(3.0, 25.5), point2=(3.5, 26.0)) s.rectangle(point1=(3.5, 25.5), point2=(4.0, 26.0)) s.rectangle(point1=(4.0, 25.5), point2=(4.5, 26.0)) s.rectangle(point1=(4.5, 25.5), point2=(5.0, 26.0)) s.rectangle(point1=(-5.0, 25.0), point2=(-4.5, 25.5)) s.rectangle(point1=(-4.5, 25.0), point2=(-4.0, 25.5)) s.rectangle(point1=(-4.0, 25.0), point2=(-3.5, 25.5)) s.rectangle(point1=(-3.5, 25.0), point2=(-3.0, 25.5)) s.rectangle(point1=(-3.0, 25.0), point2=(-2.5, 25.5)) s.rectangle(point1=(-2.5, 25.0), point2=(0.0, 25.5)) s.rectangle(point1=(0.0, 25.0), point2=(2.5, 25.5)) s.rectangle(point1=(2.5, 25.0), point2=(3.0, 25.5)) s.rectangle(point1=(3.0, 25.0), point2=(3.5, 25.5)) s.rectangle(point1=(3.5, 25.0), point2=(4.0, 25.5)) s.rectangle(point1=(4.0, 25.0), point2=(4.5, 25.5)) s.rectangle(point1=(4.5, 25.0), point2=(5.0, 25.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.22, farPlane=496.325, width=18.7865, height=11.3774, cameraPosition=(-112.031, 24.8639, 494.773), cameraTarget=(-112.031, 24.8639, 0)) s.rectangle(point1=(-120.0, 26.5), point2=(-117.5, 27.0)) s.rectangle(point1=(-117.5, 26.5), point2=(-117.0, 27.0)) s.rectangle(point1=(-117.0, 26.5), point2=(-116.5, 27.0)) s.rectangle(point1=(-116.5, 26.5), point2=(-116.0, 27.0)) s.rectangle(point1=(-116.0, 26.5), point2=(-115.5, 27.0)) s.rectangle(point1=(-115.5, 26.5), point2=(-115.0, 27.0)) s.rectangle(point1=(-115.0, 26.5), point2=(-5.0, 27.0))
session.viewports['Viewport: 1'].view.setValues(nearPlane=493.546, farPlane=496, width=14.8483, height=8.9924, cameraPosition=(-0.141583, 25.9309, 494.773), cameraTarget=(-0.141583, 25.9309, 0)) s.rectangle(point1=(-5.0, 26.5), point2=(-4.5, 27.0)) s.rectangle(point1=(-4.5, 26.5), point2=(-4.0, 27.0)) s.rectangle(point1=(-4.0, 26.5), point2=(-3.5, 27.0)) s.rectangle(point1=(-3.5, 26.5), point2=(-3.0, 27.0)) s.rectangle(point1=(-3.0, 26.5), point2=(-2.5, 27.0)) s.rectangle(point1=(-2.5, 26.5), point2=(0.0, 27.0)) s.rectangle(point1=(0.0, 26.5), point2=(2.5, 27.0)) s.rectangle(point1=(2.5, 26.5), point2=(3.0, 27.0)) s.rectangle(point1=(3.0, 26.5), point2=(3.5, 27.0)) s.rectangle(point1=(3.5, 26.5), point2=(4.0, 27.0)) s.rectangle(point1=(4.0, 26.5), point2=(4.5, 27.0)) s.rectangle(point1=(4.5, 26.5), point2=(5.0, 27.0)) s.rectangle(point1=(5.0, 26.5), point2=(115.0, 27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.905, farPlane=495.64, width=10.4974, height=6.35743, cameraPosition=(115.088, 26.2927, 494.773), cameraTarget=(115.088, 26.2927, 0)) s.rectangle(point1=(115.0, 26.5), point2=(115.5, 27.0)) s.rectangle(point1=(115.5, 26.5), point2=(116.0, 27.0)) s.rectangle(point1=(116.0, 26.5), point2=(116.5, 27.0)) s.rectangle(point1=(116.5, 26.5), point2=(117.0, 27.0)) s.rectangle(point1=(117.0, 26.5), point2=(117.5, 27.0)) s.rectangle(point1=(117.5, 26.5), point2=(120.0, 27.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.768, farPlane=496.777, width=24.258, height=14.6911, cameraPosition=(-109.456, 26.1291, 494.773), cameraTarget=(-109.456, 26.1291, 0)) s.rectangle(point1=(-120.0, 26.0), point2=(-117.5, 26.5)) s.rectangle(point1=(-117.5, 26.0), point2=(-117.0, 26.5)) s.rectangle(point1=(-117.0, 26.0), point2=(-116.5, 26.5)) s.rectangle(point1=(-116.5, 26.0), point2=(-116.0, 26.5)) s.rectangle(point1=(-116.0, 26.0), point2=(-115.5, 26.5)) s.rectangle(point1=(-115.5, 26.0), point2=(-115.0, 26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.045, farPlane=496.5, width=20.9024, height=12.6589, cameraPosition=(2.06147, 24.9273, 494.773), cameraTarget=(2.06147, 24.9273, 0)) s.rectangle(point1=(-115.0, 26.0), point2=(-5.0, 26.5)) s.rectangle(point1=(-5.0, 26.0), point2=(-4.5, 26.5)) s.rectangle(point1=(-4.5, 26.0), point2=(-4.0, 26.5)) s.rectangle(point1=(-4.0, 26.0), point2=(-3.5, 26.5)) s.rectangle(point1=(-3.5, 26.0), point2=(-3.0, 26.5)) s.rectangle(point1=(-3.0, 26.0), point2=(-2.5, 26.5)) s.rectangle(point1=(-2.5, 26.0), point2=(0.0, 26.5)) s.rectangle(point1=(0.0, 26.0), point2=(2.5, 26.5)) s.rectangle(point1=(2.5, 26.0), point2=(3.0, 26.5)) s.rectangle(point1=(3.0, 26.0), point2=(3.5, 26.5)) s.rectangle(point1=(3.5, 26.0), point2=(4.0, 26.5)) s.rectangle(point1=(4.0, 26.0), point2=(4.5, 26.5)) s.rectangle(point1=(4.5, 26.0), point2=(5.0, 26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.5, farPlane=496.046, width=15.4022, height=9.32786, cameraPosition=(115.876, 26.3474, 494.773), cameraTarget=(115.876, 26.3474,
A-9 Appendix A |
0)) s.rectangle(point1=(5.0, 26.0), point2=(115.0, 26.5)) s.rectangle(point1=(115.0, 26.0), point2=(115.5, 26.5)) s.rectangle(point1=(115.5, 26.0), point2=(116.0, 26.5)) s.rectangle(point1=(116.0, 26.0), point2=(116.5, 26.5)) s.rectangle(point1=(116.5, 26.0), point2=(117.0, 26.5)) s.rectangle(point1=(117.0, 26.0), point2=(117.5, 26.5)) s.rectangle(point1=(117.5, 26.0), point2=(120.0, 26.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.965, farPlane=496.58, width=21.8739, height=13.2472, cameraPosition=(-111.757, 30.2881, 494.773), cameraTarget=(-111.757, 30.2881, 0)) s.rectangle(point1=(-120.0, 27.5), point2=(-117.5, 30.0)) s.rectangle(point1=(-117.5, 27.5), point2=(-117.0, 30.0)) s.rectangle(point1=(-117.0, 27.5), point2=(-116.5, 30.0)) s.rectangle(point1=(-116.5, 27.5), point2=(-116.0, 30.0)) s.rectangle(point1=(-116.0, 27.5), point2=(-115.5, 30.0)) s.rectangle(point1=(-115.5, 27.5), point2=(-115.0, 30.0)) s.rectangle(point1=(-115.0, 27.5), point2=(-5.0, 30.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.038, farPlane=496.507, width=20.9855, height=12.7092, cameraPosition=(1.74713, 29.7805, 494.773), cameraTarget=(1.74713, 29.7805, 0)) s.rectangle(point1=(-5.0, 27.5), point2=(-4.5, 30.0)) s.rectangle(point1=(-4.5, 27.5), point2=(-4.0, 30.0)) s.rectangle(point1=(-4.0, 27.5), point2=(-3.5, 30.0)) s.rectangle(point1=(-3.5, 27.5), point2=(-3.0, 30.0)) s.rectangle(point1=(-3.0, 27.5), point2=(-2.5, 30.0)) s.rectangle(point1=(-2.5, 27.5), point2=(0.0, 30.0)) s.rectangle(point1=(0.0, 27.5), point2=(2.5, 30.0)) s.rectangle(point1=(2.5, 27.5), point2=(3.0, 30.0)) s.rectangle(point1=(3.0, 27.5), point2=(3.5, 30.0)) s.rectangle(point1=(3.5, 27.5), point2=(4.0, 30.0)) s.rectangle(point1=(4.0, 27.5), point2=(4.5, 30.0)) s.rectangle(point1=(4.5, 27.5), point2=(5.0, 30.0)) s.rectangle(point1=(5.0, 27.5), point2=(115.0, 30.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.396, farPlane=496.149, width=16.6568, height=10.0877, cameraPosition=(115.908, 29.1335, 494.773), cameraTarget=(115.908, 29.1335, 0)) s.rectangle(point1=(115.0, 27.5), point2=(115.5, 30.0)) s.rectangle(point1=(115.5, 27.5), point2=(116.0, 30.0)) s.rectangle(point1=(116.0, 27.5), point2=(116.5, 30.0)) s.rectangle(point1=(116.5, 27.5), point2=(117.0, 30.0)) s.rectangle(point1=(117.0, 27.5), point2=(117.5, 30.0)) s.rectangle(point1=(117.5, 27.5), point2=(120.0, 30.0)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.366, farPlane=496.179, width=17.019, height=10.307, cameraPosition=(-113.52, 27.3936, 494.773), cameraTarget=(-113.52, 27.3936, 0)) s.rectangle(point1=(-120.0, 27.0), point2=(-117.5, 27.5)) s.rectangle(point1=(-117.5, 27.0), point2=(-117.0, 27.5)) s.rectangle(point1=(-117.0, 27.0), point2=(-116.5, 27.5)) s.rectangle(point1=(-116.5, 27.0), point2=(-116.0, 27.5)) s.rectangle(point1=(-116.0, 27.0), point2=(-115.5, 27.5)) s.rectangle(point1=(-115.5, 27.0), point2=(-115.0, 27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.728, farPlane=495.818, width=12.6442, height=7.65756,
cameraPosition=(-4.28608, 27.0401, 494.773), cameraTarget=(-4.28608, 27.0401, 0)) s.rectangle(point1=(-115.0, 27.0), point2=(-5.0, 27.5)) s.rectangle(point1=(-5.0, 27.0), point2=(-4.5, 27.5)) s.rectangle(point1=(-4.5, 27.0), point2=(-4.0, 27.5)) s.rectangle(point1=(-4.0, 27.0), point2=(-3.5, 27.5)) s.rectangle(point1=(-3.5, 27.0), point2=(-3.0, 27.5)) s.rectangle(point1=(-3.0, 27.0), point2=(-2.5, 27.5)) s.rectangle(point1=(-2.5, 27.0), point2=(0.0, 27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.58, farPlane=495.965, width=14.4272, height=8.73737, cameraPosition=(3.55404, 27.0009, 494.773), cameraTarget=(3.55404, 27.0009, 0)) s.rectangle(point1=(0.0, 27.0), point2=(2.5, 27.5)) s.rectangle(point1=(2.5, 27.0), point2=(3.0, 27.5)) s.rectangle(point1=(3.0, 27.0), point2=(3.5, 27.5)) s.rectangle(point1=(3.5, 27.0), point2=(4.0, 27.5)) s.rectangle(point1=(4.0, 27.0), point2=(4.5, 27.5)) s.rectangle(point1=(4.5, 27.0), point2=(5.0, 27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.81, farPlane=495.735, width=11.6447, height=7.05225, cameraPosition=(112.813, 27.82, 494.773), cameraTarget=(112.813, 27.82, 0)) s.rectangle(point1=(5.0, 27.0), point2=(115.0, 27.5)) s.rectangle(point1=(115.0, 27.0), point2=(115.5, 27.5)) s.rectangle(point1=(115.5, 27.0), point2=(116.0, 27.5)) s.rectangle(point1=(116.0, 27.0), point2=(116.5, 27.5)) s.rectangle(point1=(116.5, 27.0), point2=(117.0, 27.5)) s.rectangle(point1=(117.0, 27.0), point2=(117.5, 27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.97, farPlane=495.575, width=9.71148, height=5.88145, cameraPosition=(117.338, 27.665, 494.773), cameraTarget=(117.338, 27.665, 0)) s.rectangle(point1=(117.5, 27.0), point2=(120.0, 27.5)) session.viewports['Viewport: 1'].view.setValues(nearPlane=475.222, farPlane=514.323, width=267.743, height=162.15, cameraPosition=(3.52915, 16.5952, 494.773), cameraTarget=(3.52915, 16.5952, 0)) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces pickedFaces = f.getSequenceFromMask(mask=('[#1 ]', ), ) e, d1 = p.edges, p.datums p.PartitionFaceBySketch(faces=pickedFaces, sketch=s) s.unsetPrimaryObject() del mdb.models['Model-1'].sketches['__profile__'] session.viewports['Viewport: 1'].view.setValues(nearPlane=474.843, farPlane=514.703, width=241.849, height=146.468, viewOffsetX=3.90336, viewOffsetY=7.31571) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues( meshTechnique=ON) session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=OFF) elemType1 = mesh.ElemType(elemCode=CPS8R,
A-10 Appendix A |
elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=CPS6M, elemLibrary=STANDARD) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#ffffffff:10 #3ffff ]', ), ) pickedRegions =(faces, ) p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2)) elemType1 = mesh.ElemType(elemCode=CPS8R, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=CPS6M, elemLibrary=STANDARD) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#ffffffff:10 #3ffff ]', ), ) pickedRegions =(faces, ) p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2)) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.105, farPlane=506.44, width=140.99, height=85.6323, viewOffsetX=-59.5001, viewOffsetY=-9.50505) p = mdb.models['Model-1'].parts['Part-1'] p.seedPart(size=1.25, deviationFactor=0.1, minSizeFactor=0.1) p = mdb.models['Model-1'].parts['Part-1'] p.seedPart(size=0.5, deviationFactor=0.1, minSizeFactor=0.1) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#0:22 #f ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#0:19 #20000000 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=473.457, farPlane=516.089, width=256.536, height=155.811, viewOffsetX=-3.00951, viewOffsetY=4.24907) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:2 #100028 #4000040 #10000 #1000 #100 #40000008', ' #2000000 #100000 #8000 #400 #20 #8000001 #400000', ' #200000 #80000 #4000 #10000040 #80010000 #4 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:11 #2800000 #200000 #40000 #8000 #10000
#8000', ' #1000 #80000080 #200000 #5200 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] s1 = p.features['Partition face-1'].sketch mdb.models['Model-1'].ConstrainedSketch(name='__edit__', objectToCopy=s1) s2 = mdb.models['Model-1'].sketches['__edit__'] g, v, d, c = s2.geometry, s2.vertices, s2.dimensions, s2.constraints s2.setPrimaryObject(option=SUPERIMPOSE) p.projectReferencesOntoSketch(sketch=s2, upToFeature=p.features['Partition face-1'], filter=COPLANAR_EDGES) session.viewports['Viewport: 1'].view.setValues(nearPlane=484.229, farPlane=505.316, width=144.395, height=87.448, cameraPosition=(-14.7667, 11.0758, 494.773), cameraTarget=(-14.7667, 11.0758, 0)) s2.delete(objectList=(g[551], )) s2.delete(objectList=(g[555], )) s2.delete(objectList=(g[553], )) s2.delete(objectList=(g[557], )) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.418, farPlane=506.128, width=155.505, height=94.1764, cameraPosition=(-56.9664, 9.46199, 494.773), cameraTarget=(-56.9664, 9.46199, 0)) s2.rectangle(point1=(-115.0, -25.0), point2=(-5.0, 25.0)) s2.unsetPrimaryObject() p = mdb.models['Model-1'].parts['Part-1'] p.features['Partition face-1'].setValues(sketch=s2) del mdb.models['Model-1'].sketches['__edit__'] p = mdb.models['Model-1'].parts['Part-1'] p.regenerate() session.viewports['Viewport: 1'].view.setValues(nearPlane=480.797, farPlane=508.748, width=168.937, height=102.606, viewOffsetX=-21.1305, viewOffsetY=3.19824) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#0:16 #8000 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#0:17 #800 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=475.934, farPlane=513.611, width=227.861, height=138.395, viewOffsetX=39.109, viewOffsetY=2.22115) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=(
A-11 Appendix A |
'[#0 #1400000 #20000200 #80000 #800 #200 #80', ' #10 #40000002 #48000000 #1 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0 #1400000 #20000200 #80000 #800 #200 #80', ' #10 #40000002 #48000000 #1 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0 #1400000 #20000200 #80000 #800 #200 #80', ' #10 #40000002 #48000000 #1 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=2.5, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=477.98, farPlane=511.565, width=228.841, height=138.99, viewOffsetX=12.1797, viewOffsetY=20.4505) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:11 #2800000 #200000 #40000 #8000 #10000 #8000', ' #800 #20000020 #80000 #1480 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=2.55, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=489.774, farPlane=499.771, width=60.3538, height=36.6568, viewOffsetX=-99.793, viewOffsetY=-19.1051) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:19 #10000000 #40004000 #81001000 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=484.366, farPlane=505.18, width=141.936, height=86.2069, viewOffsetX=-71.3827, viewOffsetY=1.97981) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:15 #50 #8 #4000001 #40000 #100 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:11 #1000000 #80000 #4000 #200 #128 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport:
1'].view.setValues(nearPlane=487.109, farPlane=502.436, width=92.5637, height=56.2199, viewOffsetX=4.13205, viewOffsetY=-17.6692) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#0:11 #200 #40 #8 #20000001 #5 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:12 #10 #40000002 #8000000 #90000000 #2 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:9 #80000000 #4000000 #200000 #10000 #800 #40', ' #2 #20000001 #800000 #8000 #2000020 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.025, farPlane=506.52, width=160.189, height=97.2933, viewOffsetX=8.87101, viewOffsetY=-4.48457) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0 #800000 #2000080 #2000 #80000008 #8000000 #400000', ' #20000 #1000 #80 #20000004 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=487.562, farPlane=501.984, width=87.0907, height=52.8958, viewOffsetX=93.3664, viewOffsetY=-15.8382) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:2 #400010 #80000400 #15000000 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:4 #28000000 #1000000 #80000 #4000 #200 #10 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=484.393, farPlane=505.153, width=125.422, height=76.1768, viewOffsetX=85.7214, viewOffsetY=1.35996)
A-12 Appendix A |
p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#2008082a #200 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=('[#4010105 #100040 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=485.576, farPlane=503.969, width=111.094, height=67.4743, viewOffsetX=32.2409, viewOffsetY=10.7152) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:6 #a00000 #80000 #10000 #2000 #400 #80 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:5 #14000000 #1000000 #200000 #40000 #8000 #1000 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=1.25, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport: 1'].view.setValues(nearPlane=475.774, farPlane=513.772, width=258.846, height=157.214, viewOffsetX=5.17472, viewOffsetY=20.6233) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0 #1400000 #20000200 #80000 #800 #200 #80', ' #10 #40000002 #48000000 #1 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=4.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0 #1400000 #20000200 #80000 #800 #200 #80', ' #10 #40000002 #48000000 #1 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) p = mdb.models['Model-1'].parts['Part-1'] e = p.edges pickedEdges = e.getSequenceFromMask(mask=( '[#0:11 #2800000 #200000 #40000 #8000 #10000 #8000', ' #800 #20000020 #80000 #1480 ]', ), ) p.seedEdgeBySize(edges=pickedEdges, size=5.0, deviationFactor=0.1, minSizeFactor=0.1, constraint=FINER) session.viewports['Viewport:
1'].view.setValues(nearPlane=473.373, farPlane=516.172, width=291.467, height=177.027, viewOffsetX=-4.42112, viewOffsetY=9.68117) p = mdb.models['Model-1'].parts['Part-1'] p.generateMesh() session.viewports['Viewport: 1'].view.setValues(nearPlane=482.331, farPlane=507.214, width=150.362, height=91.3243, viewOffsetX=-7.26895, viewOffsetY=23.2027) a = mdb.models['Model-1'].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=a) session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON, predefinedFields=ON, connectors=ON, optimizationTasks=OFF, geometricRestrictions=OFF, stopConditions=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON, engineeringFeatures=ON, mesh=OFF) session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues( meshTechnique=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].view.setValues(nearPlane=486.949, farPlane=502.596, width=94.7688, height=57.3937, viewOffsetX=-101.078, viewOffsetY=-7.83979) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:41 #40000000 ]', ), ) p.Set(nodes=nodes, name='L-1') #: The set 'L-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:41 #20000000 ]', ), ) p.Set(nodes=nodes, name='L-2') #: The set 'L-2' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:11 #400000 ]', ), ) p.Set(nodes=nodes, name='L-3') #: The set 'L-3' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.33,
A-13 Appendix A |
farPlane=497.216, width=29.5711, height=17.9088, viewOffsetX=-114.105, viewOffsetY=-21.5734) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:11 #20000 ]', ), ) p.Set(nodes=nodes, name='L-4') #: The set 'L-4' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:11 #800 ]', ), ) p.Set(nodes=nodes, name='L-5') #: The set 'L-5' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:11 #10 ]', ), ) p.Set(nodes=nodes, name='L-6') #: The set 'L-6' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:10 #10000000 ]', ), ) p.Set(nodes=nodes, name='L-7') #: The set 'L-7' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:10 #80000 ]', ), ) p.Set(nodes=nodes, name='L-8') #: The set 'L-8' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #8000000 ]', ), ) p.Set(nodes=nodes, name='L-9') #: The set 'L-9' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #4000000 ]', ), )
p.Set(nodes=nodes, name='L-10') #: The set 'L-10' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=485.385, farPlane=504.16, width=113.733, height=68.8786, viewOffsetX=-89.6446, viewOffsetY=3.4605) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #2000000 ]', ), ) p.Set(nodes=nodes, name='L-11') #: The set 'L-11' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #1000000 ]', ), ) p.Set(nodes=nodes, name='L-12') #: The set 'L-12' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #800000 ]', ), ) p.Set(nodes=nodes, name='L-13') #: The set 'L-13' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=485.363, farPlane=504.182, width=128.709, height=77.9487, viewOffsetX=-86.3953, viewOffsetY=-0.319077) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #400000 ]', ), ) p.Set(nodes=nodes, name='L-14') #: The set 'L-14' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #200000 ]', ), )
A-14 Appendix A |
p.Set(nodes=nodes, name='L-15') #: The set 'L-15' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #100000 ]', ), ) p.Set(nodes=nodes, name='L-16') #: The set 'L-16' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:38 #80000 ]', ), ) p.Set(nodes=nodes, name='L-17') #: The set 'L-17' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:10 #200 ]', ), ) p.Set(nodes=nodes, name='L-18') #: The set 'L-18' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.186, farPlane=496.36, width=19.2096, height=11.6337, viewOffsetX=-114.326, viewOffsetY=24.3795) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:9 #40000000 ]', ), ) p.Set(nodes=nodes, name='L-19') #: The set 'L-19' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:9 #40000 ]', ), ) p.Set(nodes=nodes, name='L-20') #: The set 'L-20' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport:
1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:9 #20 ]', ), ) p.Set(nodes=nodes, name='L-21') #: The set 'L-21' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:8 #800000 ]', ), ) p.Set(nodes=nodes, name='L-22') #: The set 'L-22' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:8 #100 ]', ), ) p.Set(nodes=nodes, name='L-23') #: The set 'L-23' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:32 #100 ]', ), ) p.Set(nodes=nodes, name='L-24') #: The set 'L-24' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.636, farPlane=497.91, width=37.9768, height=22.9994, viewOffsetX=110.642, viewOffsetY=-20.9581) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:18 #400 ]', ), ) p.Set(nodes=nodes, name='R-1') #: The set 'R-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:18 #800 ]', ), )
A-15 Appendix A |
p.Set(nodes=nodes, name='R-2') #: The set 'R-2' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:2 #2000000 ]', ), ) p.Set(nodes=nodes, name='R-3') #: The set 'R-3' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:2 #1000000 ]', ), ) p.Set(nodes=nodes, name='R-4') #: The set 'R-4' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:2 #800 ]', ), ) p.Set(nodes=nodes, name='R-5') #: The set 'R-5' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0 #80000000 ]', ), ) p.Set(nodes=nodes, name='R-6') #: The set 'R-6' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0 #100000 ]', ), ) p.Set(nodes=nodes, name='R-7') #: The set 'R-7' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0 #400 ]', ), ) p.Set(nodes=nodes, name='R-8') #: The set 'R-8' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1']
n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:13 #20000000 ]', ), ) p.Set(nodes=nodes, name='R-9') #: The set 'R-9' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:13 #40000000 ]', ), ) p.Set(nodes=nodes, name='R-10') #: The set 'R-10' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:13 #80000000 ]', ), ) p.Set(nodes=nodes, name='R-11') #: The set 'R-11' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=485.902, farPlane=503.643, width=107.461, height=65.0802, viewOffsetX=93.5091, viewOffsetY=0.19087) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #1 ]', ), ) p.Set(nodes=nodes, name='R-12') #: The set 'R-12' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #2 ]', ), ) p.Set(nodes=nodes, name='R-13') #: The set 'R-13' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #4 ]', ), ) p.Set(nodes=nodes, name='R-14') #: The set 'R-14' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #8 ]', ),
A-16 Appendix A |
) p.Set(nodes=nodes, name='R-15') #: The set 'R-15' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #10 ]', ), ) p.Set(nodes=nodes, name='R-16') #: The set 'R-16' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:14 #20 ]', ), ) p.Set(nodes=nodes, name='R-17') #: The set 'R-17' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.274, farPlane=496.271, width=18.1342, height=10.9824, viewOffsetX=115.683, viewOffsetY=24.6752) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0 #2 ]', ), ) p.Set(nodes=nodes, name='R-18') #: The set 'R-18' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#2000000 ]', ), ) p.Set(nodes=nodes, name='R-19') #: The set 'R-19' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#40000 ]', ), ) p.Set(nodes=nodes, name='R-20') #: The set 'R-20' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON)
p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#80 ]', ), ) p.Set(nodes=nodes, name='R-21') #: The set 'R-21' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#1000 ]', ), ) p.Set(nodes=nodes, name='R-21') #: The set 'R-21' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#80 ]', ), ) p.Set(nodes=nodes, name='R-22') #: The set 'R-22' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#2 ]', ), ) p.Set(nodes=nodes, name='R-23') #: The set 'R-23' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:11 #8000000 ]', ), ) p.Set(nodes=nodes, name='R-24') #: The set 'R-24' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport:
A-17 Appendix A |
1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.427, farPlane=496.119, width=16.2922, height=9.86686, viewOffsetX=-118.446, viewOffsetY=-26.2846) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:174 #20 ]', ), ) p.Set(nodes=nodes, name='C-L-1') #: The set 'C-L-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE LEFT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.388, farPlane=496.158, width=16.7632, height=10.1521, viewOffsetX=116.991, viewOffsetY=-26.0183) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:78 #100 ]', ), ) p.Set(nodes=nodes, name='C-R-1') #: The set 'C-R-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE RIGHT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.459, farPlane=499.086, width=52.2256, height=31.6287, viewOffsetX=115.494, viewOffsetY=-15.1682) session.viewports['Viewport:
1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:81 #4 ]', ), ) p.Set(nodes=nodes, name='C-R-4') #: The set 'C-R-4' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) del mdb.models['Model-1'].parts['Part-1'].sets['C-R-'] p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=488.128, farPlane=501.418, width=80.4807, height=48.7405, viewOffsetX=114.128, viewOffsetY=12.6566) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.57, farPlane=496.976, width=26.6641, height=16.1483, viewOffsetX=117.917, viewOffsetY=22.3209) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:59 #20000000 ]', ), ) p.Set(nodes=nodes, name='C-R-23') #: The set 'C-R-23' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:59 #8000 ]', ), ) p.Set(nodes=nodes, name='C-R-24') #: The set 'C-R-24' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:59
A-18 Appendix A |
#100000 ]', ), ) p.Set(nodes=nodes, name='C-R-25') #: The set 'C-R-25' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=486.959, farPlane=502.587, width=94.6511, height=57.3224, viewOffsetX=-79.5292, viewOffsetY=-14.2896) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:162 #200000 ]', ), ) p.Set(nodes=nodes, name='C-L-15') #: The set 'C-L-15' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.441, farPlane=498.104, width=40.3337, height=24.4268, viewOffsetX=-107.608, viewOffsetY=23.1471) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:162 #10000 ]', ), ) p.Set(nodes=nodes, name='C-L-16') #: The set 'C-L-16' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:162 #800 ]', ), ) p.Set(nodes=nodes, name='C-L-17') #: The set 'C-L-17' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1']
n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:162 #40 ]', ), ) p.Set(nodes=nodes, name='C-L-18') #: The set 'C-L-18' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:159 #10000 ]', ), ) p.Set(nodes=nodes, name='C-L-19') #: The set 'C-L-19' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:156 #1000000 ]', ), ) p.Set(nodes=nodes, name='C-L-20') #: The set 'C-L-20' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:136 #80 ]', ), ) p.Set(nodes=nodes, name='C-L-21') #: The set 'C-L-21' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:132 #2000000 ]', ), ) p.Set(nodes=nodes, name='C-L-22') #: The set 'C-L-22' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:136 #80 ]',
A-19 Appendix A |
), ) p.Set(nodes=nodes, name='C-L-23') #: The set 'C-L-23' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:132 #2000000 ]', ), ) p.Set(nodes=nodes, name='C-L-24') #: The set 'C-L-24' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:132 #10000000 ]', ), ) p.Set(nodes=nodes, name='C-L-25') #: The set 'C-L-25' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.965, farPlane=496.58, width=21.8809, height=13.2514, viewOffsetX=-118.61, viewOffsetY=26.9694) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:153 #40000000 ]', ), ) p.Set(nodes=nodes, name='C-L-21') #: The set 'C-L-21' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes
nodes = n.getSequenceFromMask(mask=('[#0:139 #100 ]', ), ) p.Set(nodes=nodes, name='C-L-22') #: The set 'C-L-22' has been edited (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.139, farPlane=498.406, width=49.7344, height=30.1201, viewOffsetX=-96.9559, viewOffsetY=27.4579) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:8 #80 ]', ), ) p.Set(nodes=nodes, name='TL-1') #: The set 'TL-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP LEFT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.489, farPlane=496.057, width=15.5392, height=9.41083, viewOffsetX=115.293, viewOffsetY=30.3636) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#4 ]', ), ) p.Set(nodes=nodes, name='TR-1') #: The set 'TR-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP RIGHT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport:
A-20 Appendix A |
1'].view.setValues(nearPlane=491.432, farPlane=498.114, width=40.4468, height=24.4953, viewOffsetX=-16.0783, viewOffsetY=-25.0366) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:8 #10 ]', ), ) p.Set(nodes=nodes, name='BL-1') #: The set 'BL-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE BOTTOM LEFT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.402, farPlane=498.144, width=46.1477, height=27.9479, viewOffsetX=23.0406, viewOffsetY=-25.1749) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:32 #20 ]', ), ) p.Set(nodes=nodes, name='BR-1') #: The set 'BR-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE BOTTOM RIGHT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.918, farPlane=505.627, width=148.458, height=89.9087, viewOffsetX=58.5602, viewOffsetY=-16.7173) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport:
1'].view.setValues(nearPlane=494.046, farPlane=495.5, width=8.79994, height=5.3294, viewOffsetX=-115.407, viewOffsetY=29.2167) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:132 #8000000 ]', ), ) p.Set(nodes=nodes, name='C-TL-1') #: The set 'C-TL-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP LEFT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=484.433, farPlane=505.113, width=141.421, height=85.647, viewOffsetX=-50.3832, viewOffsetY=36.19) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.538, farPlane=497.007, width=27.0503, height=16.3821, viewOffsetX=109.542, viewOffsetY=29.9303) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:59 #200000 ]', ), ) p.Set(nodes=nodes, name='C-TR-1') #: The set 'C-TR-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP RIGHT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.321, farPlane=496.224, width=17.5694, height=10.6404, viewOffsetX=-8.82433, viewOffsetY=-27.2811) session.viewports['Viewport:
A-21 Appendix A |
1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:135 #1000000 ]', ), ) p.Set(nodes=nodes, name='C-BL-1') #: The set 'C-BL-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE BOTTOM LEFT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.787, farPlane=505.758, width=132.759, height=80.4013, viewOffsetX=-64.3148, viewOffsetY=-15.5757) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.914, farPlane=497.631, width=34.6029, height=20.9561, viewOffsetX=15.9304, viewOffsetY=-25.5518) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) p = mdb.models['Model-1'].parts['Part-1'] n = p.nodes nodes = n.getSequenceFromMask(mask=('[#0:132 #1000 ]', ), ) p.Set(nodes=nodes, name='C-BR-1') #: The set 'C-BR-1' has been created (1 node). session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE BOTTOM RIGHT HAND SIDE OF THE RVE #----------------------------------------------------------- session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) session.viewports['Viewport: 1'].view.setValues(nearPlane=473.509, farPlane=516.036, width=256.645, height=155.429, viewOffsetX=11.1351, viewOffsetY=-2.84002) p1 = mdb.models['Model-1'].parts['Part-1'] session.viewports['Viewport: 1'].setValues(displayedObject=p1) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON) session.viewports['Viewport: 1'].view.setValues(nearPlane=473.509, farPlane=516.036, width=256.645, height=155.429,
viewOffsetX=-3.6264, viewOffsetY=-21.7407) mdb.models['Model-1'].Material(name='Brick') mdb.models['Model-1'].Material(name='Mortar') mdb.models['Model-1'].Material(name='Interphase1') mdb.models['Model-1'].Material(name='Interphase2') mdb.models['Model-1'].Material(name='Interphase3') mdb.models['Model-1'].Material(name='Interphase4') mdb.models['Model-1'].Material(name='Interphase5') mdb.models['Model-1'].HomogeneousSolidSection(name='Brick', material='Brick', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Mortar', material='Mortar', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Interphase1', material='Interphase1', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Interphase2', material='Interphase2', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Interphase3', material='Interphase3', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Interphase4', material='Interphase4', thickness=110.0) mdb.models['Model-1'].HomogeneousSolidSection(name='Interphase5', material='Interphase5', thickness=110.0) session.viewports['Viewport: 1'].partDisplay.setValues(mesh=OFF) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:2 #400000 #20010008 #800400 #40020010 #1000800 #100040', ' #2 ]', ), ) region = p.Set(faces=faces, name='Set-417') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Brick', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#1020844b #802010 #20010008 #800400 #40020010 #1000800 #80040020', ' #4001 ]', ), ) region = p.Set(faces=faces, name='Set-418') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#1020844b #802010 #20010008 #800400 #40020010 #1000800 #80040020', ' #4001 ]', ), ) region = p.Set(faces=faces, name='Set-418') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0,
A-22 Appendix A |
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:2 #10008004 #400200 #20010008 #800400 #40020010 #4001000', ' #40080080 #2020100 #11841 ]', ), ) region = p.Set(faces=faces, name='Set-419') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#8104225 #401008 #4006 ]', ), ) region = p.Set(faces=faces, name='Set-420') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#1 ]', ), ) region = p.Set(faces=faces, name='Set-421') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=487.417, farPlane=502.129, width=113.74, height=63.2443, viewOffsetX=-77.4966, viewOffsetY=3.24942) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:7 #8002000 #80100100 #4040200 #2082 ]', ), ) region = p.Set(faces=faces, name='Set-422') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=483.525, farPlane=506.02, width=153.743, height=85.4873, viewOffsetX=53.0181, viewOffsetY=7.85238) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#1 ]', ), ) region = p.Set(faces=faces, name='Set-423') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) del mdb.models['Model-1'].parts['Part-1'].sectionAssignments[6] del mdb.models['Model-1'].parts['Part-1'].sectionAssignments[4] del mdb.models['Model-1'].parts['Part-
1'].sectionAssignments[3] p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#8104224 #401008 #4002 ]', ), ) region = p.Set(faces=faces, name='Set-424') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Mortar', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=362.829681396484, height=267.758331298828) session.viewports['Viewport: 1'].makeCurrent() session.viewports['Viewport: 1'].maximize() from caeModules import * from driverUtils import executeOnCaeStartup executeOnCaeStartup() session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=ON) execfile( 'H:/Work Directory/Creating Sketch/RVE #3/Ready to input interphase section .py', __main__.__dict__) #: A new model database has been created. #: The model "Model-1" has been created. session.viewports['Viewport: 1'].setValues(displayedObject=None) session.viewports['Viewport: 1'].view.setValues(nearPlane=489.369, farPlane=500.176, width=65.4339, height=39.628, viewOffsetX=85.4842, viewOffsetY=17.8852) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #10000000 #100 ]', ), ) region = p.Set(faces=faces, name='Set-425') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.429, farPlane=499.117, width=52.5959, height=31.853, viewOffsetX=-18.281, viewOffsetY=22.5693) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:2 #200000 #10008004 #400200 #20010008 #800400 #80020 ]', ), ) region = p.Set(faces=faces, name='Set-426') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.826, farPlane=498.719, width=47.7813, height=28.9372, viewOffsetX=-109.966, viewOffsetY=24.4911)
A-23 Appendix A |
p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #2001 ]', ), ) region = p.Set(faces=faces, name='Set-427') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.846, farPlane=497.699, width=35.4278, height=21.4557, viewOffsetX=-106.679, viewOffsetY=-24.1404) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #2004000 ]', ), ) region = p.Set(faces=faces, name='Set-428') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.608, farPlane=497.938, width=38.3133, height=23.2032, viewOffsetX=4.87539, viewOffsetY=-26.6616) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:3 #40020010 #1000800 #80040020 #2001000 #200080 #4 ]', ), ) region = p.Set(faces=faces, name='Set-429') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.595, farPlane=497.95, width=38.469, height=23.2975, viewOffsetX=109.27, viewOffsetY=-24.4743) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:2 #800200 ]', ), ) region = p.Set(faces=faces, name='Set-430') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase1', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=489.037, farPlane=500.508, width=69.4563, height=42.064, viewOffsetX=103.468, viewOffsetY=-19.3217) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:2 #1000000 #40020 ]', ), ) region = p.Set(faces=faces, name='Set-431') p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #20000000 #400 ]', ), ) region = p.Set(faces=faces, name='Set-432') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.625, farPlane=496.92, width=25.9975, height=15.7446, viewOffsetX=115.932, viewOffsetY=19.5188) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #40100 ]', ), ) region = p.Set(faces=faces, name='Set-433') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #8020000 ]', ), ) region = p.Set(faces=faces, name='Set-434') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.292, farPlane=497.253, width=30.0261, height=18.1843, viewOffsetX=3.41771, viewOffsetY=22.3745) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:2 #100080 #8004002 #200100 #10008004 #400200 #10 ]', ), ) region = p.Set(faces=faces, name='Set-435') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.934, farPlane=498.611, width=46.4718, height=28.1441, viewOffsetX=-103.7, viewOffsetY=21.5535) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:7 #80040000 ]', ), ) region = p.Set(faces=faces, name='Set-436') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region,
A-24 Appendix A |
sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #1001000 ]', ), ) region = p.Set(faces=faces, name='Set-437') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.085, farPlane=497.46, width=32.5307, height=19.7012, viewOffsetX=-105.832, viewOffsetY=-24.2005) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #2008 ]', ), ) region = p.Set(faces=faces, name='Set-438') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #4000000 #10 ]', ), ) region = p.Set(faces=faces, name='Set-439') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.059, farPlane=498.486, width=44.9614, height=27.2294, viewOffsetX=0.161634, viewOffsetY=-23.3242) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:3 #80000000 #2001000 #80040 #4002001 #400100 #8008 ]', ), ) region = p.Set(faces=faces, name='Set-440') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase2', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:4 #4002001 #100080 #8004002 #800200 #8010010 #20 ]', ), ) region = p.Set(faces=faces, name='Set-441') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.328,
farPlane=497.217, width=29.592, height=17.9215, viewOffsetX=105.699, viewOffsetY=-22.2611) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:2 #2000000 #80040 ]', ), ) region = p.Set(faces=faces, name='Set-442') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #40080000 #800 ]', ), ) region = p.Set(faces=faces, name='Set-443') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.594, farPlane=496.952, width=26.3761, height=15.9739, viewOffsetX=116.341, viewOffsetY=21.1993) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#1000000 #201 ]', ), ) region = p.Set(faces=faces, name='Set-444') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.983, farPlane=497.562, width=38.1861, height=23.1262, viewOffsetX=113.497, viewOffsetY=20.288) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#80000000 #10080 ]', ), ) region = p.Set(faces=faces, name='Set-445') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.882, farPlane=496.664, width=22.8896, height=13.8624, viewOffsetX=-0.387309, viewOffsetY=22.964) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0 #4000000 #80040 #4002001 #100080 #8004002 #200100 ]', ), ) region = p.Set(faces=faces, name='Set-446') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0,
A-25 Appendix A |
offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.442, farPlane=497.104, width=28.2167, height=17.0885, viewOffsetX=-103.229, viewOffsetY=21.3697) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:7 #40020008 ]', ), ) region = p.Set(faces=faces, name='Set-447') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.664, farPlane=497.881, width=37.6305, height=22.7897, viewOffsetX=-102.15, viewOffsetY=-21.9989) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #800800 #4 ]', ), ) region = p.Set(faces=faces, name='Set-448') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #20201000 ]', ), ) region = p.Set(faces=faces, name='Set-449') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #404000 ]', ), ) region = p.Set(faces=faces, name='Set-450') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase3', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #40808000 #210 ]', ), ) region = p.Set(faces=faces, name='Set-451') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #10100800 #8 ]', ), ) region = p.Set(faces=faces, name='Set-452')
p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.974, farPlane=498.571, width=45.9874, height=27.8508, viewOffsetX=5.66844, viewOffsetY=-23.3537) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:4 #8004000 #200100 #10008004 #1000400 #10020020 #40 ]', ), ) region = p.Set(faces=faces, name='Set-453') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.575, farPlane=497.971, width=38.7144, height=23.4461, viewOffsetX=111.603, viewOffsetY=-24.3076) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:2 #4000000 #100080 #2 ]', ), ) region = p.Set(faces=faces, name='Set-454') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #80100400 #1000 ]', ), ) region = p.Set(faces=faces, name='Set-455') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.91, farPlane=497.635, width=34.6533, height=20.9866, viewOffsetX=111.23, viewOffsetY=28.1377) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#2041000 #2 ]', ), ) region = p.Set(faces=faces, name='Set-456') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#40820000 #40 ]', ), ) region = p.Set(faces=faces, name='Set-457') p = mdb.models['Model-1'].parts['Part-1']
A-26 Appendix A |
p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.057, farPlane=499.488, width=57.099, height=34.5802, viewOffsetX=-5.67037, viewOffsetY=26.6189) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0 #2008000 #80040020 #2001000 #80040 #4002001 #80 ]', ), ) region = p.Set(faces=faces, name='Set-458') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=490.207, farPlane=499.338, width=55.2779, height=33.4773, viewOffsetX=-106.223, viewOffsetY=21.9879) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:6 #100000 #20010004 ]', ), ) region = p.Set(faces=faces, name='Set-459') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:8 #400400 #2 ]', ), ) region = p.Set(faces=faces, name='Set-460') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase4', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:7 #10000000 #200200 #80401 ]', ), ) region = p.Set(faces=faces, name='Set-461') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:5 #2000000 #80040 #8002 ]', ), ) region = p.Set(faces=faces, name='Set-462') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.911,
farPlane=496.634, width=22.5293, height=13.6441, viewOffsetX=-110.478, viewOffsetY=-25.4618) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #8000000 #24104 ]', ), ) region = p.Set(faces=faces, name='Set-463') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:9 #81000000 #8420 ]', ), ) region = p.Set(faces=faces, name='Set-464') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=491.8, farPlane=497.745, width=35.9816, height=21.7911, viewOffsetX=0.722275, viewOffsetY=-26.0431) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0:4 #10000000 #400200 #20010008 #2000800 #20040040 #10080 ]', ), ) region = p.Set(faces=faces, name='Set-465') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.401, farPlane=497.144, width=28.707, height=17.3855, viewOffsetX=112.433, viewOffsetY=-24.9473) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0:2 #8000000 #200100 #8004 ]', ), ) region = p.Set(faces=faces, name='Set-466') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#0 #200804 #2001 ]', ), ) region = p.Set(faces=faces, name='Set-467') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=493.717, farPlane=495.828, width=12.7714, height=7.73457,
A-27 Appendix A |
viewOffsetX=114.781, viewOffsetY=25.6363) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#4082110 ]', ), ) region = p.Set(faces=faces, name='Set-468') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=('[#20410880 ]', ), ) region = p.Set(faces=faces, name='Set-469') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=492.947, farPlane=496.598, width=22.0973, height=13.3825, viewOffsetX=-1.95299, viewOffsetY=26.7499) p = mdb.models['Model-1'].parts['Part-1'] f = p.faces faces = f.getSequenceFromMask(mask=( '[#0 #1004020 #40020010 #1000800 #80040020 #1000 ]', ), ) region = p.Set(faces=faces, name='Set-470') p = mdb.models['Model-1'].parts['Part-1'] p.SectionAssignment(region=region, sectionName='Interphase5', offset=0.0, offsetType=MIDDLE_SURFACE, offsetField='', thicknessAssignment=FROM_SECTION) session.viewports['Viewport: 1'].view.setValues(nearPlane=476.605, farPlane=512.94, width=248.606, height=138.235, viewOffsetX=-4.14577, viewOffsetY=4.6687) a = mdb.models['Model-1'].rootAssembly session.viewports['Viewport: 1'].setValues(displayedObject=a) session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=OFF, bcs=OFF, predefinedFields=OFF, connectors=OFF) a = mdb.models['Model-1'].rootAssembly a.DatumCsysByDefault(CARTESIAN) p = mdb.models['Model-1'].parts['Part-1'] a.Instance(name='Part-1-1', part=p, dependent=ON) session.viewports['Viewport: 1'].assemblyDisplay.setValues( adaptiveMeshConstraints=ON) mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial') session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1') session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON, predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF) a = mdb.models['Model-1'].rootAssembly v1 = a.instances['Part-1-1'].vertices verts1 = v1.getSequenceFromMask(mask=('[#0:11
#800000 ]', ), ) region = a.Set(vertices=verts1, name='Set-1') mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1', region=region, u1=0.0, u2=0.0, ur3=UNSET, amplitude=UNSET, fixed=OFF, distributionType=UNIFORM, fieldName='', localCsys=None) a = mdb.models['Model-1'].rootAssembly v1 = a.instances['Part-1-1'].vertices verts1 = v1.getSequenceFromMask(mask=('[#0:2 #10000000 ]', ), ) region = a.Set(vertices=verts1, name='Set-2') mdb.models['Model-1'].DisplacementBC(name='BC-2', createStepName='Step-1', region=region, u1=UNSET, u2=0.0, ur3=UNSET, amplitude=UNSET, fixed=OFF, distributionType=UNIFORM, fieldName='', localCsys=None) a = mdb.models['Model-1'].rootAssembly v1 = a.instances['Part-1-1'].vertices verts1 = v1.getSequenceFromMask(mask=('[#0:3 #800 ]', ), ) region = a.Set(vertices=verts1, name='Set-3') mdb.models['Model-1'].ConcentratedForce(name='Load-1', createStepName='Step-1', region=region, cf2=1.0, distributionType=UNIFORM, field='', localCsys=None) a = mdb.models['Model-1'].rootAssembly v1 = a.instances['Part-1-1'].vertices verts1 = v1.getSequenceFromMask(mask=('[#0:3 #800 ]', ), ) region = a.Set(vertices=verts1, name='Set-4') mdb.models['Model-1'].ConcentratedForce(name='Load-2', createStepName='Step-1', region=region, cf1=2.0, distributionType=UNIFORM, field='', localCsys=None) a = mdb.models['Model-1'].rootAssembly v1 = a.instances['Part-1-1'].vertices verts1 = v1.getSequenceFromMask(mask=('[#0:2 #10000000 ]', ), ) region = a.Set(vertices=verts1, name='Set-5') mdb.models['Model-1'].ConcentratedForce(name='Load-3', createStepName='Step-1', region=region, cf1=3.0, distributionType=UNIFORM, field='', localCsys=None) #--------------------------------------------------------------------- mdb.models['Model-1'].Equation(name='Constraint-1', terms=((1.0, 'Part-1-1.R-1', 1), (-1.0, 'Part-1-1.L-1', 1), (-1.0, 'Part-1-1.BR-36', 1), (1.0, 'Part-1-1.BL-37', 1))) mdb.models['Model-1'].Equation(name='Constraint-2', terms=((1.0, 'Part-1-1.R-1', 2), (-1.0, 'Part-1-1.L-1', 2), (-1.0, 'Part-1-1.BR-36', 2), (1.0, 'Part-1-1.BL-37', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE VERTICAL SIDES OF THE RVE #----------------------------------------------------------- #---------------------------------------------------------
A-28 Appendix A |
mdb.models['Model-1'].Equation(name='Constraint-49', terms=((1.0, 'Part-1-1.BL-1', 1), (-1.0, 'Part-1-1.TR-1', 1), (1.0, 'Part-1-1.TR-37', 1), (-1.0, 'Part-1-1.BL-37', 1))) mdb.models['Model-1'].Equation(name='Constraint-50', terms=((1.0, 'Part-1-1.BL-1', 2), (-1.0, 'Part-1-1.TR-1', 2), (1.0, 'Part-1-1.TR-37', 2), (-1.0, 'Part-1-1.BL-37', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP LEFT AND BOTTOM RIGHT OF THE RVE #----------------------------------------------------------- #------------------------------ #mdb.models['Model-1'].Equation(name='Constraint-48', terms=((1.0, # 'Part-1-1.BR-1', 1), (-1.0, 'Part-1-1.TL-1', 1), (1.0, 'Part-1-1.TR-16', # 1), (-1.0, 'Part-1-1.BR-15', 1))) #mdb.models['Model-1'].Equation(name='Constraint-49', terms=((1.0, # 'Part-1-1.BR-1', 2), (-1.0, 'Part-1-1.TL-1', 2), (1.0, 'Part-1-1.TR-16', # 2), (-1.0, 'Part-1-1.BR-15', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP RIGHT AND BOTTOM LEFTOF THE RVE #----------------------------------------------------------- mdb.models['Model-1'].Equation(name='Constraint-191', terms=((1.0, 'Part-1-1.TR-1', 1), (-1.0, 'Part-1-1.TL-1', 1), (-1.0, 'Part-1-1.BR-36', 1), (1.0, 'Part-1-1.BL-37', 1))) mdb.models['Model-1'].Equation(name='Constraint-192', terms=((1.0, 'Part-1-1.TR-1', 2), (-1.0, 'Part-1-1.TL-1', 2), (-1.0, 'Part-1-1.BR-36', 2), (1.0, 'Part-1-1.BL-37', 2))) #------------------------------------------------------------- mdb.models['Model-1'].Equation(name='Constraint-193', terms=((1.0, 'Part-1-1.C-BR-1', 1), (-1.0, 'Part-1-1.C-TL-1', 1), (1.0, 'Part-1-1.TR-37', 1), (-1.0, 'Part-1-1.BR-36', 1))) mdb.models['Model-1'].Equation(name='Constraint-194', terms=((1.0, 'Part-1-1.C-BR-1', 2), (-1.0, 'Part-1-1.C-TL-1', 2), (1.0, 'Part-1-1.TR-37', 2), (-1.0, 'Part-1-1.BR-36', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP LEFT AND BOTTOM RIGHT OF THE RVE #----------------------------------------------------------- #------------------------------------------------------------------------- mdb.models['Model-1'].Equation(name='Constraint-265', terms=((1.0, 'Part-1-1.C-BL-1', 1), (-1.0, 'Part-1-1.C-TR-1', 1), (1.0,
'Part-1-1.TR-37', 1), (-1.0, 'Part-1-1.BL-37', 1))) mdb.models['Model-1'].Equation(name='Constraint-266', terms=((1.0, 'Part-1-1.C-BL-1', 2), (-1.0, 'Part-1-1.C-TR-1', 2), (1.0, 'Part-1-1.TR-37', 2), (-1.0, 'Part-1-1.BL-37', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE TOP RIGHT AND BOTTOM LEFT OF THE RVE #----------------------------------------------------------- #----------------------------------------------------------------------------- mdb.models['Model-1'].Equation(name='Constraint-337', terms=((1.0, 'Part-1-1.C-R-1', 1), (-1.0, 'Part-1-1.C-L-1', 1), (-1.0, 'Part-1-1.BR-36', 1), (1.0, 'Part-1-1.BL-37', 1))) mdb.models['Model-1'].Equation(name='Constraint-338', terms=((1.0, 'Part-1-1.C-R-1', 2), (-1.0, 'Part-1-1.C-L-1', 2), (-1.0, 'Part-1-1.BR-36', 2), (1.0, 'Part-1-1.BL-37', 2))) #----------------------------------------------------------- #REPEAT FOR ALL NODES ON THE SIDES OF THE RVE #-----------------------------------------------------------
A-29 Appendix A |
Code A-2 Reading an ABAQUS ODB file and writing a full txt report
from abaqus import * from abaqusConstants import * session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=333.5625, height=207.199981689453) session.viewports['Viewport: 1'].makeCurrent() session.viewports['Viewport: 1'].maximize() from caeModules import * from driverUtils import executeOnCaeStartup executeOnCaeStartup() session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=ON) #: Writing Field Report********************************* o1 = session.openOdb(name='initialStep.odb') session.viewports['Viewport: 1'].setValues(displayedObject=o1) #: Model: H:/Work Directory/Main Program/restartCheck1.odb #: Number of Assemblies: 1 #: Number of Assembly instances: 0 #: Number of Part instances: 1 #: Number of Meshes: 1 #: Number of Element Sets: 1 #: Number of Node Sets: 1 #: Number of Steps: 1 odb = session.odbs['initialStep.odb'] session.fieldReportOptions.setValues(printTotal=OFF, printMinMax=OFF) session.writeFieldReport(fileName='abaqus.rpt', append=OFF, sortItem='Node Label', odb=odb, step=0, frame=1, outputPosition=ELEMENT_NODAL, variable=(('E', INTEGRATION_POINT, (( COMPONENT, 'E11'), (COMPONENT, 'E22'), (COMPONENT, 'E33'), (COMPONENT, 'E12'), )), ('FV1', INTEGRATION_POINT), ('S', INTEGRATION_POINT, (( COMPONENT, 'S11'), (COMPONENT, 'S22'), (COMPONENT, 'S33'), (COMPONENT, 'S12'), )), )) #: Closing Odb ***************************************** #: session.odbs['H:/Work Directory/Main Program/restartCheck1.odb'].close() #: Opening Odb ***************************************** #: odb = openOdb(path='restartCheck1.odb') #: Open txt ******************************************** h = open('Node and Connectivity.txt','w') #: Catching Last Frame
********************************* #: lastFrame = odb.steps['Step-1'].frames[-1] h.write('************Nodes***********\n') assembly = odb.rootAssembly elements = odb.rootAssembly.instances['PART-1-1'].elements nodes = odb.rootAssembly.instances['PART-1-1'].nodes sections = odb.sections d = 0 for s in nodes: d = d + 1 h.write('Number of Nodes\n') d = str(d) h.write(d) h.write('\n') for s in nodes: sLabel = s.label Label = str(sLabel) sCoordx = s.coordinates[0] Coordx = str(sCoordx) sCoordy = s.coordinates[1] Coordy = str(sCoordy) h.write(Label) h.write(' ') h.write(Coordx) h.write(' ') h.write(Coordy) h.write('\n') h.write('************Element Connectivity***********\n') d = 0 for v in elements: d = d + 1 print v print print v.sectionCategory h.write('Number of Elements\n') d = str(d) h.write(d) h.write('\n') for v in elements: matName = v.sectionCategory.name print v.sectionCategory.sectionPoints h.write(matName) h.write('\n') vLabel = v.label Label = str(vLabel) nod1 = v.connectivity[0] node1 = str(nod1) nod2 = v.connectivity[1] node2 = str(nod2) nod3 = v.connectivity[2] node3 = str(nod3) nod4 = v.connectivity[3] node4 = str(nod4) nod5 = v.connectivity[4]
A-30 Appendix A |
node5 = str(nod5) nod6 = v.connectivity[5] node6 = str(nod6) nod7 = v.connectivity[6] node7 = str(nod7) nod8 = v.connectivity[-1] node8 = str(nod8) h.write(Label) h.write(' ') h.write(node1) h.write(' ') h.write(node2) h.write(' ') h.write(node3) h.write(' ') h.write(node4) h.write(' ') h.write(node5) h.write(' ') h.write(node6) h.write(' ') h.write(node7) h.write(' ') h.write(node8) h.write(' ') h.write('\n') #: Closing Odb ***************************************** session.odbs['initialStep.odb'].close() h.close()
Code A-3 Reading an ABAQUS ODB file and writing stress-strain report
from abaqus import * from abaqusConstants import * session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=333.5625, height=207.199981689453) session.viewports['Viewport: 1'].makeCurrent() session.viewports['Viewport: 1'].maximize() from caeModules import * from driverUtils import executeOnCaeStartup executeOnCaeStartup() session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues( referenceRepresentation=ON) #: Writing Field Report********************************* o1 = session.openOdb(name='Report.odb') session.viewports['Viewport: 1'].setValues(displayedObject=o1) #: Model: H:/Work Directory/Main Program/restartCheck1.odb #: Number of Assemblies: 1 #: Number of Assembly instances: 0 #: Number of Part instances: 1 #: Number of Meshes: 1 #: Number of Element Sets: 1 #: Number of Node Sets: 1 #: Number of Steps: 1 odb = session.odbs['Report.odb'] session.fieldReportOptions.setValues(printTotal=OFF, printMinMax=OFF) session.writeFieldReport(fileName='abaqus.rpt', append=OFF, sortItem='Node Label', odb=odb, step=0, frame=1, outputPosition=ELEMENT_NODAL, variable=(('E', INTEGRATION_POINT, (( COMPONENT, 'E11'), (COMPONENT, 'E22'), (COMPONENT, 'E33'), (COMPONENT, 'E12'), )), ('FV1', INTEGRATION_POINT), ('S', INTEGRATION_POINT, (( COMPONENT, 'S11'), (COMPONENT, 'S22'), (COMPONENT, 'S33'), (COMPONENT, 'S12'), )), )) session.odbs['Report.odb'].close()
APPENDIX-B
MATLAB codes
B-1 Appendix B |
Code B-1 Main Program
clc clear !abaqus job=initialStep interactive d=0; stat = 0; pause(8); variables; loadVariables; ll=1; while stat == 0 stat = exist('initialStep.msg','file'); pause(1); d=d+1; end numSLoad = 0; numBLoad = 0; newBLoadStep = loadStep * 15; newSLoadStep = loadStep; pause(8); fidd = fopen('caseNumber.txt'); line = fgetl(fidd); st = str2num(line); RVEnumber = st(1); LengthScaleNumber = st(2); caseNumber = st(3); copyFile1 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB']; copyfile('initialStep.odb',copyFile1) moveFile1 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB\initialStep.odb']; moveFile2 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB\Report.odb']; movefile(moveFile1,moveFile2) !abaqus cae noGUI=initialReport.py pause(8); copyFile1 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport']; copyfile('abaqus.rpt',copyFile1) moveFile1 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\abaqus.rpt']; moveFile2 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\initial.rpt']; movefile(moveFile1,moveFile2) lambdaBrick = -(ecBrick*dcBrick ^ 2 - 2 * zetaBrick * ecBrick * dcBrick + zetaBrick * ecBrick)/(-dcBrick ^ 2 + zetaBrick*dcBrick); lambdaMortar = -(ecMortar*dcMortar ^ 2 - 2 * zetaMortar * ecMortar * dcMortar + zetaMortar * ecMortar)/(-dcMortar ^ 2 + zetaMortar*dcMortar); lambdaInterphase1 = -(ecInterphase1*dcInterphase1 ^ 2 - 2 * zetaInterphase1 * ecInterphase1 * dcInterphase1 + zetaInterphase1 * ecInterphase1)/(-dcInterphase1 ^ 2 + zetaInterphase1*dcInterphase1);
B-2 Appendix B |
lambdaInterphase2 = -(ecInterphase2*dcInterphase2 ^ 2 - 2 * zetaInterphase2 * ecInterphase2 * dcInterphase2 + zetaInterphase2 * ecInterphase2)/(-dcInterphase2 ^ 2 + zetaInterphase2*dcInterphase2); lambdaInterphase3 = -(ecInterphase3*dcInterphase3 ^ 2 - 2 * zetaInterphase3 * ecInterphase3 * dcInterphase3 + zetaInterphase3 * ecInterphase3)/(-dcInterphase3 ^ 2 + zetaInterphase3*dcInterphase3); lambdaInterphase4 = -(ecInterphase4*dcInterphase4 ^ 2 - 2 * zetaInterphase4 * ecInterphase4 * dcInterphase4 + zetaInterphase4 * ecInterphase4)/(-dcInterphase4 ^ 2 + zetaInterphase4*dcInterphase4); lambdaInterphase5 = -(ecInterphase5*dcInterphase5 ^ 2 - 2 * zetaInterphase5 * ecInterphase5 * dcInterphase5 + zetaInterphase5 * ecInterphase5)/(-dcInterphase5 ^ 2 + zetaInterphase5*dcInterphase5); readGeo; localEqStrainCalc; nonLocalEqStrains; damageParCalc; %% fid31 = fopen('Results11.txt','w'); fprintf(fid31,'%d ',macroStrain(ll,1)); fprintf(fid31,'%d',macroStress(ll,1)); fprintf(fid31,'\n'); fid32 = fopen('Results22.txt','w'); fprintf(fid32,'%d ',macroStrain(ll,2)); fprintf(fid32,'%d',macroStress(ll,2)); fprintf(fid32,'\n'); fid33 = fopen('Results33.txt','w'); fprintf(fid33,'%d ',macroStrain(ll,3)); fprintf(fid33,'%d',macroStress(ll,3)); fprintf(fid33,'\n'); fid34 = fopen('Results12.txt','w'); fprintf(fid34,'%d ',macroStrain(ll,4)); fprintf(fid34,'%d',macroStress(ll,4)); fprintf(fid34,'\n'); maxStrain = max([abs(macroStrain(ll,1)) abs(macroStrain(ll,2)) abs(macroStrain(ll,4))]); if abs(maxStrain) < 0.005 numBLoad = numBLoad + 1; else numSLoad = numSLoad + 1; end %% ll = 2; writeInput; !abaqus job=step-2 oldjob=initialStep interactive stat = 0; pause(8); while stat == 0 stat = exist('step-2.msg','file'); pause(1); d=d+1;
B-3 Appendix B |
end pause(8); stepCopy = ['step-' num2str(ll) '.odb']; copyFile1 = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB']; copyfile(stepCopy,copyFile1) stepMove = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB\step-' num2str(ll) '.odb']; copyfile(stepMove,['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\Report.odb']) !abaqus cae noGUI=Report.py pause(5); copyfile('abaqus.rpt',['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport']) movefile(['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\abaqus.rpt'],['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\step-2.rpt']) readGeo; localEqStrainCalc; nonLocalEqStrains; damageParCalc; %% fid31 = fopen('Results11.txt','a'); fprintf(fid31,'%d ',macroStrain(ll,1)); fprintf(fid31,'%d',macroStress(ll,1)); fprintf(fid31,'\n'); fid32 = fopen('Results22.txt','a'); fprintf(fid32,'%d ',macroStrain(ll,2)); fprintf(fid32,'%d',macroStress(ll,2)); fprintf(fid32,'\n'); fid33 = fopen('Results33.txt','a'); fprintf(fid33,'%d ',macroStrain(ll,3)); fprintf(fid33,'%d',macroStress(ll,3)); fprintf(fid33,'\n'); fid34 = fopen('Results12.txt','a'); fprintf(fid34,'%d ',macroStrain(ll,4)); fprintf(fid34,'%d',macroStress(ll,4)); fprintf(fid34,'\n'); maxStrain = max([abs(macroStrain(ll,1)) abs(macroStrain(ll,2)) abs(macroStrain(ll,4))]); if abs(maxStrain) < 0.005 numBLoad = numBLoad + 1; else numSLoad = numSLoad + 1; end %% for ll = 3:numStep
B-4 Appendix B |
writeInput; runStepNumber = ['!abaqus job=step-' num2str((ll)) ' oldjob=step-' num2str((ll-1)) ' interactive']; eval(runStepNumber) stat = 0; pause(8); stepPause = ['step-' num2str(ll) '.msg']; while stat == 0 stat = exist(stepPause,'file'); pause(1); d=d+1; end pause(8); stepCopy = ['step-' num2str(ll) '.odb']; copyfile(stepCopy,['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB']) stepMove = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempODB\step-' num2str(ll) '.odb']; movefile(stepMove,['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\Report.odb']) !abaqus cae noGUI=Report.py pause(5); copyfile('abaqus.rpt',['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport']) moveFileNumber = ['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\step-' num2str(ll) '.rpt']; movefile(['\\home\n8412031\Main\RVE' num2str(RVEnumber) '\LengthScale' num2str(LengthScaleNumber) '\Case' num2str(caseNumber) '\TempReport\abaqus.rpt'],moveFileNumber) readGeo; localEqStrainCalc; nonLocalEqStrains; damageParCalc; %% fid31 = fopen('Results11.txt','a'); fprintf(fid31,'%d ',macroStrain(ll,1)); fprintf(fid31,'%d',macroStress(ll,1)); fprintf(fid31,'\n'); fid32 = fopen('Results22.txt','a'); fprintf(fid32,'%d ',macroStrain(ll,2)); fprintf(fid32,'%d',macroStress(ll,2)); fprintf(fid32,'\n'); fid33 = fopen('Results33.txt','a'); fprintf(fid33,'%d ',-
B-5 Appendix B |
(macroStress(ll,1)+macroStress(ll,2))*nooB/brickE); fprintf(fid33,'%d',macroStress(ll,3)); fprintf(fid33,'\n'); fid34 = fopen('Results12.txt','a'); fprintf(fid34,'%d ',macroStrain(ll,4)); fprintf(fid34,'%d',macroStress(ll,4)); fprintf(fid34,'\n'); maxStrain = max([abs(macroStrain(ll,1)) abs(macroStrain(ll,2)) abs(macroStrain(ll,4))]); if abs(maxStrain) < 0.005 numBLoad = numBLoad + 1; else numSLoad = numSLoad + 1; end %% if abs(macroStrain(ll,1)) > 0.005 break elseif abs(macroStrain(ll,2)) > 0.005 break elseif abs(macroStrain(ll,3)) > 0.005 break elseif abs(macroStrain(ll,4)) > 0.005 break end end sketch; fclose(all);
B-6 Appendix B |
Code B-2 Reading Geometry
fid = fopen('materialSet.txt','r'); line = fgetl(fid); line = fgetl(fid); mortarElement = str2num(line); material = struct('elemNumber',{}); for ii = 1:length(mortarElement) material(mortarElement(ii)).elemNumber = 'MORTAR'; end numMortarElem = length(mortarElement); line = fgetl(fid); line = fgetl(fid); brickElement = str2num(line); for ii = 1:length(brickElement) material(brickElement(ii)).elemNumber = 'BRICK'; end numBrickElem = length(brickElement); numberOfInterphases = 0; for ii = 1:5 line = fgetl(fid); interphaseName = ['Interphase' num2str(ii) '']; if strcmp(line, interphaseName) == 1 else break end if ii == 1 line = fgetl(fid); interphase1Element = str2num(line); for jj = 1:length(interphase1Element) material(interphase1Element(jj)).elemNumber = 'INTERPHASE1'; end numberOfInterphases = 1; numInterphase1Elem = length(interphase1Element); elseif ii == 2 line = fgetl(fid); interphase2Element = str2num(line); for jj = 1:length(interphase2Element) material(interphase2Element(jj)).elemNumber = 'INTERPHASE2'; end numberOfInterphases = 2; numInterphase2Elem = length(interphase2Element);
B-7 Appendix B |
elseif ii == 3 line = fgetl(fid); interphase3Element = str2num(line); for jj = 1:length(interphase3Element) material(interphase3Element(jj)).elemNumber = 'INTERPHASE3'; end numberOfInterphases = 3; numInterphase3Elem = length(interphase3Element); elseif ii == 4 line = fgetl(fid); interphase4Element = str2num(line); for jj = 1:length(interphase4Element) material(interphase4Element(jj)).elemNumber = 'INTERPHASE4'; end numberOfInterphases = 4; numInterphase4Elem = length(interphase4Element); elseif ii == 5 line = fgetl(fid); interphase5Element = str2num(line); for jj = 1:length(interphase5Element) material(interphase5Element(jj)).elemNumber = 'INTERPHASE5'; end numberOfInterphases = 5; numInterphase5Elem = length(interphase5Element); end end fid2 = fopen('Node and Connectivity.txt','r'); line = fgetl(fid2); line = fgetl(fid2); line = fgetl(fid2); numNode = str2double(line); nodeRep = zeros(numNode,1); for ii=1:numNode line=fgetl(fid2); st=str2num(line); node(st(1),1) = st(2); node(st(1),2) = st(3); end line=fgetl(fid2); line=fgetl(fid2); line=fgetl(fid2); numElem=str2double(line); for ii=1:numElem line=fgetl(fid2); line = fgetl(fid2); st=str2num(line); eleCon(st(1),1) = st(2); eleCon(st(1),2) = st(3);
B-8 Appendix B |
eleCon(st(1),3) = st(4); eleCon(st(1),4) = st(5); extraCon(st(6),1) = 1; extraCon(st(7),1) = 1; extraCon(st(8),1) = 1; extraCon(st(9),1) = 1; end stat = fclose(fid); stat = fclose(fid2); fid=fopen('abaqus.rpt','r'); for ii = 1:22 line = fgetl(fid); end nodeLabel = 0; line = fgetl(fid); st = str2num(line); for ii = 1:numNode if isempty(st) == 1 break end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if nodeRep(st(2),1) == 0 strain(st(2),1) = st(3); strain(st(2),2) = st(4); strain(st(2),3) = st(5); strain(st(2),4) = st(6); FV1(st(2),ll)= st(7); stress(st(2),1) = st(8); stress(st(2),2) = st(9); stress(st(2),3) = st(10); stress(st(2),4) = st(11); nodeRep(st(2),1) = 1; nodeLabel = st(2); line = fgetl(fid); st = str2num(line);
B-9 Appendix B |
elseif nodeRep(st(2),1) == 1; strain(st(2),1) = (strain(st(2),1) + st(3))/2; strain(st(2),2) = (strain(st(2),2) + st(4))/2; strain(st(2),3) = (strain(st(2),3) + st(5))/2; strain(st(2),4) = (strain(st(2),4) + st(6))/2; FV1(st(2),ll) = (FV1(st(2),ll) + st(7))/2; stress(st(2),1) = (stress(st(2),1) + st(8))/2; stress(st(2),2) = (stress(st(2),2) + st(9))/2; stress(st(2),3) = (stress(st(2),3) + st(10))/2; stress(st(2),4) = (stress(st(2),4) + st(11))/2; nodeRep(st(2),1) = 2; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); elseif nodeRep(st(2),1) == 2; strain(st(2),1) = (strain(st(2),1)*2 + st(3))/3; strain(st(2),2) = (strain(st(2),2)*2 + st(4))/3; strain(st(2),3) = (strain(st(2),3)*2 + st(5))/3; strain(st(2),4) = (strain(st(2),4)*2 + st(6))/3; FV1(st(2),ll) = (FV1(st(2),ll)*2 + st(7))/3; stress(st(2),1) = (stress(st(2),1)*2 + st(8))/3; stress(st(2),2) = (stress(st(2),2)*2 + st(9))/3; stress(st(2),3) = (stress(st(2),3)*2 + st(10))/3; stress(st(2),4) = (stress(st(2),4)*2 + st(11))/3; nodeRep(st(2),1) = 3; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); elseif nodeRep(st(2),1) == 3; strain(st(2),1) = (strain(st(2),1)*3 + st(3))/4; strain(st(2),2) = (strain(st(2),2)*3 + st(4))/4; strain(st(2),3) = (strain(st(2),3)*3 + st(5))/4; strain(st(2),4) = (strain(st(2),4)*3 + st(6))/4; FV1(st(2),ll) = (FV1(st(2),ll)*3 + st(7))/4; stress(st(2),1) = (stress(st(2),1)*3 + st(8))/4; stress(st(2),2) = (stress(st(2),2)*3 + st(9))/4; stress(st(2),3) = (stress(st(2),3)*3 + st(10))/4; stress(st(2),4) = (stress(st(2),4)*3 + st(11))/4; nodeRep(st(2),1) = 4; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); end end for jj =1:(numRegion-1) for ii = 1:9 line = fgetl(fid); end nodeLabel = 0; line = fgetl(fid); st = str2num(line); for ii = 1:numNode*4 if isempty(st) == 1
B-10 Appendix B |
break end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if st(2) == nodeLabel line = fgetl(fid); st = str2num(line); if isempty(st) == 1 break end end if nodeRep(st(2),1) == 0 strain(st(2),1) = st(3); strain(st(2),2) = st(4); strain(st(2),3) = st(5); strain(st(2),4) = st(6); FV1(st(2),ll)= st(7); stress(st(2),1) = st(8); stress(st(2),2) = st(9); stress(st(2),3) = st(10); stress(st(2),4) = st(11); nodeRep(st(2),1) = 1; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); elseif nodeRep(st(2),1) == 1; strain(st(2),1) = (strain(st(2),1) + st(3))/2; strain(st(2),2) = (strain(st(2),2) + st(4))/2; strain(st(2),3) = (strain(st(2),3) + st(5))/2; strain(st(2),4) = (strain(st(2),4) + st(6))/2; FV1(st(2),ll) = (FV1(st(2),ll) + st(7))/2; stress(st(2),1) = (stress(st(2),1) + st(8))/2; stress(st(2),2) = (stress(st(2),2) + st(9))/2; stress(st(2),3) = (stress(st(2),3) + st(10))/2; stress(st(2),4) = (stress(st(2),4) + st(11))/2; nodeRep(st(2),1) = 2; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); elseif nodeRep(st(2),1) == 2; strain(st(2),1) = (strain(st(2),1)*2 + st(3))/3; strain(st(2),2) = (strain(st(2),2)*2 + st(4))/3; strain(st(2),3) = (strain(st(2),3)*2 + st(5))/3; strain(st(2),4) = (strain(st(2),4)*2 + st(6))/3; FV1(st(2),ll) = (FV1(st(2),ll)*2 + st(7))/3;
B-11 Appendix B |
stress(st(2),1) = (stress(st(2),1)*2 + st(8))/3; stress(st(2),2) = (stress(st(2),2)*2 + st(9))/3; stress(st(2),3) = (stress(st(2),3)*2 + st(10))/3; stress(st(2),4) = (stress(st(2),4)*2 + st(11))/3; nodeRep(st(2),1) = 3; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); elseif nodeRep(st(2),1) == 3; strain(st(2),1) = (strain(st(2),1)*3 + st(3))/4; strain(st(2),2) = (strain(st(2),2)*3 + st(4))/4; strain(st(2),3) = (strain(st(2),3)*3 + st(5))/4; strain(st(2),4) = (strain(st(2),4)*3 + st(6))/4; FV1(st(2),ll) = (FV1(st(2),ll)*3 + st(7))/4; stress(st(2),1) = (stress(st(2),1)*3 + st(8))/4; stress(st(2),2) = (stress(st(2),2)*3 + st(9))/4; stress(st(2),3) = (stress(st(2),3)*3 + st(10))/4; stress(st(2),4) = (stress(st(2),4)*3 + st(11))/4; nodeRep(st(2),1) = 4; nodeLabel = st(2); line = fgetl(fid); st = str2num(line); end end end stat = fclose(fid); for ii = 1:numElem Connectivity = eleCon(ii,:); if node(Connectivity(1),1) > node(Connectivity(2),1) X(1) = 1; X(2) = 0; if node(Connectivity(1),1) == node(Connectivity(3),1) X(3) = 1; X(4) = 0; else X(4) = 1; X(3) = 0; end elseif node(Connectivity(1),1) == node(Connectivity(2),1) if node(Connectivity(1),1) > node(Connectivity(3),1) X(1) = 1; X(2) = 1; X(3) = 0; X(4) = 0; else X(1) = 0; X(2) = 0; X(3) = 1; X(4) = 1; end else X(1) = 0; X(2) = 1; if node(Connectivity(1),1) == node(Connectivity(3),1) X(3) = 0; X(4) = 1;
B-12 Appendix B |
else X(4) = 0; X(3) = 1; end end if node(Connectivity(1),2) > node(Connectivity(2),2) Y(1) = 1; Y(2) = 0; if node(Connectivity(1),2) == node(Connectivity(3),2) Y(3) = 1; Y(4) = 0; else Y(4) = 1; Y(3) = 0; end elseif node(Connectivity(1),2) == node(Connectivity(2),2) if node(Connectivity(1),2) > node(Connectivity(3),2) Y(1) = 1; Y(2) = 1; Y(3) = 0; Y(4) = 0; else Y(1) = 0; Y(2) = 0; Y(3) = 1; Y(4) = 1; end else Y(1) = 0; Y(2) = 1; if node(Connectivity(1),2) == node(Connectivity(3),2) Y(3) = 0; Y(4) = 1; else Y(4) = 0; Y(3) = 1; end end for jj=1:4 if (X(jj)==1 && Y(jj)==1) node3 = Connectivity(jj); elseif (X(jj)==0 && Y(jj)==0) node1 = Connectivity(jj); elseif (X(jj)==0 && Y(jj)==1) node4 = Connectivity(jj); else node2 = Connectivity(jj); end end eleConNew(ii,:) = [node1 node2 node3 node4]; end fid = fopen('IntPoint.txt','r'); for ii = 1:numElem line = fgetl(fid); st1 = str2num(line); line = fgetl(fid); st = str2num(line);
B-13 Appendix B |
st(1) = round(st(1)*10000) / 10000.0; st(2) = round(st(2)*10000) / 10000.0; intPoint(1,:) = [st(1) st(2)]; line = fgetl(fid); st2 = str2num(line); line = fgetl(fid); st = str2num(line); st(1) = round(st(1)*10000) / 10000.0; st(2) = round(st(2)*10000) / 10000.0; intPoint(2,:) = [st(1) st(2)]; line = fgetl(fid); st3 = str2num(line); line = fgetl(fid); st = str2num(line); st(1) = round(st(1)*10000) / 10000.0; st(2) = round(st(2)*10000) / 10000.0; intPoint(3,:) = [st(1) st(2)]; line = fgetl(fid); st4 = str2num(line); line = fgetl(fid); st = str2num(line); st(1) = round(st(1)*10000) / 10000.0; st(2) = round(st(2)*10000) / 10000.0; intPoint(4,:) = [st(1) st(2)]; if ii ==723 end Connectivity = [st1(2) st2(2) st3(2) st4(2)]; if intPoint(Connectivity(1),1) > intPoint(Connectivity(2),1) X(1) = 1; X(2) = 0; if intPoint(Connectivity(1),1) == intPoint(Connectivity(3),1) X(3) = 1; X(4) = 0; else X(4) = 1; X(3) = 0; end elseif intPoint(Connectivity(1),1) == intPoint(Connectivity(2),1) if intPoint(Connectivity(1),1) > intPoint(Connectivity(3),1) X(1) = 1; X(2) = 1; X(3) = 0; X(4) = 0; else X(1) = 0; X(2) = 0; X(3) = 1; X(4) = 1; end else X(1) = 0; X(2) = 1; if intPoint(Connectivity(1),1) == intPoint(Connectivity(3),1) X(3) = 0; X(4) = 1; else X(4) = 0;
B-14 Appendix B |
X(3) = 1; end end if intPoint(Connectivity(1),2) > intPoint(Connectivity(2),2) Y(1) = 1; Y(2) = 0; if intPoint(Connectivity(1),2) == intPoint(Connectivity(3),2) Y(3) = 1; Y(4) = 0; else Y(4) = 1; Y(3) = 0; end elseif intPoint(Connectivity(1),2) == intPoint(Connectivity(2),2) if intPoint(Connectivity(1),2) > intPoint(Connectivity(3),2) Y(1) = 1; Y(2) = 1; Y(3) = 0; Y(4) = 0; else Y(1) = 0; Y(2) = 0; Y(3) = 1; Y(4) = 1; end else Y(1) = 0; Y(2) = 1; if intPoint(Connectivity(1),2) == intPoint(Connectivity(3),2) Y(3) = 0; Y(4) = 1; else Y(4) = 0; Y(3) = 1; end end for jj=1:4 if (X(jj)==1 && Y(jj)==1) node3 = Connectivity(jj); elseif (X(jj)==0 && Y(jj)==0) node1 = Connectivity(jj); elseif (X(jj)==0 && Y(jj)==1) node4 = Connectivity(jj); else node2 = Connectivity(jj); end end eleIntNew(ii,:) = [node1 node2 node3 node4]; end stat = fclose(fid); macroStress(ll,1) = mean(stress(:,1)); macroStress(ll,2) = mean(stress(:,2)); macroStress(ll,3) = mean(stress(:,3)); macroStress(ll,4) = mean(stress(:,4)); stressMax(ll,1) = max(stress(:,1)); stressMax(ll,2) = max(stress(:,2)); stressMax(ll,3) = max(stress(:,3)); stressMax(ll,4) = max(stress(:,4)); stressMin(ll,1) = min(stress(:,1)); stressMin(ll,2) = min(stress(:,2));
B-15 Appendix B |
stressMin(ll,3) = min(stress(:,3)); stressMin(ll,4) = min(stress(:,4)); macroStrain(ll,1) = mean(strain(:,1)); macroStrain(ll,2) = mean(strain(:,2)); macroStrain(ll,3) = mean(strain(:,3)); macroStrain(ll,4) = mean(strain(:,4)); strainMax(ll,1) = max(strain(:,1)); strainMax(ll,2) = max(strain(:,2)); strainMax(ll,3) = max(strain(:,3)); strainMax(ll,4) = max(strain(:,4)); strainMin(ll,1) = min(strain(:,1)); strainMin(ll,2) = min(strain(:,2)); strainMin(ll,3) = min(strain(:,3)); strainMin(ll,4) = min(strain(:,4)); fprintf('**********************************************************************\n'); fprintf('**********************************************************************\n'); fprintf('Macro Strain(11) = %d Macro Stress(11) = %d \n',macroStrain(ll,1),macroStress(ll,1)); fprintf('Macro Strain(22) = %d Macro Stress(22) = %d \n',macroStrain(ll,2),macroStress(ll,2)); fprintf('Macro Strain(33) = %d Macro Stress(33) = %d \n',macroStrain(ll,3),macroStress(ll,3)); fprintf('Macro Strain(12) = %d Macro Stress(12) = %d \n',macroStrain(ll,4),macroStress(ll,4)); fprintf('**********************************************************************\n'); fprintf('**********************************************************************\n'); fclose all;
B-16 Appendix B |
Code B-3 Calculation of local equivalent strain
fid = fopen('elementDamage.txt','r'); for jj = 1:numElem if ll == 1 elementDamage(jj) = 0; else line = fgetl(fid); elementDamage(jj) = str2num(line); end end fclose(fid); nodalDamage = zeros(numNode); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for ii = 1:numNode [refElement,position] = find(eleConNew == ii); bb = 0; mm = 0; II1 = 0; II2 = 0; II3 = 0; II4 = 0; II5 = 0; for nn=1:size(refElement) if strcmp(material(refElement(nn)).elemNumber,'BRICK') == 1 bb = bb+1; end if strcmp(material(refElement(nn)).elemNumber,'MORTAR') == 1 mm = mm+1; end if strcmp(material(refElement(nn)).elemNumber,'INTERPHASE1') == 1 II1 = II1+1; end if strcmp(material(refElement(nn)).elemNumber,'INTERPHASE2') == 1 II2 = II2+1; end if strcmp(material(refElement(nn)).elemNumber,'INTERPHASE3') == 1 II3 = II3+1; end if strcmp(material(refElement(nn)).elemNumber,'INTERPHASE4') == 1 II4 = II5+1; end if strcmp(material(refElement(nn)).elemNumber,'INTERPHASE5') == 1 II5 = II5+1; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nodalDamage(ii) = nodalDamage(ii) + elementDamage(refElement(nn)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end if mm == 4 kapa = kapaM; noo = nooM;
B-17 Appendix B |
elseif bb == 4 kapa = kapaB; noo = nooB; end if II1 == 3 kapa = (kapaI1 * 3 + kapaB * 1)/4; noo = (nooI1 * 3 + nooB * 1) / 4; elseif II1 == 2 if bb == 2 kapa = (kapaI1 * 2 + kapaB * 2)/4; noo = (nooI1 * 2 + nooB * 2) / 4; elseif II2 == 2 kapa = (kapaI1 * 2 + kapaI2 * 2)/4; noo = (nooI1 * 2 + nooI2 * 2) / 4; end elseif II1 == 1 kapa = (kapaI1 * 1 + kapaI2 * 3)/4; noo = (nooI1 * 1 + nooI2 * 3) / 4; end if II2 == 1 kapa = (kapaI2 * 1 + kapaI3 * 3)/4; noo = (nooI2 * 1 + nooI3 * 3) / 4; elseif II2 == 2 if II3 == 2 kapa = (kapaI2 * 2 + kapaI3 * 2)/4; noo = (nooI2 * 2 + nooI3 * 2) / 4; end end if II3 == 1 kapa = (kapaI3 * 1 + kapaI4 * 3)/4; noo = (nooI3 * 1 + nooI4 * 3) / 4; elseif II3 == 2 if II4 == 2 kapa = (kapaI3 * 2 + kapaI4 * 2)/4; noo = (nooI3 * 2 + nooI4 * 2) / 4; end end if II4 == 1 kapa = (kapaI4 * 1 + kapaI5 * 3)/4; noo = (nooI4 * 1 + nooI5 * 3) / 4; elseif II4 == 2 if II5 == 2 kapa = (kapaI4 * 2 + kapaI5 * 2)/4; noo = (nooI4 * 2 + nooI5 * 2) / 4; end end if II5 == 1 kapa = (kapaI5 * 1 + kapaM * 3)/4; noo = (nooI5 * 1 + nooM * 3) / 4; elseif II5 == 2 if mm == 2 kapa = (kapaI5 * 2 + kapaM * 2)/4; noo = (nooI5 * 2 + nooM * 2) / 4;
B-18 Appendix B |
end end if mm == 4 kapa = kapaM; noo = nooM; elseif mm == 2 if II5 == 0 kapa = kapaM; noo = nooM; end elseif mm == 1 if II5 == 0 kapa = kapaM; noo = nooM; end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Dv = 1 - (1 - nodalDamage(ii)) ^ betaV; v = 0.5 - 0.5 * (1-2*noo)*(1 - nodalDamage(ii))/(1-Dv); if v >= 0.5 v = 0.48; elseif v <= -1 v = -0.98; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% localStrain = [strain(ii,1) strain(ii,4) 0; strain(ii,4) strain(ii,2) 0;0 0 (-noo/(1 - noo) * (strain(ii,1) + strain(ii,2)))]; eigLocal = eig(localStrain); I1(ii) = eigLocal(1) + eigLocal(2) + eigLocal(3); volStrain = (localStrain(1,1) + localStrain(2,2) + localStrain(3,3)) / 3; divStrain = localStrain - [volStrain 0 0;0 volStrain 0; 0 0 volStrain]; eigDivLocal = eig(divStrain); J2 = eigDivLocal(1) ^ 2 + eigDivLocal(2) ^ 2 + eigDivLocal(3) ^ 2; localEqStrain(ii,1) = ((kapa - 1) * I1(ii)) / (2 * kapa * (1 - 2 * noo)) + 1 / (2 * kapa) * sqrt((kapa-1) ^2 * I1(ii) ^2 / (1 - 2 * noo) ^ 2 + 12 * kapa * J2 / (1 + noo) ^ 2); end fprintf(' Local Equivalent Strains have been calculated \n'); fprintf('**********************************************************************\n'); fprintf('**********************************************************************\n');
B-19 Appendix B |
Code B-4 Calculation of nonlocal equivalent strain
numNode = numNode - sum(extraCon); Kt = zeros(numNode,numNode); strainF = zeros(numNode,1); for ii= 1:numElem NtNs = zeros(4,1); Ns = 0.0; K = zeros(4,4); xNode1 = node(eleConNew(ii,1),1); xNode2 = node(eleConNew(ii,2),1); Lx = abs(xNode1 - xNode2); yNode1 = node(eleConNew(ii,1),2); yNode3 = node(eleConNew(ii,3),2); Ly = abs(yNode1 - yNode3); gX(1) = 0.211325 * Lx; gX(2) = 0.788675 * Lx; gY(1) = 0.211325 * Ly; gY(2) = 0.788675 * Ly; if strcmp(material(ii).elemNumber,'BRICK') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleB; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'MORTAR') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleM; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'INTERPHASE1') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleI1; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1);
B-20 Appendix B |
lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'INTERPHASE2') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleI2; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'INTERPHASE3') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleI3; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'INTERPHASE4') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleI4; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); elseif strcmp(material(ii).elemNumber,'INTERPHASE5') == 1 for mm = 1:4 curStrain = localEqStrain(eleConNew(ii,mm),1); transLengthScaleI5; lengthScale(mm,1) = tNLenScale; end lengthS(1,1) = lengthScale(1,1); lengthS(2,1) = lengthScale(4,1); lengthS(3,1) = lengthScale(2,1); lengthS(4,1) = lengthScale(3,1); end t = 0; for kk = 1:2 for jj= 1:2 Gx = gX(kk); Gy = gY(jj); t = t + 1; N(1,1) = 1 - Gx/Lx -Gy/Ly + Gx * Gy / Lx / Ly; N(1,2) = Gx/Lx - Gx * Gy / Lx / Ly; N(1,3) = Gx * Gy / Lx / Ly; N(1,4) = Gy/Ly - Gx * Gy / Lx / Ly;
B-21 Appendix B |
Ns = N(1,1) * localEqStrain(eleConNew(ii,1),1); Ns = Ns + N(1,2) * localEqStrain(eleConNew(ii,2),1); Ns = Ns + N(1,3) * localEqStrain(eleConNew(ii,3),1); Ns = Ns + N(1,4) * localEqStrain(eleConNew(ii,4),1); Nt = N'; NtNs(1,1) = NtNs(1,1) + Nt(1,1) * Ns / lengthS(t); NtNs(2,1) = NtNs(2,1) + Nt(2,1) * Ns / lengthS(t); NtNs(3,1) = NtNs(3,1) + Nt(3,1) * Ns / lengthS(t); NtNs(4,1) = NtNs(4,1) + Nt(4,1) * Ns / lengthS(t); NtN = N' * N; B(1,1) = - 1 / Lx + Gy / Lx / Ly; B(2,1) = - 1 / Ly + Gx / Lx / Ly; B(1,2) = + 1 / Lx - Gy / Lx / Ly; B(2,2) = - Gx / Lx / Ly; B(1,3) = + Gy / Lx / Ly; B(2,3) = + Gx / Lx / Ly; B(1,4) = - Gy / Lx / Ly; B(2,4) = + 1 / Ly - Gx / Lx / Ly; BtB = B'*B; K = K + NtN / lengthS(t) + BtB; end end for jj = 1:4 for kk = 1:4 Kt(eleConNew(ii,jj),eleConNew(ii,kk)) = Kt(eleConNew(ii,jj),eleConNew(ii,kk)) + K(jj,kk); end strainF(eleConNew(ii,jj),1) = strainF(eleConNew(ii,jj),1) + NtNs(jj,1); end end nLocalEqStrain = Kt \ strainF;
B-22 Appendix B |
Code B-5 Calculation of damage parameter
fid = fopen('damagePar.txt', 'w'); for ii = 1:numElem if strcmp(material(ii).elemNumber,'BRICK') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainBrick if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainBrick / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaBrick * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainBrick))); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecBrick damagePar(ii,jj) = dcBrick * zetaBrick * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcBrick * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcBrick - zetaBrick) * ecBrick); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcBrick*ecBrick - dcBrick*lambdaBrick - ecBrick)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaBrick); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'MORTAR') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainMortar if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainMortar / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaMortar * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainMortar) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecMortar
B-23 Appendix B |
damagePar(ii,jj) = dcMortar * zetaMortar * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcMortar * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcMortar - zetaMortar) * ecMortar); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcMortar*ecMortar - dcMortar*lambdaMortar - ecMortar)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaMortar); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'INTERPHASE1') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainInterphase1 if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainInterphase1 / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaInterphase1 * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainInterphase1) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecInterphase1 damagePar(ii,jj) = dcInterphase1 * zetaInterphase1 * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcInterphase1 * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcInterphase1 - zetaInterphase1) * ecInterphase1); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcInterphase1*ecInterphase1 - dcInterphase1*lambdaInterphase1 - ecInterphase1)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaInterphase1); end end
B-24 Appendix B |
if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'INTERPHASE2') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainInterphase2 if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainInterphase2 / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaInterphase2 * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainInterphase2) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecInterphase2 damagePar(ii,jj) = dcInterphase2 * zetaInterphase2 * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcInterphase2 * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcInterphase2 - zetaInterphase2) * ecInterphase2); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcInterphase2*ecInterphase2 - dcInterphase2*lambdaInterphase2 - ecInterphase2)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaInterphase2); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end
B-25 Appendix B |
end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'INTERPHASE3') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainInterphase3 if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainInterphase3 / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaInterphase3 * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainInterphase3) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecInterphase3 damagePar(ii,jj) = dcInterphase3 * zetaInterphase3 * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcInterphase3 * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcInterphase3 - zetaInterphase3) * ecInterphase3); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcInterphase3*ecInterphase3 - dcInterphase3*lambdaInterphase3 - ecInterphase3)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaInterphase3); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'INTERPHASE4') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >=
B-26 Appendix B |
damageStrainInterphase4 if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainInterphase4 / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaInterphase4 * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainInterphase4) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecInterphase4 damagePar(ii,jj) = dcInterphase4 * zetaInterphase4 * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcInterphase4 * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcInterphase4 - zetaInterphase4) * ecInterphase4); else damagePar(ii,jj) = (abs(nLocalEqStrain(nodeNumber,1)-0) + (dcInterphase4*ecInterphase4 - dcInterphase4*lambdaInterphase4 - ecInterphase4)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaInterphase4); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end % end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(material(ii).elemNumber,'INTERPHASE5') == 1 for jj = 1:4 nodeNumber = eleConNew(ii,jj); % if abs(nLocalEqStrain(nodeNumber,1)) >= damageStrainInterphase5 if I1(nodeNumber) >= 0 damagePar(ii,jj) = 1 - damageStrainInterphase5 / abs(nLocalEqStrain(nodeNumber,1)) * (1 - alpha + alpha * exp(- betaInterphase5 * (abs(nLocalEqStrain(nodeNumber,1)) - damageStrainInterphase5) )); else if abs(nLocalEqStrain(nodeNumber,1)) <= ecInterphase5 damagePar(ii,jj) = dcInterphase5 * zetaInterphase5 * (abs(nLocalEqStrain(nodeNumber,1))-0) / (dcInterphase5 * (abs(nLocalEqStrain(nodeNumber,1))-0) - (dcInterphase5 - zetaInterphase5) * ecInterphase5); else damagePar(ii,jj) =
B-27 Appendix B |
(abs(nLocalEqStrain(nodeNumber,1)-0) + (dcInterphase5*ecInterphase5 - dcInterphase5*lambdaInterphase5 - ecInterphase5)) / ((abs(nLocalEqStrain(nodeNumber,1))-0) - lambdaInterphase5); end end if damagePar(ii,jj) >= 1.0 damagePar(ii,jj) = 1.0; end if damagePar(ii,jj) <= 0.0 damagePar(ii,jj) = 0.0; end % else % % damagePar(ii,jj) = 0; % % end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elementDamage(ii) = (damagePar(ii,1)+damagePar(ii,2)+damagePar(ii,3)+damagePar(ii,4))/4; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end fprintf(fid,'%d \n', ii); if eleIntNew(ii,1) == 1 fprintf(fid,'%f \n', damagePar(ii,1)); if eleIntNew(ii,2) == 2 fprintf(fid,'%f \n', damagePar(ii,2)); if eleIntNew(ii,3) == 3 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); else fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 3 if eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,4)); elseif eleIntNew(ii,3) == 4 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 4 if eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,2)); elseif eleIntNew(ii,3) == 3 fprintf(fid,'%f \n', damagePar(ii,4));
B-28 Appendix B |
fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); end end elseif eleIntNew(ii,1) == 2 if eleIntNew(ii,2) == 1 fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,1)); if eleIntNew(ii,3) == 3 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); else fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 3 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,4)); elseif eleIntNew(ii,3) == 4 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 4 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,2)); elseif eleIntNew(ii,3) == 3 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); end end elseif eleIntNew(ii,1) == 3 if eleIntNew(ii,2) == 1 fprintf(fid,'%f \n', damagePar(ii,2)); if eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,4)); else fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 2 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,4)); elseif eleIntNew(ii,3) == 4 fprintf(fid,'%f \n', damagePar(ii,4));
B-29 Appendix B |
fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,3)); end elseif eleIntNew(ii,2) == 4 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,2)); elseif eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); fprintf(fid,'%f \n', damagePar(ii,2)); end end elseif eleIntNew(ii,1) == 4 if eleIntNew(ii,2) == 1 fprintf(fid,'%f \n', damagePar(ii,2)); if eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); else fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); end elseif eleIntNew(ii,2) == 2 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,1)); elseif eleIntNew(ii,3) == 3 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,1)); end elseif eleIntNew(ii,2) == 3 if eleIntNew(ii,3) == 1 fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,1)); elseif eleIntNew(ii,3) == 2 fprintf(fid,'%f \n', damagePar(ii,4)); fprintf(fid,'%f \n', damagePar(ii,3)); fprintf(fid,'%f \n', damagePar(ii,2)); fprintf(fid,'%f \n', damagePar(ii,1)); end end end end
B-30 Appendix B |
fclose all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fid = fopen('elementDamage.txt','w'); for ii = 1:numElem fprintf(fid,'%f \n', elementDamage(ii)); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% traceElemX; traceElemY;
B-31 Appendix B |
Code B-6 writing ABAQUS input files
fprintf('**********************************************************************\n'); fprintf('**********************************************************************\n'); fprintf('******* Case-%d.inp *******\n',caseNumber); fprintf('******* step-%d.inp *******\n',(ll)); fprintf('**********************************************************************\n'); fprintf('**********************************************************************\n'); stepNumber = ['step-' num2str((ll)) '.inp']; fid = fopen(stepNumber,'w'); fprintf(fid,'*Restart, read, step=%d \n', (ll-1)); fprintf(fid,'** STEP: Step-%d \n', (ll)); fprintf(fid,'** \n'); fprintf(fid,'*Step, INC=1 \n'); fprintf(fid,'*Static \n'); fprintf(fid,'1., 1., 1e-05, 1. \n'); fprintf(fid,'** \n'); fprintf(fid,'** LOADS \n'); fprintf(fid,'** \n'); fprintf(fid,'** Name: Load-1 Type: Concentrated force \n'); fprintf(fid,'*Cload \n'); fprintf(fid,'Set-3, 2, %d \n',(firstLoad * loadRatio1 + (numBLoad) * newBLoadStep* loadRatio1 + (numSLoad) * newSLoadStep* loadRatio1 )); fprintf(fid,'** Name: Load-2 Type: Concentrated force \n'); fprintf(fid,'*Cload \n'); fprintf(fid,'Set-4, 1, %d \n',(firstLoad * loadRatio2 + (numBLoad) * newBLoadStep* loadRatio2 + (numSLoad) * newSLoadStep* loadRatio2 )); fprintf(fid,'** \n'); fprintf(fid,'** Name: Load-3 Type: Concentrated force \n'); fprintf(fid,'*Cload \n'); fprintf(fid,'Set-5, 1, %d \n',(firstLoad * loadRatio3 + (numBLoad) * newBLoadStep* loadRatio3 + (numSLoad) * newSLoadStep* loadRatio3 )); fprintf(fid,'** \n'); fprintf(fid,'** OUTPUT REQUESTS \n'); fprintf(fid,'** \n'); fprintf(fid,'*Restart, write, frequency=1 \n'); fprintf(fid,'** \n'); fprintf(fid,'** FIELD OUTPUT: F-Output-1 \n'); fprintf(fid,'*OUTPUT, FIELD, FREQUENCY=1 \n'); fprintf(fid,'*ELEMENT OUTPUT \n'); fprintf(fid,'S, EE, FV \n'); fprintf(fid,'** \n'); fprintf(fid,'*Output, field, variable=PRESELECT \n'); fprintf(fid,'** \n'); fprintf(fid,'** HISTORY OUTPUT: H-Output-1 \n'); fprintf(fid,'** \n'); fprintf(fid,'*Output, history, variable=PRESELECT \n'); fprintf(fid,'*End Step \n'); fclose all;
B-32 Appendix B |
Code B-6 writing output data
nodeX = node(:,1); geoX = sort((nodeX),'descend'); for ii =length(nodeX):-1:2 if geoX(ii) == geoX(ii-1) geoX(ii) = []; end end for ii = ((length(geoX)-1)/2):-1:1 geoX(2*ii) = []; end for jj = 1:length(targetX) nn = 0; for ii=1:numElem if node(eleConNew(ii,3),1) == geoX(targetX(jj)) if node(eleConNew(ii,1),1) == geoX(targetX(jj)+1) fid = fopen(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.out'],'a+'); nn = nn + 1; targetElemX(nn,1) = ii; fprintf(fid,'Element number \n',ii,eleConNew(ii,3)); fprintf(fid,'%d \n',ii); fprintf(fid,'Node number \n'); fprintf(fid,'%d \n',eleConNew(ii,3)); fprintf(fid,'Coordinates \n'); fprintf(fid,'%f %f \n',node(eleConNew(ii,3),1),node(eleConNew(ii,3),2)); fprintf(fid,'Damage Parameter \n'); fprintf(fid,'%f \n',damagePar(ii,3)); fprintf(fid,'Stress \n'); fprintf(fid,'%f %f %f %f \n',stress(eleConNew(ii,3),1),stress(eleConNew(ii,3),2),stress(eleConNew(ii,3),3),stress(eleConNew(ii,3),4)); fprintf(fid,'Strain \n'); fprintf(fid,'%f %f %f %f \n',strain(eleConNew(ii,3),1),strain(eleConNew(ii,3),2),strain(eleConNew(ii,3),3),strain(eleConNew(ii,3),4)); fprintf(fid,'************************************************************ \n'); nodeNumbers(nn) = eleConNew(ii,3); Y(nn) = node(eleConNew(ii,3),2); S11(nn) = stress(eleConNew(ii,3),1); S22(nn) = stress(eleConNew(ii,3),2); S33(nn) = stress(eleConNew(ii,3),3); S12(nn) = stress(eleConNew(ii,3),4);
B-33 Appendix B |
E11(nn) = strain(eleConNew(ii,3),1); E22(nn) = strain(eleConNew(ii,3),2); E33(nn) = strain(eleConNew(ii,3),3); E12(nn) = strain(eleConNew(ii,3),4); DP(nn) = damagePar(ii,3); end end end fclose all; end fid = fopen(['Step-' num2str(ll-1) 'X = ' num2str(node(eleConNew(ii,3),1)) '.out']); for ii=1:100 line = fgetl(fid); if line == -1 break end line = fgetl(fid); st = str2num(line); elementNumber = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); nodeNumbers(ii) = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); X(ii) = st(1); Y(ii) = st(2); line = fgetl(fid); line = fgetl(fid); st = str2num(line); DP(ii) = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); S11(ii) = st(1);
B-34 Appendix B |
S22(ii) = st(2); S33(ii) = st(3); S12(ii) = st(4); line = fgetl(fid); line = fgetl(fid); st = str2num(line); E11(ii) = st(1); E22(ii) = st(2); E33(ii) = st(3); E12(ii) = st(4); line = fgetl(fid); end xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],nodeNumbers(:),'A2:A80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],Y(:),'C2:C80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],S11(:),'E2:E80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],S22(:),'F2:F80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],'G2:G80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],S12(:),'I2:I80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],E11(:),'K2:K80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],E22(:),'L2:L80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],E33(:),'M2:M80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],E12(:),'N2:N80'); xlswrite(['Step-' num2str(ll-1) ' X = ' num2str(node(eleConNew(ii,3),1)) '.xls'],DP(:),'P2:P80'); fclose all; nodeY = node(:,2); geoY = sort((nodeY),'descend'); for ii =length(nodeY):-1:2 if geoY(ii) == geoY(ii-1) geoY(ii) = []; end end for ii = ((length(geoY)-1)/2):-1:1 geoY(2*ii) = []; end
B-35 Appendix B |
for jj = 1:length(targetY) mm = 0; for ii=1:numElem if node(eleConNew(ii,3),2) == geoY(targetY(jj)) if node(eleConNew(ii,1),2) == geoY(targetY(jj)+1) fid = fopen(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.out'],'a+'); mm = mm + 1; targetElemY(mm,1) = ii; fprintf(fid,'Element number \n',ii,eleConNew(ii,3)); fprintf(fid,'%d \n',ii); fprintf(fid,'Node number \n'); fprintf(fid,'%d \n',eleConNew(ii,3)); fprintf(fid,'Coordinates \n'); fprintf(fid,'%f %f \n',node(eleConNew(ii,3),1),node(eleConNew(ii,3),2)); fprintf(fid,'Damage Parameter \n'); fprintf(fid,'%f \n',damagePar(ii,3)); fprintf(fid,'Stress \n'); fprintf(fid,'%f %f %f %f \n',stress(eleConNew(ii,3),1),stress(eleConNew(ii,3),2),stress(eleConNew(ii,3),3),stress(eleConNew(ii,3),4)); fprintf(fid,'Strain \n'); fprintf(fid,'%f %f %f %f \n',strain(eleConNew(ii,3),1),strain(eleConNew(ii,3),2),strain(eleConNew(ii,3),3),strain(eleConNew(ii,3),4)); fprintf(fid,'************************************************************ \n'); X(mm) = node(eleConNew(ii,3),1); S11(mm) = stress(eleConNew(ii,3),1); S22(mm) = stress(eleConNew(ii,3),2); S33(mm) = stress(eleConNew(ii,3),3); S12(mm) = stress(eleConNew(ii,3),4); E11(mm) = strain(eleConNew(ii,3),1); E22(mm) = strain(eleConNew(ii,3),2); E33(mm) = strain(eleConNew(ii,3),3); E12(mm) = strain(eleConNew(ii,3),4); DP(mm) = damagePar(ii,3); end end end fclose all;
B-36 Appendix B |
end fid = fopen(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.out']); for ii=1:100 line = fgetl(fid); if line == -1 break end line = fgetl(fid); st = str2num(line); elementNumber = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); nodeNumbers(ii) = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); X(ii) = st(1); Y(ii) = st(2); line = fgetl(fid); line = fgetl(fid); st = str2num(line); DP(ii) = st(1); line = fgetl(fid); line = fgetl(fid); st = str2num(line); S11(ii) = st(1); S22(ii) = st(2); S33(ii) = st(3); S12(ii) = st(4); line = fgetl(fid); line = fgetl(fid); st = str2num(line); E11(ii) = st(1); E22(ii) = st(2); E33(ii) = st(3); E12(ii) = st(4); line = fgetl(fid); end xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],nodeNumbers(:),'A2:A80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],X(:),'C2:C80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],S11(:),'E2:E80'); xlswrite(['Step-' num2str(ll-1) ' Y = '
B-37 Appendix B |
num2str(node(eleConNew(ii,3),2)) '.xls'],S22(:),'F2:F80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],S33(:),'G2:G80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],S12(:),'I2:I80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],E11(:),'K2:K80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],E22(:),'L2:L80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],E33(:),'M2:M80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],E12(:),'N2:N80'); xlswrite(['Step-' num2str(ll-1) ' Y = ' num2str(node(eleConNew(ii,3),2)) '.xls'],DP(:),'P2:P80'); fclose all;
APPENDIX-C
FORTRAN codes
C-1 Appendix C |
Code C-1 ABAQUS usdfld subroutine
subroutine usdfld(field,statev,pnewdt,direct,t,celent, 1 time,dtime,cmname,orname,nfield,nstatv,noel,npt,layer, 2 kspt,kstep,kinc,ndi,nshr,coord,jmac,jmatyp,matlayo, 3 laccfla) c include 'aba_param.inc' c CHARACTER*80 CMNAME,ORNAME CHARACTER*3 FLGRAY(15) DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3), 1 T(3,3),TIME(2) DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*) c -------------------------------------------------------------------------- c USER CODE START write(*,*) 'Material = ', cmname 1 write(*,*) '1', field 2 write(*,*) '2', statev 3 write(*,*) '3', pnewdt 4 write(*,*) '4', direct 5 write(*,*) '5', t 6 write(*,*) '6', celent 7 write(*,*) '7', time 8 write(*,*) '8', dtime 9 write(*,*) '9', orname 10 write(*,*) '10', nfield 11 write(*,*) '11', nstatv 12 write(*,*) '12', noel 13 write(*,*) '13', npt 14 write(*,*) '14', layer 15 write(*,*) '15', kspt 16 write(*,*) '16', kstep 17 write(*,*) '17', kinc 18 write(*,*) '18', ndi 19 write(*,*) '19', nshr 20 write(*,*) '20x', coord(1) 21 write(*,*) '20y', coord(2) Open(1,File= 1 '//home/n8412031/Main/RVE/LengthScale/Case/damagePar.txt')
C-2 Appendix C |
if (TIME(2) .eq. 0.0) then field(1) = 0.0 open(2,File= 1 '//home/n8412031/Main/RVE/LengthScale/Case/IntPoint.txt') Write(2,*), noel, npt Write(2,*), coord(1), coord(2) else if (noel .eq. 1) then do 100 km = 1,(npt+1) Read(1,'(F10.5)') A 100 enddo else do 200 km = 1,((noel-1) * 5) Read(1,'(F10.5)') A 200 enddo do 300 km = 1,(npt+1) Read(1,'(F10.5)') A 300 enddo endif field(1) = A endif write(*,*) 'FV1 = ', field(1) close(1) c close(2) c USER CODE END c -------------------------------------------------------------------------- return end
APPENDIX-D
Loading configurations and boundary conditions of RVEs
D-1 Appendix D |
Figure D-1 Loading configuration and boundary conditions of the RVE for load case-1
considering θ = 90°
Figure D-2 Loading configuration and boundary conditions of the RVE for load case-2
considering θ = 90°
Figure D-3 Loading configuration and boundary conditions of the RVE for load case-3
considering θ = 90°
D-2 Appendix D |
Figure D-4 Loading configuration and boundary conditions of the RVE for load case-4
considering θ = 90°
Figure D-5 Loading configuration and boundary conditions of the RVE for load case-5
considering θ = 90°
Figure D-6 Loading configuration and boundary conditions of the RVE for load case-6
considering θ = 90°
D-3 Appendix D |
Figure D-7 Loading configuration and boundary conditions of the RVE for load case-7
considering θ = 90°
Figure D-8 Loading configuration and boundary conditions of the RVE for load case-8
considering θ = 90°
Figure D-9 Loading configuration and boundary conditions of the RVE for load case-9
considering θ = 90°
D-4 Appendix D |
Figure D-10 Loading configuration and boundary conditions of the RVE for load case-10
considering θ = 90°
Figure D-11 Loading configuration and boundary conditions of the RVE for load case-11
considering θ = 90°
Figure D-12 Loading configuration and boundary conditions of the RVE for load case-12
considering θ = 90°
D-5 Appendix D |
Figure D-13 Loading configuration and boundary conditions of the RVE for load case-13
considering θ = 90°
Figure D-14 Loading configuration and boundary conditions of the RVE for load case-14
considering θ = 90°
Figure D-15 Loading configuration and boundary conditions of the RVE for load case-15
considering θ = 90°
D-6 Appendix D |
Figure D-16 Loading configuration and boundary conditions of the RVE for load case-16
considering θ = 90°
Figure D-17 Loading configuration and boundary conditions of the RVE for load case-17
considering θ = 90°
Figure D-18 Loading configuration and boundary conditions of the RVE for load case-18
considering θ = 90°
D-7 Appendix D |
Figure D-19 Loading configuration and boundary conditions of the RVE for load case-19
considering θ = 90°
Figure D-20 Loading configuration and boundary conditions of the RVE for load case-20
considering θ = 90°
Figure D-21 Loading configuration and boundary conditions of the RVE for load case-21
considering θ = 90°
D-8 Appendix D |
Figure D-22 Loading configuration and boundary conditions of the RVE for load case-22
considering θ = 90°
APPENDIX-E
Failure stresses of RVEs
E-1 Appendix E |
Table E-1 Summary of failure stresses of the RVE for bed joint angles of 0° and 90°
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.347626 -6.0753412 0.000 Uniaxial Compression
2 -6.595091 -0.143308 0.000 Uniaxial Compression
3 0.002817 0.178062 0.000 Uniaxial Tension
4 0.193197 0.001284 0.000 Uniaxial Tension
5 -7.5334404 -8.1844068 0.000 Compression-Compression
6 -9.55355 -5.35204125 0.000 Compression-Compression
7 -9.48822375 -2.7953275 0.000 Compression-Compression
8 -8.97469375 -1.4264125 0.000 Compression-Compression
9 -8.326898 -0.7676936 0.000 Compression-Compression
10 -4.3193218 -8.8813695 0.000 Compression-Compression
11 -2.177405 -8.08825625 0.000 Compression-Compression
12 -1.3052868 -7.37525292 0.000 Compression-Compression
13 -0.859455 -6.92548516 0.000 Compression-Compression
14 0.390742 -1.886089 0.000 Tension-Compression
15 0.272684 -0.609293 0.000 Tension-Compression
16 0.172177 -0.190073 0.000 Tension-Compression
17 -0.12 0.36 0.000 Tension-Compression
18 -0.61138 0.338972 0.000 Tension-Compression
19 -0.224724 0.251118 0.000 Tension-Compression
20 0.09832 0.104307 0.000 Tension-Tension
21 0.110298 0.059733 0.000 Tension-Tension
22 0.071023 0.149401 0.000 Tension-Tension
E-2 Appendix E |
Table E-2 Summary of failure stresses of the RVE for bed joint angles of 22.5° and 67.5°
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.660078 -3.0463802 1.0166938 C-C with Shear
2 -2.738155 -0.394886 -1.164851 C-C with Shear
3 0.04735 0.287836 -0.117752 T-T with Shear
4 0.103615 0.019929 0.034831 T-T with Shear
5 -7.44372272 -8.08338888 0 Compression-Compression
6 -7.011774 -4.7937582 -1.4405076 C-C with Shear
7 -6.0476374 -2.815533 -2.0663244 C-C with Shear
8 -4.9664461 -1.7215187 -2.2188507 C-C with Shear
9 -4.50558 -1.3721576 -1.9726936 C-C with Shear
10 -4.0800955 -6.9062526 1.3773656 C-C with Shear
11 -1.97454105 -4.89175605 1.4513526 C-C with Shear
12 -1.22493625 -3.98707125 1.30095 C-C with Shear
13 -0.831383 -3.3536635 1.1209616 C-C with Shear
14 0.062713 -1.344967 0.592482 T-C with Shear
15 0.105851 -0.341359 0.157645 T-C with Shear
16 0.080655 -0.088681 0.10941 T-C with Shear
17 -1.247429 0.102804 -0.989026 T-C with Shear
18 -0.385164 0.155657 -0.420975 T-C with Shear
19 -0.103132 0.114531 -0.100793 T-C with Shear
20 0.069079 0.074251 0 Tension-Tension
21 0.097443 0.064924 0.020366 T-T with Shear
22 0.057227 0.098029 -0.019077 T-T with Shear
E-3 Appendix E |
Table E-3 Summary of failure stresses of the RVE for bed joint angle of 45°
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -1.7913574 -1.9426064 1.9870704 C-C with Shear
2 -1.3950524 -1.5125292 -1.5487892 C-C with Shear
3 0.166429 0.166656 -0.166603 T-T with Shear
4 0.061999 0.066133 0.067448 T-T with Shear
5 -7.5556584 -8.2049436 0 Compression-Compression
6 -4.936204 -5.3378738 -1.8222666 C-C with Shear
7 -3.6301636 -3.9339146 -2.4106866 C-C with Shear
8 -3.9703958 -4.2929936 -3.4044206 C-C with Shear
9 -2.7074888 -2.9166288 -2.5243912 C-C with Shear
10 -4.5295081 -4.8990591 1.6723551 C-C with Shear
11 -2.4769584 -2.685319 1.650124 C-C with Shear
12 -1.8682076 -2.0254668 1.6135266 C-C with Shear
13 -1.7084914 -1.8518052 1.6049656 C-C with Shear
14 -0.6504736 -0.7069944 1.203216 C-C with Shear
15 -0.14079 -0.157281 0.439898 C-C with Shear
16 -0.000006 0.000001 0.04547 T-C with Shear
17 0.000276 -0.000143 -0.118156 T-C with Shear
18 -0.283756 -0.316512 -0.916635 C-C with Shear
19 0.000276 -0.000143 -0.118156 T-C with Shear
20 0.069079 0.074251 0 Tension-Tension
21 0.070518 0.075734 0.025764 T-T with Shear
22 0.074265 0.079391 -0.026983 T-T with Shear
E-4 Appendix E |
Table E-4 Summary of failure stresses of the RVE for Case 1 (P1)
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.433208 -8.916751 0 Uniaxial Compression
2 -10.9654831 -0.595001 0 Uniaxial Compression
3 0.0070217 0.8422183 0 Uniaxial Tension
4 0.859334 0.0197652 0 Uniaxial Tension
5 -13.163579 -9.5474795 0 Compression-Compression
6 -16.476278 -6.346312 0 Compression-Compression
7 -17.306211 -4.0487005 0 Compression-Compression
8 -16.22848 -2.741336 0 Compression-Compression
9 -14.095683 -1.6138566 0 Compression-Compression
10 -7.7812716 -11.242116 0 Compression-Compression
11 -3.9925368 -11.021689 0 Compression-Compression
12 -1.9556698 -10.2520068 0 Compression-Compression
13 -1.4117207 -9.9819369 0 Compression-Compression
14 1.010030945 -2.92296725 0 Tension-Compression
15 1.0672788 -1.5243291 0 Tension-Compression
16 1.0306296 -0.7087752 0 Tension-Compression
17 -4.22096661 0.63517734 0 Tension-Compression
18 -2.6976929 0.81831078 0 Tension-Compression
19 -1.19354004 0.82177249 0 Tension-Compression
20 0.5429837 0.3958213 0 Tension-Tension
21 0.7136269 0.2701286 0 Tension-Tension
22 0.372897 0.5308352 0 Tension-Tension
E-5 Appendix E |
Table E-5 Summary of failure stresses of the RVE for Case 2 (P2)
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.445065 -7.5068981 0 Uniaxial Compression
2 -8.543634 -0.463245 0 Uniaxial Compression
3 0.00039279 0.035712156 0 Uniaxial Tension
4 0.038004204 0.00085272 0 Uniaxial Tension
5 -9.93264 -7.22138125 0 Compression-Compression
6 -12.8128896 -4.9111902 0 Compression-Compression
7 -13.9303668 -3.1553522 0 Compression-Compression
8 -13.9325952 -2.187887 0 Compression-Compression
9 -12.85433 -1.4115664 0 Compression-Compression
10 -5.9946012 -8.6112324 0 Compression-Compression
11 -3.28305488 -9.13063648 0 Compression-Compression
12 -1.70500302 -8.873717205 0 Compression-Compression
13 -1.0082165 -8.3696382 0 Compression-Compression
14 0.044898278 -0.092827 0 Tension-Compression
15 0.051786535 -0.058939548 0 Tension-Compression
16 0.053570499 -0.029521409 0 Tension-Compression
17 -0.14462852 0.021718667 0 Tension-Compression
18 -0.094640294 0.028437855 0 Tension-Compression
19 -0.04663622 0.032177306 0 Tension-Compression
20 0.023449134 0.017057118 0 Tension-Tension
21 0.030478828 0.011491253 0 Tension-Tension
22 0.016102935 0.022885785 0 Tension-Tension
E-6 Appendix E |
Table E-6 Summary of failure stresses of the RVE for Case 3 (P3)
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.602762 -10.419444 0 Uniaxial Compression
2 -12.488773 -0.6204154 0 Uniaxial Compression
3 0.000307241 0.043351843 0 Uniaxial Tension
4 0.039810743 0.000979213 0 Uniaxial Tension
5 -14.3265045 -10.1916036 0 Compression-Compression
6 -18.1972575 -6.87245445 0 Compression-Compression
7 -19.676471 -3.9868304 0 Compression-Compression
8 -19.04791 -2.9072368 0 Compression-Compression
9 -17.153793 -1.8493643 0 Compression-Compression
10 -9.32558025 -13.091547 0 Compression-Compression
11 -4.9835376 -13.5517328 0 Compression-Compression
12 -2.35032875 -12.7180573 0 Compression-Compression
13 -1.5912886 -11.92987 0 Compression-Compression
14 0.042656876 -0.117853406 0 Tension-Compression
15 0.050625265 -0.069415289 0 Tension-Compression
16 0.047580574 -0.031582679 0 Tension-Compression
17 -0.211494494 0.030548112 0 Tension-Compression
18 -0.137159546 0.039507098 0 Tension-Compression
19 -0.061595165 0.041007181 0 Tension-Compression
20 0.026709104 0.018933116 0 Tension-Tension
21 0.033783855 0.012464442 0 Tension-Tension
22 0.019318341 0.026754337 0 Tension-Tension
E-7 Appendix E |
Table E-7 Summary of failure stresses of the RVE for Case 4 (P4)
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.02869 -8.305492 0 Uniaxial Compression
2 -17.64906 -0.9441252 0 Uniaxial Compression
3 0.0161224 1.4350259 0 Uniaxial Tension
4 1.2056583 0.0296394 0 Uniaxial Tension
5 -21.64692 -13.247046 0 Compression-Compression
6 -26.550592 -8.4142784 0 Compression-Compression
7 -26.98452 -5.504 0 Compression-Compression
8 -25.5055855 -3.77120995 0 Compression-Compression
9 -23.11305 -2.475668 0 Compression-Compression
10 -14.906837 -17.18431 0 Compression-Compression
11 -7.46799675 -20.2536335 0 Compression-Compression
12 -3.6190512 -19.37592 0 Compression-Compression
13 -2.0597214 -16.939197 0 Compression-Compression
14 1.5089571 -3.8545108 0 Tension-Compression
15 1.6245593 -2.201164 0 Tension-Compression
16 1.5225532 -1.0071124 0 Tension-Compression
17 -7.287035 0.9524844 0 Tension-Compression
18 -4.481757 1.3636756 0 Tension-Compression
19 -2.34345468 1.51164972 0 Tension-Compression
20 0.90469841 0.63978376 0 Tension-Tension
21 1.12258608 0.3744979 0 Tension-Tension
22 0.65380546 0.90251238 0 Tension-Tension
E-8 Appendix E |
Table E-8 Summary of failure stresses of the conventional hollow block
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.2225325 -6.380863385 0.000 Uniaxial Compression
2 -6.8349072 -0.277947 0.000 Uniaxial Compression
3 0.00511413 0.46497227 0.000 Uniaxial Tension
4 0.49481474 0.01110242 0.000 Uniaxial Tension
5 -6.952848 -4.693897813 0.000 Compression-Compression
6 -7.68773376 -2.94671412 0.000 Compression-Compression
7 -7.66170174 -1.5776761 0.000 Compression-Compression
8 -7.523601408 -1.0939435 0.000 Compression-Compression
9 -7.263981883 -0.7057832 0.000 Compression-Compression
10 -4.79568096 -6.88898592 0.000 Compression-Compression
11 -3.28305488 -7.761041008 0.000 Compression-Compression
12 -1.70500302 -7.986345484 0.000 Compression-Compression
13 -1.0082165 -7.71011071 0.000 Compression-Compression
14 0.584575586 -1.20860754 0.000 Tension-Compression
15 0.674260688 -0.76739292 0.000 Tension-Compression
16 0.697487893 -0.38436874 0.000 Tension-Compression
17 -2.421081432 0.28277704 0.000 Tension-Compression
18 -1.232216622 0.370260866 0.000 Tension-Compression
19 -0.60720359 0.41894853 0.000 Tension-Compression
20 0.30530773 0.22208368 0.000 Tension-Tension
21 0.39683434 0.14961611 0.000 Tension-Tension
22 0.20966022 0.29797292 0.000 Tension-Tension
E-9 Appendix E |
Table E-9 Summary of failure stresses of the H-block
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.37129428 -8.4146328 0.000 Uniaxial Compression
2 -11.752656 -1.1065873 0.000 Uniaxial Compression
3 0.05481905 1.01567775 0.000 Uniaxial Tension
4 1.008894 0.156372 0.000 Uniaxial Tension
5 -16.701003 -8.94414744 0.000 Compression-Compression
6 -17.23425093 -6.2141319 0.000 Compression-Compression
7 -16.7882328 -4.79160891 0.000 Compression-Compression
8 -15.9593247 -3.7341081 0.000 Compression-Compression
9 -14.98079835 -2.622169935 0.000 Compression-Compression
10 -13.370103 -11.99471328 0.000 Compression-Compression
11 -7.53264369 -13.7397078 0.000 Compression-Compression
12 -3.84695136 -13.1786568 0.000 Compression-Compression
13 -1.67978772 -11.18958786 0.000 Compression-Compression
14 0.6359575 -3.3313642 0.000 Tension-Compression
15 0.75325 -0.905907 0.000 Tension-Compression
16 0.91786655 -0.2945658 0.000 Tension-Compression
17 -8.1304686 -0.19424259 0.000 Tension-Compression
18 -5.0236904 0.28140372 0.000 Tension-Compression
19 -3.0566085 0.61696842 0.000 Tension-Compression
20 0.6650417 0.34898195 0.000 Tension-Tension
21 0.7144488 0.2408509 0.000 Tension-Tension
22 0.5867958 0.5027818 0.000 Tension-Tension
E-10 Appendix E |
Table E-10 Summary of failure stresses of the modified H-block
Failure Summary
Load Case Parallel Stress
(MPa)
Normal Stress
(MPa)
Shear Stress
(MPa)
Stress State
1 -0.491222332 -13.26709712 0.000 Uniaxial Compression
2 -17.18654057 -1.152431631 0.000 Uniaxial Compression
3 0.046870288 0.868404476 0.000 Uniaxial Tension
4 0.81720414 0.12666132 0.000 Uniaxial Tension
5 -22.54635405 -12.07459904 0.000 Compression-Compression
6 -22.49069746 -8.10944213 0.000 Compression-Compression
7 -22.00383308 -6.77054339 0.000 Compression-Compression
8 -20.91597177 -4.521482134 0.000 Compression-Compression
9 -19.28028748 -2.964858439 0.000 Compression-Compression
10 -18.2903009 -15.97695809 0.000 Compression-Compression
11 -10.16906898 -18.54860553 0.000 Compression-Compression
12 -4.847158714 -17.90979459 0.000 Compression-Compression
13 -2.343303869 -16.27198147 0.000 Compression-Compression
14 0.400653225 -3.897696114 0.000 Tension-Compression
15 0.677925 -1.05991119 0.000 Tension-Compression
16 0.702167911 -0.225342837 0.000 Tension-Compression
17 -6.951550653 0.166077414 0.000 Tension-Compression
18 -4.52132136 0.354568687 0.000 Tension-Compression
19 -2.613400268 0.555271578 0.000 Tension-Compression
20 0.568610654 0.298379567 0.000 Tension-Tension
21 0.610853724 0.20592752 0.000 Tension-Tension
22 0.501710409 0.429878439 0.000 Tension-Tension
APPENDIX-F
Load factors applied on RVEs
F-1 Appendix F |
Table F-1 Load factors for 𝜽 = 𝟎° and 𝜽 = 𝟗𝟎°
Load Case nσ pσ τ
1 -1 0 0
2 0 -1 0
3 +1 0 0
4 0 +1 0
5 -1 -0.25 0
6 -1 -0.125 0
7 -1 -0.0625 0
8 -1 -0.03125 0
9 -1 -0.020833 0
10 -1 -0.5 0
11 -1 -1 0
12 -0.5 -1 0
13 -0.33 -1 0
14 -1 +1 0
15 -1 +0.5 0
16 -1 +0.25 0
17 +1 -0.0625 0
18 +1 -0.125 0
19 +1 -0.25 0
20 +1 +0.25 0
21 +1 +0.125 0
22 +1 +0.5 0
F-2 Appendix F |
Table F-2 Load factors for 𝜽 = 𝟐𝟐.𝟓° and 𝜽 = 𝟔𝟔.𝟓°
Load Case nσ pσ τ
1 -0.853553391 -0.146446609 0.353553391
2 -0.146446609 -0.853553391 -0.353553391
3 0.853553391 0.146446609 -0.353553391
4 0.146446609 0.853553391 0.353553391
5 -1 -1 0
6 -1.146446609 -1.853553391 -0.353553391
7 -1.439339828 -3.560660172 -1.060660172
8 -2.025126266 -6.974873734 -2.474873734
9 -2.610912703 -10.3890873 -3.889087297
10 -1.853553391 -1.146446609 0.353553391
11 -3.560660172 -1.439339828 1.060660172
12 -6.974873734 -2.025126266 2.474873734
13 -10.3890873 -2.610912703 3.889087297
14 -3.267766953 0.267766953 1.767766953
15 -1.560660172 0.560660172 1.060660172
16 -0.707106781 0.707106781 0.707106781
17 0.267766953 -3.267766953 -1.767766953
18 0.560660172 -1.560660172 -1.060660172
19 0.707106781 -0.707106781 -0.707106781
20 1 1 0
21 1.146446609 1.853553391 0.353553391
22 1.853553391 1.146446609 -0.353553391
F-3 Appendix F |
Table F-3 Load factors for 𝜽 = 𝟗𝟎
Load Case nσ pσ τ
1 -0.5 -0.5 0.5
2 -0.5 -0.5 -0.5
3 0.5 0.5 -0.5
4 0.5 0.5 0.5
5 -1 -1 0
6 -1.5 -1.5 -0.5
7 -2.5 -2.5 -1.5
8 -4.5 -4.5 -3.5
9 -6.5 -6.5 -5.5
10 -1.5 -1.5 0.5
11 -2.5 -2.5 1.5
12 -4.5 -4.5 3.5
13 -6.5 -6.5 5.5
14 -1.5 -1.5 2.5
15 -0.5 -0.5 1.5
16 -6.12323E-17 6.12323E-17 1
17 -1.5 -1.5 -2.5
18 -0.5 -0.5 -1.5
19 6.12323E-17 -6.12323E-17 -1
20 1 1 0
21 1.5 1.5 0.5
22 1.5 1.5 -0.5
F-4 Appendix F |
Table F-4 Load factors for 𝝉 = 𝟎.𝟏𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.1
2 0 -1 -0.1
3 1 0 0.1
4 0 1 0.1
5 -1 -1 -0.1
6 -1 -2 -0.1
7 -1 -4 -0.1
8 -1 -8 -0.1
9 -1 -12 -0.1
10 -2 -1 -0.2
11 -4 -1 -0.4
12 -8 -1 -0.8
13 -12 -1 -1.2
14 -4 1 -0.4
15 -2 1 -0.2
16 -1 1 -0.1
17 1 -4 0.1
18 1 -2 0.1
19 1 -1 0.1
20 1 1 0.1
21 1 2 0.1
22 2 1 0.2
F-5 Appendix F |
Table F-5 Load factors for 𝝉 = 𝟎.𝟐𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.2
2 0 -1 -0.2
3 1 0 0.2
4 0 1 0.2
5 -1 -1 -0.2
6 -1 -2 -0.2
7 -1 -4 -0.2
8 -1 -8 -0.2
9 -1 -12 -0.2
10 -2 -1 -0.4
11 -4 -1 -0.8
12 -8 -1 -1.6
13 -12 -1 -2.4
14 -4 1 -0.8
15 -2 1 -0.4
16 -1 1 -0.2
17 1 -4 0.2
18 1 -2 0.2
19 1 -1 0.2
20 1 1 0.2
21 1 2 0.2
22 2 1 0.4
F-6 Appendix F |
Table F-6 Load factors for 𝝉 = 𝟎.𝟑𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.3
2 0 -1 -0.3
3 1 0 0.3
4 0 1 0.3
5 -1 -1 -0.3
6 -1 -2 -0.3
7 -1 -4 -0.3
8 -1 -8 -0.3
9 -1 -12 -0.3
10 -2 -1 -0.6
11 -4 -1 -1.2
12 -8 -1 -2.4
13 -12 -1 -3.6
14 -4 1 -1.2
15 -2 1 -0.6
16 -1 1 -0.3
17 1 -4 0.3
18 1 -2 0.3
19 1 -1 0.3
20 1 1 0.3
21 1 2 0.3
22 2 1 0.6
F-7 Appendix F |
Table F-7 Load factors for 𝝉 = 𝟎.𝟒𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.4
2 0 -1 -0.4
3 1 0 0.4
4 0 1 0.4
5 -1 -1 -0.4
6 -1 -2 -0.4
7 -1 -4 -0.4
8 -1 -8 -0.4
9 -1 -12 -0.4
10 -2 -1 -0.8
11 -4 -1 -1.6
12 -8 -1 -3.2
13 -12 -1 -4.8
14 -4 1 -1.6
15 -2 1 -0.8
16 -1 1 -0.4
17 1 -4 0.4
18 1 -2 0.4
19 1 -1 0.4
20 1 1 0.4
21 1 2 0.4
22 2 1 0.8
F-8 Appendix F |
Table F-8 Load factors for 𝝉 = 𝟎.𝟓𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.5
2 0 -1 -0.5
3 1 0 0.5
4 0 1 0.5
5 -1 -1 -0.5
6 -1 -2 -0.5
7 -1 -4 -0.5
8 -1 -8 -0.5
9 -1 -12 -0.5
10 -2 -1 -1
11 -4 -1 -2
12 -8 -1 -4
13 -12 -1 -6
14 -4 1 -2
15 -2 1 -1
16 -1 1 -0.5
17 1 -4 0.5
18 1 -2 0.5
19 1 -1 0.5
20 1 1 0.5
21 1 2 0.5
22 2 1 1
F-9 Appendix F |
Table F-9 Load factors for 𝝉 = 𝟎.𝟔𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.6
2 0 -1 -0.6
3 1 0 0.6
4 0 1 0.6
5 -1 -1 -0.6
6 -1 -2 -0.6
7 -1 -4 -0.6
8 -1 -8 -0.6
9 -1 -12 -0.6
10 -2 -1 -1.2
11 -4 -1 -2.4
12 -8 -1 -4.8
13 -12 -1 -7.2
14 -4 1 -2.4
15 -2 1 -1.2
16 -1 1 -0.6
17 1 -4 0.6
18 1 -2 0.6
19 1 -1 0.6
20 1 1 0.6
21 1 2 0.6
22 2 1 1.2
F-10 Appendix F |
Table F-10 Load factors for 𝝉 = 𝟎.𝟔𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.7
2 0 -1 -0.7
3 1 0 0.7
4 0 1 0.7
5 -1 -1 -0.7
6 -1 -2 -0.7
7 -1 -4 -0.7
8 -1 -8 -0.7
9 -1 -12 -0.7
10 -2 -1 -1.4
11 -4 -1 -2.8
12 -8 -1 -5.6
13 -12 -1 -8.4
14 -4 1 -2.8
15 -2 1 -1.4
16 -1 1 -0.7
17 1 -4 0.7
18 1 -2 0.7
19 1 -1 0.7
20 1 1 0.7
21 1 2 0.7
22 2 1 1.4
F-11 Appendix F |
Table F-11 Load factors for 𝝉 = 𝟎.𝟖𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.8
2 0 -1 -0.8
3 1 0 0.8
4 0 1 0.8
5 -1 -1 -0.8
6 -1 -2 -0.8
7 -1 -4 -0.8
8 -1 -8 -0.8
9 -1 -12 -0.8
10 -2 -1 -1.6
11 -4 -1 -3.2
12 -8 -1 -6.4
13 -12 -1 -9.6
14 -4 1 -3.2
15 -2 1 -1.6
16 -1 1 -0.8
17 1 -4 0.8
18 1 -2 0.8
19 1 -1 0.8
20 1 1 0.8
21 1 2 0.8
22 2 1 1.6
F-12 Appendix F |
Table F-12 Load factors for 𝝉 = 𝟎.𝟗𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -0.9
2 0 -1 -0.9
3 1 0 0.9
4 0 1 0.9
5 -1 -1 -0.9
6 -1 -2 -0.9
7 -1 -4 -0.9
8 -1 -8 -0.9
9 -1 -12 -0.9
10 -2 -1 -1.8
11 -4 -1 -3.6
12 -8 -1 -7.2
13 -12 -1 -10.8
14 -4 1 -3.6
15 -2 1 -1.8
16 -1 1 -0.9
17 1 -4 0.9
18 1 -2 0.9
19 1 -1 0.9
20 1 1 0.9
21 1 2 0.9
22 2 1 1.8
F-13 Appendix F |
Table F-13 Load factors for 𝝉 = 𝟏.𝟎𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1
2 0 -1 -1
3 1 0 1
4 0 1 1
5 -1 -1 -1
6 -1 -2 -1
7 -1 -4 -1
8 -1 -8 -1
9 -1 -12 -1
10 -2 -1 -2
11 -4 -1 -4
12 -8 -1 -8
13 -12 -1 -12
14 -4 1 -4
15 -2 1 -2
16 -1 1 -1
17 1 -4 1
18 1 -2 1
19 1 -1 1
20 1 1 1
21 1 2 1
22 2 1 2
F-14 Appendix F |
Table F-14 Load factors for 𝝉 = 𝟏.𝟏𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1.1
2 0 -1 -1.1
3 1 0 1.1
4 0 1 1.1
5 -1 -1 -1.1
6 -1 -2 -1.1
7 -1 -4 -1.1
8 -1 -8 -1.1
9 -1 -12 -1.1
10 -2 -1 -2.2
11 -4 -1 -4.4
12 -8 -1 -8.8
13 -12 -1 -13.2
14 -4 1 -4.4
15 -2 1 -2.2
16 -1 1 -1.1
17 1 -4 1.1
18 1 -2 1.1
19 1 -1 1.1
20 1 1 1.1
21 1 2 1.1
22 2 1 2.2
F-15 Appendix F |
Table F-15 Load factors for 𝝉 = 𝟏.𝟐𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1.2
2 0 -1 -1.2
3 1 0 1.2
4 0 1 1.2
5 -1 -1 -1.2
6 -1 -2 -1.2
7 -1 -4 -1.2
8 -1 -8 -1.2
9 -1 -12 -1.2
10 -2 -1 -2.4
11 -4 -1 -4.8
12 -8 -1 -9.6
13 -12 -1 -14.4
14 -4 1 -4.8
15 -2 1 -2.4
16 -1 1 -1.2
17 1 -4 1.2
18 1 -2 1.2
19 1 -1 1.2
20 1 1 1.2
21 1 2 1.2
22 2 1 2.4
F-16 Appendix F |
Table F-16 Load factors for 𝝉 = 𝟏.𝟑𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1.3
2 0 -1 -1.3
3 1 0 1.3
4 0 1 1.3
5 -1 -1 -1.3
6 -1 -2 -1.3
7 -1 -4 -1.3
8 -1 -8 -1.3
9 -1 -12 -1.3
10 -2 -1 -2.6
11 -4 -1 -5.2
12 -8 -1 -10.4
13 -12 -1 -15.6
14 -4 1 -5.2
15 -2 1 -2.6
16 -1 1 -1.3
17 1 -4 1.3
18 1 -2 1.3
19 1 -1 1.3
20 1 1 1.3
21 1 2 1.3
22 2 1 2.6
F-17 Appendix F |
Table F-17 Load factors for 𝝉 = 𝟏.𝟒𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1.4
2 0 -1 -1.4
3 1 0 1.4
4 0 1 1.4
5 -1 -1 -1.4
6 -1 -2 -1.4
7 -1 -4 -1.4
8 -1 -8 -1.4
9 -1 -12 -1.4
10 -2 -1 -2.8
11 -4 -1 -5.6
12 -8 -1 -11.2
13 -12 -1 -16.8
14 -4 1 -5.6
15 -2 1 -2.8
16 -1 1 -1.4
17 1 -4 1.4
18 1 -2 1.4
19 1 -1 1.4
20 1 1 1.4
21 1 2 1.4
22 2 1 2.8
F-18 Appendix F |
Table F-18 Load factors for 𝝉 = 𝟏.𝟓𝝈𝒏
Load Case nσ pσ τ
1 -1 0 -1.5
2 0 -1 -1.5
3 1 0 1.5
4 0 1 1.5
5 -1 -1 -1.5
6 -1 -2 -1.5
7 -1 -4 -1.5
8 -1 -8 -1.5
9 -1 -12 -1.5
10 -2 -1 -3
11 -4 -1 -6
12 -8 -1 -12
13 -12 -1 -18
14 -4 1 -6
15 -2 1 -3
16 -1 1 -1.5
17 1 -4 1.5
18 1 -2 1.5
19 1 -1 1.5
20 1 1 1.5
21 1 2 1.5
22 2 1 3
APPENDIX-G
Material configurations and case numberings
G-1 Appendix G |
Table G-1 Case numbering for different unit strengths, mortar strengths and height to thickness ratios
Mortar Strength
Mortar number 𝒉𝒖/𝒕𝒋 Unit Strength Unit Number Case Name
5.0 1
5.0
3 1 M1.0H/T5.0U01 5.0 1 6 2 M1.0H/T5.0U02 5.0 1 10 3 M1.0H/T5.0U03 5.0 1 14 4 M1.0H/T5.0U04 5.0 1 16 5 M1.0H/T5.0U05 5.0 1 18 6 M1.0H/T5.0U06 5.0 1 25 7 M1.0H/T5.0U07 5.0 1 30 8 M1.0H/T5.0U08 5.0 1 50 9 M1.0H/T5.0U09 5.0 1 100 10 M1.0H/T5.0U10 5.0 1
5.7
3 1 M1.0H/T5.7U01 5.0 1 6 2 M1.0H/T5.7U02 5.0 1 10 3 M1.0H/T5.7U03 5.0 1 14 4 M1.0H/T5.7U04 5.0 1 16 5 M1.0H/T5.7U05 5.0 1 18 6 M1.0H/T5.7U06 5.0 1 25 7 M1.0H/T5.7U07 5.0 1 30 8 M1.0H/T5.7U08 5.0 1 50 9 M1.0H/T5.7U09 5.0 1 100 10 M1.0H/T5.7U10 5.0 1
6.5
3 1 M1.0H/T6.5U01 5.0 1 6 2 M1.0H/T6.5U02 5.0 1 10 3 M1.0H/T6.5U03 5.0 1 14 4 M1.0H/T6.5U04 5.0 1 16 5 M1.0H/T6.5U05 5.0 1 18 6 M1.0H/T6.5U06 5.0 1 25 7 M1.0H/T6.5U07 5.0 1 30 8 M1.0H/T6.5U08 5.0 1 50 9 M1.0H/T6.5U09 5.0 1 100 10 M1.0H/T6.5U10 5.0 1
7.6
3 1 M1.0H/T7.6U01 5.0 1 6 2 M1.0H/T7.6U02 5.0 1 10 3 M1.0H/T7.6U03 5.0 1 14 4 M1.0H/T7.6U04 5.0 1 16 5 M1.0H/T7.6U05 5.0 1 18 6 M1.0H/T7.6U06 5.0 1 25 7 M1.0H/T7.6U07 5.0 1 30 8 M1.0H/T7.6U08 5.0 1 50 9 M1.0H/T7.6U09 5.0 1 100 10 M1.0H/T7.6U10 5.0 1
9.0
3 1 M1.0H/T9.0U01 5.0 1 6 2 M1.0H/T9.0U02 5.0 1 10 3 M1.0H/T9.0U03 5.0 1 14 4 M1.0H/T9.0U04 5.0 1 16 5 M1.0H/T9.0U05 5.0 1 18 6 M1.0H/T9.0U06 5.0 1 25 7 M1.0H/T9.0U07 5.0 1 30 8 M1.0H/T9.0U08
G-2 Appendix G |
Mortar Strength
Mortar number 𝒉𝒖/𝒕𝒋 Unit Strength Unit Number Case Number
5.0 1 9.0 50 9 M1.0H/T9.0U09 5.0 1 100 10 M1.0H/T9.0U10 5.0 1
11
3 1 M1.0H/T11U01 5.0 1 6 2 M1.0H/T11U02 5.0 1 10 3 M1.0H/T11U03 5.0 1 14 4 M1.0H/T11U04 5.0 1 16 5 M1.0H/T11U05 5.0 1 18 6 M1.0H/T11U06 5.0 1 25 7 M1.0H/T11U07 5.0 1 30 8 M1.0H/T11U08 5.0 1 50 9 M1.0H/T11U09 5.0 1 100 10 M1.0H/T11U10 5.0 1
19
3 1 M1.0H/T19U01 5.0 1 6 2 M1.0H/T19U02 5.0 1 10 3 M1.0H/T19U03 5.0 1 14 4 M1.0H/T19U04 5.0 1 16 5 M1.0H/T19U05 5.0 1 18 6 M1.0H/T19U06 5.0 1 25 7 M1.0H/T19U07 5.0 1 30 8 M1.0H/T19U08 5.0 1 50 9 M1.0H/T19U09 5.0 1 100 10 M1.0H/T19U10 12.0 2
5.0
3 1 M2.0H/T5.0U01 12.0 2 6 2 M2.0H/T5.0U02 12.0 2 10 3 M2.0H/T5.0U03 12.0 2 14 4 M2.0H/T5.0U04 12.0 2 16 5 M2.0H/T5.0U05 12.0 2 18 6 M2.0H/T5.0U06 12.0 2 25 7 M2.0H/T5.0U07 12.0 2 30 8 M2.0H/T5.0U08 12.0 2 50 9 M2.0H/T5.0U09 12.0 2 100 10 M2.0H/T5.0U10 12.0 2
5.7
3 1 M2.0H/T5.7U01 12.0 2 6 2 M2.0H/T5.7U02 12.0 2 10 3 M2.0H/T5.7U03 12.0 2 14 4 M2.0H/T5.7U04 12.0 2 16 5 M2.0H/T5.7U05 12.0 2 18 6 M2.0H/T5.7U06 12.0 2 25 7 M2.0H/T5.7U07 12.0 2 30 8 M2.0H/T5.7U08 12.0 2 50 9 M2.0H/T5.7U09 12.0 2 100 10 M2.0H/T5.7U10 12.0 2
6.5
3 1 M2.0H/T6.5U01 12.0 2 6 2 M2.0H/T6.5U02 12.0 2 10 3 M2.0H/T6.5U03 12.0 2 14 4 M2.0H/T6.5U04 12.0 2 16 5 M2.0H/T6.5U05 12.0 2 18 6 M2.0H/T6.5U06 12.0 2 25 7 M2.0H/T6.5U07 12.0 2 30 8 M2.0H/T6.5U08
G-3 Appendix G |
Mortar Strength
Mortar number 𝒉𝒖/𝒕𝒋 Unit Strength Unit Number M1.0H/T6.5U09
12.0 2 6.5 50 9 M2.0H/T6.5U09 12.0 2 100 10 M2.0H/T6.5U10 12.0 2
7.6
3 1 M2.0H/T7.6U01 12.0 2 6 2 M2.0H/T7.6U02 12.0 2 10 3 M2.0H/T7.6U03 12.0 2 14 4 M2.0H/T7.6U04 12.0 2 16 5 M2.0H/T7.6U05 12.0 2 18 6 M2.0H/T7.6U06 12.0 2 25 7 M2.0H/T7.6U07 12.0 2 30 8 M2.0H/T7.6U08 12.0 2 50 9 M2.0H/T7.6U09 12.0 2 100 10 M2.0H/T7.6U10 12.0 2
9.0
3 1 M2.0H/T9.0U01 12.0 2 6 2 M2.0H/T9.0U02 12.0 2 10 3 M2.0H/T9.0U03 12.0 2 14 4 M2.0H/T9.0U04 12.0 2 16 5 M2.0H/T9.0U05 12.0 2 18 6 M2.0H/T9.0U06 12.0 2 25 7 M2.0H/T9.0U07 12.0 2 30 8 M2.0H/T9.0U08 12.0 2 50 9 M2.0H/T9.0U09 12.0 2 100 10 M2.0H/T9.0U10 12.0 2
11
3 1 M2.0H/T11U01 12.0 2 6 2 M2.0H/T11U02 12.0 2 10 3 M2.0H/T11U03 12.0 2 14 4 M2.0H/T11U04 12.0 2 16 5 M2.0H/T11U05 12.0 2 18 6 M2.0H/T11U06 12.0 2 25 7 M2.0H/T11U07 12.0 2 30 8 M2.0H/T11U08 12.0 2 50 9 M2.0H/T11U09 12.0 2 100 10 M2.0H/T11U10 12.0 2
19
3 1 M2.0H/T19U01 12.0 2 6 2 M2.0H/T19U02 12.0 2 10 3 M2.0H/T19U03 12.0 2 14 4 M2.0H/T19U04 12.0 2 16 5 M2.0H/T19U05 12.0 2 18 6 M2.0H/T19U06 12.0 2 25 7 M2.0H/T19U07 12.0 2 30 8 M2.0H/T19U08 12.0 2 50 9 M2.0H/T19U09 12.0 2 100 10 M2.0H/T19U10
APPENDIX-H
Comparison of AS3700 and the models compressive strength predictions
H-1 Appendix H |
Figure H-1 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 5 and mortar strength = 5 MPa
Figure H-2 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 5.67 and mortar strength = 5 MPa
H-2 Appendix H |
Figure H--3 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 6.5 and mortar strength = 5 MPa
Figure H-4 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 7.57 and mortar strength = 5 MPa
H-3 Appendix H |
Figure H-5 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 9 and mortar strength = 5 MPa
Figure H-6 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 11 and mortar strength = 5 MPa
H-4 Appendix H |
Figure H-7 Comparison of the predicted results of the proposed model and AS3700 for compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 19 and mortar strength = 5 MPa
Figure H-8 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 5 and mortar strength = 12 MPa
H-5 Appendix H |
Figure H-9 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 5.67 and mortar strength = 12 MPa
Figure H-10 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 6.5 and mortar strength = 12 MPa
H-6 Appendix H |
Figure H-11 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 7.57 and mortar strength = 12 MPa
Figure H-12 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 9 and mortar strength = 12 MPa
H-7 Appendix H |
Figure H-13 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 11 and mortar strength = 12 MPa
Figure H-14 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with ℎ𝑢/𝑡𝑗 = 19 and mortar strength = 12 MPa
H-8 Appendix H |
Figure H-15 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 3 𝑀𝑀𝑀
Figure H-16 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 6 𝑀𝑀𝑀
H-9 Appendix H |
Figure H-17 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 10 𝑀𝑀𝑀
Figure H-18 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 14 𝑀𝑀𝑀
H-10 Appendix H |
Figure H-19 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 16 𝑀𝑀𝑀
Figure H-20 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 18 𝑀𝑀𝑀
H-11 Appendix H |
Figure H-21 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 25 𝑀𝑀𝑀
Figure H-22 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 30 𝑀𝑀𝑀
H-12 Appendix H |
Figure H-23 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 50 𝑀𝑀𝑀
Figure H-24 Comparison of the predicted results of the proposed model and AS3700 for compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 100 𝑀𝑀𝑀
H-13 Appendix H |
Figure H-25 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 3 𝑀𝑀𝑀
Figure H-26 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 6 𝑀𝑀𝑀
H-14 Appendix H |
Figure H-27 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 10 𝑀𝑀𝑀
Figure H-28 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 14 𝑀𝑀𝑀
H-15 Appendix H |
Figure H-29 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 16 𝑀𝑀𝑀
Figure H-30 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 18 𝑀𝑀𝑀
H-16 Appendix H |
Figure H-31 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 25 𝑀𝑀𝑀
Figure H-32 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 30 𝑀𝑀𝑀
H-17 Appendix H |
Figure H-33 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 50 𝑀𝑀𝑀
Figure H-34 Comparison of the predicted results of the proposed model and AS3700 for
compressive strength of masonry with characteristic compressive strength 𝑓′𝑢𝑢 = 100 𝑀𝑀𝑀