-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFORMULATION.tex
1455 lines (1408 loc) · 96.4 KB
/
FORMULATION.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\documentclass[3p,sort&compress,review,11pt]{elsarticle}
\bibliographystyle{elsarticle-num-names}
\journal{IJNME}
\usepackage{lmodern,amsmath,amsfonts,amssymb,siunitx,graphicx,diagbox,floatrow,booktabs,gnuplot-lua-tikz,structmech,subcaption,bm}
\usepackage[ruled,vlined,nofillcomment]{algorithm2e}
\setstructmech{linewidth=.4pt}
\usetikzlibrary{shapes,arrows.meta}
\newcommand*{\md}[1]{\mathrm{d}#1}
\newcommand*{\va}[1]{\delta#1}
\newcommand*{\mT}{\mathrm{T}}
\newcommand*{\vfrac}[2]{\dfrac{\va#1}{\va#2}}
\newcommand*{\pfrac}[2]{\dfrac{\partial#1}{\partial#2}}
\newcommand*{\figref}[1]{Fig.~\ref{#1}}
\newcommand*{\eqsref}[1]{Eq.~(\ref{#1})}
\newcommand*{\tabref}[1]{Table~\ref{#1}}
\newcommand*{\mb}{\bm}
\begin{document}
\begin{abstract}
By utilizing a modified Hu-Washizu principle, a new mixed variational framework and a corresponding high-performing four-node membrane element with drilling degrees of freedom, named as GCMQ element, are proposed. In this work, the generalized conforming concept, which is originally proposed within a displacement-based formulation, is now extended to a mixed formulation. The new element is able to handle higher-order displacement, strain, and stress distributions. The interpolations are complete up to second order for stress and strain. The enhanced strain field is optimized so that a complete cubic displacement field can be represented. For numerical integration, a five-point scheme is proposed to minimize computational cost. Compared to other four-node elements in existing literature, numerical examples show that the proposed element has a better performance regarding predictions of both displacements and internal forces, particularly under coarse meshes. The new element is also free from shear locking and volumetric locking. Due to the nature of the mixed framework, the element can be directly used in elastoplastic applications.
\end{abstract}
\begin{keyword}
drilling membrane\sep
mixed finite element\sep
coarse-mesh accuracy\sep
mesh distortion
\end{keyword}
\begin{frontmatter}
\title{A New Drilling Quadrilateral Membrane Element With High Coarse-Mesh Accuracy Using A Modified Hu-Washizu Principle}
\author[add1]{T.~L.~Chang\corref{tlc}}\ead{tlcfem@gmail.com}
\author[add1]{C.-L.~Lee}
\author[add1]{A.~J.~Carr}
\author[add1]{R.~P.~Dhakal}
\author[add1]{S.~Pampanin}
\cortext[tlc]{corresponding author}
\address[add1]{Department of Civil and Natural Resources Engineering, University of Canterbury, Christchurch, NZ, 8041.}
\end{frontmatter}
\section{Introduction}
The study of lower-order membrane elements is one of the focuses throughout the development of finite element methods (FEM). The very first elements \citep[e.g.,][]{Turner1956,Taig1964} were widely used in various applications and later adopted as elementary examples in many FEM textbooks \citep[e.g.,][]{Zienkiewicz2013}. In general, early elements are constructed based on the principle of minimum potential energy and convergence is normally guaranteed with refined mesh grids, provided they could pass the patch test.
It is observed that these elements tend to be overstiff, particularly when subjected to in-plane bending, and do not perform well with distorted geometry and large aspect ratios \citep{Pian1984,Bergan1985}. Besides, conventional membranes also suffer from two other issues that limit their applications in simulating complex systems. The first problem happens when it comes to model connections between panels and beam-type elements, as traditional finite elements only have two degrees of freedom (DoFs) per node while beams possess additional rotational DoFs. The second problem arises in the construction of some planar shell elements by combining membranes and plates together. Since the in-plane rotation DoF is absent, the corresponding main diagonal term is always zero, which leads to a singular element stiffness matrix. Although numerically it is possible to obtain usable elements by modifying zero terms, the additional coupling effects between in-plane and out-of-plane actions cannot be properly captured. This could be a severe problem with coarse mesh configurations.
One possible solution is to introduce in-plane rotational degrees of freedom (also known as drilling DoFs) into element formulation. Initial research on drilling membranes was carried out in 1960's \citep{Felippa1966,Scordelis1967,Willam1969}. The very first application in structural analysis can be traced back to the work by \citet{MacLeod1969}. Successful attempts were later made by others using higher order shape functions \citep{Allman1984,Allman1988,Bergan1985,Cook1986,MacNeal1988}. The interpolation scheme used in Allman's element was also adopted by \citet{Sze1992}, in which, instead of the displacement-based formulation, a two-field Hellinger-Reissner type formulation was used. It did give a more accurate result but additional treatments were required to suppress spurious energy modes. Apart from Allman's method, \citet{Long1994} employed a different interpolation scheme via a generalized conforming approach. From a mathematical perspective, \citet{Hughes1989} managed to derive a special variational principle, in which drilling DoFs are bonded to the nodal rotation that is treated as an independent field. The corresponding element was evaluated by \citet{Hughes1995}. The same principle was also employed by others \citep{Ibrahimbegovic1990,Ibrahimbegovic1992,Ibrahimbegovic1993,Ibrahimbegovic1994,Chinosi1997}. A similar concept was later adopted by \citet{Choi2002} in the derivation of a displacement-based element. Recent explorations can be spotted in the work by \citet{Fajman2002,Cen2011,Cen2015,Madeo2012,Madeo2014,Shang2017}.
Although some superior performance can be obtained \citep[e.g.,][]{Choi2006,Choo2006,Cen2011}, most existing elements are constructed using the (modified) Hellinger-Reissner principle or the minimum complementary energy principle. Two main drawbacks cannot be ignored in those formulations: 1) there are difficulties to use those elements in non-linear plastic applications and 2) additional artificial parameters ($\gamma$ in \citep{Hughes1989} for example), the determination of which is normally empirical, may exist. For recent approaches, such as establishing compatibility between different strains using stresses as weights \citep{Wang2016,Shang2017}, since interpolation functions involve material stiffness, whether those elements can be used in non-linear applications remains unclear. Meanwhile, the overall performance could be further improved.
The ideal membrane element that could address those shortcomings, as well as the ones inherited from classic membranes, is expected to: 1) have only four corner nodes (for smaller matrix bandwidth), 2) possess drilling degrees of freedom, 3) be general for elasto-plastic applications, 4) exhibit excellent performance particularly with coarse meshes, 5) be insensitive to mesh distortion, shear locking and volumetric locking and 6) simplify stress/strain recovery. In this paper, to satisfy those requirements, a four-node drilling membrane element called GCMQ is proposed via a mixed approach based on a modified Hu-Washizu variational principle.
This paper first discusses the definition of degrees of freedom and the decomposition of deformation, followed by a general introduction of the three-field Hu-Washizu variational basis. Based on these two aspects, a modified variational theorem is proposed to establish a proper relationship between different displacement actions. In what follows, a revised solving procedure and a simple, non-iterative algorithm are summarized for element level state determination. The interpolations of all fields are then discussed. Finally, several numerical examples and discussions, in which the proposed element shows a good performance, are presented in corresponding sections.
\section{Deformation Decomposition}
\subsection{Definition of Degrees of Freedom}
For quadrilaterals, strictly speaking, there should be at least four DoFs per node (two for translations and two for independent distortions of both connected edges) to properly describe random deformation. But accounting for the compatibility with other existing elements, in this work, as a common practice, three DoFs are defined for each node: two for translation (denoted by $\mb{u}$ and $\mb{v}$) and one for rotation (denoted by $\mb{\theta}$).
Previous research mainly provides two simple definitions of the drilling DoF $\mb{\theta}$: 1) nodal rigid body rotation \citep{Allman1984} and 2) skew part of strain tensor \citep[e.g.,][]{Hughes1989,Ibrahimbegovic1990,Ibrahimbegovic1992,Ibrahimbegovic1993,Boutagouga2016}. However, those definitions have their own limitations, especially when it comes to the fully-fixed boundary condition in which case both fail to give zero value for drilling DoF. Hence a more appropriate definition should be introduced. Meanwhile, drilling displacement is expected to be decoupled from translation to simplify element formulation. By accounting for above aspects, a definition similar to the one used by \citet{Sze1992} and \citet{Long1994} is adopted in this work. An exhaustive discussion of different definitions of $\mb{\theta}$ can be found elsewhere \citep{Long2009}. A derivation is provided as follows to complete the definition of DoFs.
\subsection{Derivation of Independent Rotation Field}
Let $\mb{F}:\mb{X}\rightarrow\mb{x}$ be a deformation, which is independent of time $t$. Accordingly, the current deformed configuration $\mb{x}\in\mathbb{R}^2$ can be interpreted as the result of applying mapping $\mb{F}$ to the undeformed configuration $\mb{X}\in\mathbb{R}^2$, that is
\begin{gather}\label{eq:mapping}
\mb{x=F\left(X\right)}.
\end{gather}
Similar to the multiplicative decomposition, it is feasible to decompose $\mb{F}$ into two phases. The first one is produced by translational DoFs, namely the translational part. The second one is generated by drilling DoFs, namely the drilling/distortion part. Let $\mb{T}$ and $\mb{D}$ denote these two parts, respectively. Then $\mb{F}$ can be expressed as
\begin{gather*}
\mb{F=D\circ{}T}.
\end{gather*}
Let $\mb{x}_m$ denote the intermediate configuration that is obtained by solely applying mapping $\mb{T}$ to $\mb{X}$,
\begin{gather*}
\mb{x}_m=\mb{T}\left(\mb{X}\right)=\mb{X}+\mb{u}_t\left(\mb{X}\right),
\end{gather*}
in which $\mb{u}_t$ is the translational deformation purely induced by the mapping $\mb{T}$. Then $\mb{x}$ can be expressed as a function of the intermediate configuration $\mb{x}_m$, through the mapping $\mb{D}$,
\begin{gather*}
\mb{x}=\mb{D}\left(\mb{x}_m\right)=\mb{x}_m+\mb{u}_d\left(\mb{x}_m\right).
\end{gather*}
Hence \eqsref{eq:mapping} can be expanded as
\begin{gather}\label{eq:decompose_mapping}
\mb{x}=\mb{F}\left(\mb{X}\right)=\mb{D}\left(\mb{T}\left(\mb{X}\right)\right)=\mb{X}+\mb{u}_t\left(\mb{X}\right)+\mb{u}_d\left(\mb{X}+\mb{u}_t\left(\mb{X}\right)\right).
\end{gather}
By using the Taylor series, one can expand the last term in \eqsref{eq:decompose_mapping} at $\mb{X}$ and obtain
\begin{gather*}
\mb{x}=\mb{X}+\mb{u}_t\left(\mb{X}\right)+\mb{u}_d\left(\mb{X}\right)+\nabla\mb{u}_d\left(\mb{X}\right)\cdot\mb{u}_t\left(\mb{X}\right)+o\left(\mb{u}_t\left(\mb{X}\right)\right),
\end{gather*}
where $\mb{u}_d$ is the drilling deformation and the last term is the Peano's remainder that stands for an infinitesimal term of higher order than $\mb{u}_t$. Within the framework of infinitesimal strain theory, it is reasonable to assume the deformation is sufficiently smooth that $\nabla\mb{u}_d\cdot\mb{u}_t$ is also an infinitesimal of higher order than both $\mb{u}_t$ and $\mb{u}_d$, which themselves are again higher order infinitesimals of $\mb{X}$. For simplicity, it is feasible to discard it, along with the remainder. By such, the total displacement field $\mb{u}$ can be simply written as
\begin{gather}\label{eq:decompose_deformation}
\mb{u}:=\mb{x}-\mb{X}=\mb{u}_t+\mb{u}_d.
\end{gather}
That is to say, the additional drilling deformation caused by the translational deformation is discarded, thus $\mb{u}_t$ and $\mb{u}_d$ can be deemed as independent of each other. The graphical interpretation can be seen in \figref{fig:decompose_deformation}. Such a decomposition cannot be applied in finite deformation problems, in which $\nabla\mb{u}_d\cdot\mb{u}_t$ could be significantly large. The decoupled displacement is important as it allows a great flexibility in the corresponding constructions of interpolations.
\begin{figure}[H]
\centering\scriptsize
\begin{tikzpicture}[x=2mm,y=2mm]
\def\a{0+20}\def\b{180+25}\def\c{270+15}\def\d{360+15}
\CoorOrigin{-5,-5}[x(\xi)][y(\eta)]{8}
\node[single arrow,draw,minimum height=10mm,single arrow head extend=1.2mm,inner sep=.8mm]at(17.5,5){};
\node[single arrow,draw,minimum height=10mm,single arrow head extend=1.2mm,inner sep=.8mm]at(42.5,5){};
\node[align=center]at(17.5,8){mapping $\mb{T}$};
\node[align=center]at(42.5,8){mapping $\mb{D}$};
\node[single arrow,draw,minimum height=10mm,single arrow head extend=1.8mm,inner sep=2mm,shape border rotate=270]at(30,-4){};
%\node at(15,5){\LARGE$=$};
\node at(17.5,-15){\LARGE$=$};
\node at(42.5,-15){\LARGE$+$};
%\node[align=center]at(5,5){deformed\\configuration\\$\mb{X}$};
\node[align=center]at(5,5){undeformed\\configuration\\$\mb{X}$};
\node[align=center]at(30,5){intermediate\\configuration\\$\mb{x}_m$};
\node[align=center]at(55,5){deformed\\configuration\\$\mb{x}$};
\node[align=center]at(5,-15){deformed\\configuration\\$\mb{x}$};
\node[align=center]at(30,-15){translation\\$\mb{u}_t$};
\node[align=center]at(55,-15){distortion\\$\mb{u}_d$};
%\begin{scope}[every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
%\draw[thick]
%(0-1,0)node{}to[out=\a,in=\b]
%(10+.8,0+.6)node{}to[out=\b-90,in=\c]
%(10+.8,10+.6)node{}to[out=\c-90,in=\d]
%(0+.6,10+.8)node{}to[out=\d-90,in=\a+90]cycle;
%\end{scope}
\begin{scope}[xshift=00mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[thick]
(0,0)node{}--(10,0)node{}--(10,10)node{}--(0,10)node{}--cycle;
\end{scope}
\begin{scope}[xshift=50mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[thick]
(0-1,0)node{}--(10+.8,0+.6)node{}--(10+.8,10+.6)node{}--(0+.6,10+.8)node{}--cycle;
\end{scope}
\begin{scope}[xshift=100mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[dashed,line width=.2mm]
(0-1,0)--(10+.8,0+.6)--(10+.8,10+.6)--(0+.6,10+.8)--cycle;
\draw[thick]
(0-1,0)node{}to[out=\a,in=\b]
(10+.8,0+.6)node{}to[out=\b-90,in=\c]
(10+.8,10+.6)node{}to[out=\c-90,in=\d]
(0+.6,10+.8)node{}to[out=\d-90,in=\a+90]cycle;
\end{scope}
\begin{scope}[xshift=00mm,yshift=-40mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[thick]
(0-1,0)node{}to[out=\a,in=\b]
(10+.8,0+.6)node{}to[out=\b-90,in=\c]
(10+.8,10+.6)node{}to[out=\c-90,in=\d]
(0+.6,10+.8)node{}to[out=\d-90,in=\a+90]cycle;
\end{scope}
\begin{scope}[xshift=50mm,yshift=-40mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[dashed,line width=.2mm]
(0,0)--(10,0)--(10,10)--(0,10)--cycle;
\draw[thick]
(0-1,0)node{}--(10+.8,0+.6)node{}--(10+.8,10+.6)node{}--(0+.6,10+.8)node{}--cycle;
\end{scope}
\begin{scope}[xshift=100mm,yshift=-40mm,every node/.style={circle,thick,draw,fill=white,inner sep=0,minimum size=2.5mm}]
\draw[dashed,line width=.2mm]
(0,0)--(10,0)--(10,10)--(0,10)--cycle;
\draw[thick]
(0,0)node{}to[out=\a,in=\b]
(10,0)node{}to[out=\b-90,in=\c]
(10,10)node{}to[out=\c-90,in=\d]
(0,10)node{}to[out=\d-90,in=\a+90]cycle;
\end{scope}
\end{tikzpicture}
% Final.
\caption{deformation decomposition.}\label{fig:decompose_deformation}
\end{figure}
\section{Variational Basis}
\subsection{The Hu-Washizu Principle}
The general form of the Hu-Washizu variational principle \citep{Hu1954} can be written as
\begin{gather*}
\varPi_{HW}\left(\mb{u},\mb{\varepsilon},\mb{\sigma}\right)=\int_V{}\left[W\left(\mb{\varepsilon}\right)+\mb{\sigma}^\mT\left(\nabla\mb{u}-\mb{\varepsilon}\right)\right]\md{V}-\int_V\mb{b}^\mT\mb{u}\md{V}-\int_{S_\sigma}\bar{\mb{t}}^\mT\mb{u}\md{S}-\int_{S_u}\mb{t}^\mT\left(\mb{u}-\bar{\mb{u}}\right)\md{S},
\end{gather*}
in which $V$ denotes the volume domain, $S_\sigma$ and $S_u$ denote the corresponding boundaries, $W\left(\mb{\varepsilon}\right)$ is the strain energy that is normally a non-linear function of the strain $\mb{\varepsilon}$, $\mb{\sigma}$ is the stress, $\mb{u}$ is the displacement field and $\bar{\mb{u}}$ is the prescribed boundary displacement. For brevity, it is feasible to replace the body force $\mb{b}$ term and the boundary traction $\bar{\mb{t}}$ term with the symbol
\begin{gather*}
\varPi_{bt}\left(\mb{u}\right)=\int_V\mb{b}^\mT\mb{u}\md{V}+\int_{S_\sigma}\bar{\mb{t}}^\mT\mb{u}\md{S},
\end{gather*}
since they are normally represented by the equivalent nodal loads that can be treated separately. Meanwhile, an additional field, called the enhanced strain $\hat{\mb{\varepsilon}}$, can be included to further tune element performance. Accounting for above aspects, the following simplified version $\varPi_S$, can be obtained.
\begin{equation}\label{eq:hu_washizu_simplified}
\varPi_S\left(\mb{u},\mb{\varepsilon},\hat{\mb{\varepsilon}},\mb{\sigma}\right)=\int_V\left[W\left(\mb{\varepsilon}\right)+\mb{\sigma}^\mT\left(\nabla\mb{u}+\hat{\mb{\varepsilon}}-\mb{\varepsilon}\right)\right]\md{V}-\int_{S_u}\mb{t}^\mT\left(\mb{u}-\bar{\mb{u}}\right)\md{S}-\varPi_{bt}\left(\mb{u}\right).
\end{equation}
\subsection{A Modified Variational Principle}
It has been shown in \eqsref{eq:decompose_deformation} that the displacement field $\mb{u}$ can be decomposed into two independent portions $\mb{u}_t$ and $\mb{u}_d$ over the problem domain. By definition, the drilling portion $\mb{u}_d$ should be related to the in-plane rotation field $\mb{\theta}$ via certain relationship. Similar to beam elements, one may directly express $\mb{\theta}$ as a function of $\nabla\mb{u}_d$. If so, as the conformity requires $\mb{\theta}$ to be continuous on element boundaries, $\mb{u}_d$ has to be a two dimensional interpolation with $C_1$ continuity. It is commonly known to be very difficult to construct such a function.
Instead of directly imposing the conforming condition, it is possible to handle those two requirements (conformity and $C_1$ continuity) separately. Noting that the $C_1$ continuity is only required on element boundaries, an auxiliary field, denoted by $\mb{u}_\theta$, that is a one-dimensional $C_1$ continuous function of $\mb{\theta}$ and resides only on boundaries, could be introduced. By such, the original $\mb{u}_d$ could simply be interpolated by any two-dimensional function and does not have to be conforming.
It could be noted that a proper interpolation for the translational displacement $\mb{u}_t$ could always be found so that
\begin{gather}\label{eq:boundary_displacement}
\mb{u}_t+\mb{u}_\theta=\bar{\mb{u}}\qquad\text{on $S_u$},
\end{gather}
given that $\mb{u}_\theta$ is already conforming by construction. By inserting \eqsref{eq:boundary_displacement} and \eqsref{eq:decompose_deformation} into \eqsref{eq:hu_washizu_simplified}, one obtains a new functional $\varPi_D$,
\begin{gather}\label{eq:modified_principle}
\varPi_D=\int_V\left[W\left(\mb{\varepsilon}\right)+\mb{\sigma}^\mT\left(\nabla\mb{u}+\hat{\mb{\varepsilon}}-\mb{\varepsilon}\right)\right]\md{V}+\int_{S_u}\mb{t}^\mT\left(\mb{u}_\theta-\mb{u}_d\right)\md{S}-\varPi_{bt},
\end{gather}
with $\mb{u}=\mb{u}_t+\mb{u}_d$ and the conforming condition $\mb{u}_t+\mb{u}_\theta=\bar{\mb{u}}$ on $S_u$ as an essential condition. The displacement boundary $S_u$ term in the above functional, viz.,
\begin{gather}\label{eq:constraint}
\int_{S_u}\mb{t}^\mT\left(\mb{u}_\theta-\mb{u}_d\right)\md{S},
\end{gather}
acts as a minimum conformity constraint imposed on $\mb{u}_d$ and $\mb{u}_\theta$ that guarantees convergence.
\section{Element Formulation}
\subsection{A Simplification}
\eqsref{eq:constraint} can be further relaxed by noting that when element size approaches zero, the corresponding traction $\mb{t}$ approaches a constant field that can be denoted as $\mb{t}_c$. In which case, \eqsref{eq:constraint} can be rewritten as
\begin{gather*}
\int_{S_u}\mb{t}_c^\mT\left(\mb{u}_\theta-\mb{u}_d\right)\md{S}=\mb{t}_c^\mT\int_{S_u}\left(\mb{u}_\theta-\mb{u}_d\right)\md{S}.
\end{gather*}
To avoid treating $\mb{u}_d$ separately, a slightly stronger constraint can be applied, for example,
\begin{gather}\label{eq:conforming_constraint_simplified}
\int_{S_i}\mb{I}\left(\mb{u}_d-\mb{u}_\theta\right)\md{S}=\mb{0}\quad\text{for $i=1,2,3,4$},
\end{gather}
where $\mb{I}$ is the \numproduct{2x2} identity matrix. It should be noted that \eqsref{eq:conforming_constraint_simplified} is applied on four edges separately, hence instead of one, eight independent constraints (two for each edge) are provided. \eqsref{eq:conforming_constraint_simplified} is in fact identical to the constraint used in GQ12 element \citep{Long1994}. This approach is known as the generalized conforming method that can be initially observed in the work by \citet{Tang1984} and \citet{Wu1987} and later utilized, further enriched by \citet{Long1994}. Physically it means $\mb{u}_d$ and $\mb{u}_\theta$ are equivalent to each other in a weak sense on each element boundary.
In a more generic setup, \eqsref{eq:conforming_constraint_simplified} can be rewritten as
\begin{gather}\label{eq:conforming_constraint_full}
\int_{S_i}\mb{S}^n\left(\mb{u}_d-\mb{u}_\theta\right)\md{S}=\mb{0}\quad\text{for $i=1,2,3,4$},
\end{gather}
in which $\mb{S}=\mathrm{diag}(S,~S)$. \eqsref{eq:conforming_constraint_simplified} is a special case of \eqsref{eq:conforming_constraint_full} with $n=0$.
Let $\mb{d}$ denote the generalised interpolation parameter used in $\mb{u}_d$ and assume $\mb{u}_\theta$ to be a function of nodal rotation $\mb{\theta}$, it is possible to express $\mb{d}$ as a function of $\mb{\theta}$ by solving \eqsref{eq:conforming_constraint_simplified},
\begin{gather*}
\mb{u}_d=f_1\left(\mb{d}\right)=f_1\left(f_2\left(\mb{\theta}\right)\right)=f_3\left(\mb{\theta}\right),
\end{gather*}
although solution is not guaranteed and it also depends on the discrete form of $\mb{u}_d$, this part will be discussed in the subsequent section. By such, the displacement $\mb{u}$ can be expressed solely by nodal translations and rotations. Meanwhile, \eqsref{eq:conforming_constraint_simplified} implies that \eqsref{eq:constraint} equals to zero in a generalised conforming sense. Hence, the governing variational principle \eqsref{eq:modified_principle} falls back to
\begin{gather}\label{eq:final_principle}
\varPi_F\left(\mb{u},\mb{\varepsilon},\hat{\mb{\varepsilon}},\mb{\sigma}\right)=\int_V\left[W\left(\mb{\varepsilon}\right)+\mb{\sigma}^\mT\left(\nabla\mb{u}+\hat{\mb{\varepsilon}}-\mb{\varepsilon}\right)\right]\md{V}-\varPi_{bt}\left(\mb{u}\right),
\end{gather}
which is adopted in the formulation of the new element. It should be mentioned that \eqsref{eq:conforming_constraint_simplified} is not the only option. \eqsref{eq:constraint} could be replaced by various generalised conforming schemes. The interested readers are referred to the monograph \citep{Long2009} for more details.
\subsection{Solving Equations}
Since the finally adopted functional is \eqsref{eq:final_principle}, the solving procedure of which has already been given elsewhere \citep{Piltner1995,Piltner1999}, here only a brief summary is presented. Nevertheless, it shall still be noted that in the following derivation, unlike the original literature, the symmetry requirement is imposed on neither material stiffness nor any other matrices. Meanwhile, the state updating scheme is also corrected so that a stable algorithm is obtained.
Taking variations of \eqsref{eq:hu_washizu_simplified} gives,
\begin{equation}\label{eq:euler_equation}
\left\{\begin{array}{l}
\displaystyle\int_V\va{\left(\nabla\mb{u}\right)}^\mT\mb{\sigma}~\md{V}=\va{\mb{u}}^\mT\vfrac{\varPi_{bt}}{\mb{u}},\\[3mm]
\displaystyle\int_V\va{\mb{\sigma}}^\mT\left(\nabla\mb{u}+\hat{\mb{\varepsilon}}-\mb{\varepsilon}\right)~\md{V}=0,\\[3mm]
\displaystyle\int_V\va{\mb{\varepsilon}}^\mT\left(\tilde{\mb{\sigma}}\left(\mb{\varepsilon}\right)-\mb{\sigma}\right)~\md{V}=0,\\[3mm]
\displaystyle\int_V\va{\hat{\mb{\varepsilon}}}^\mT\mb{\sigma}~\md{V}=0,
\end{array}\right.
\end{equation}
where $\tilde{\mb{\sigma}}\left(\mb{\varepsilon}\right)=\partial{}W\left(\mb{\varepsilon}\right)/\partial\mb{\varepsilon}$ is the stress obtained from material model. By discretising four independent fields with
\begin{gather*}
\mb{u}=\mb{\phi}_u\mb{q},\quad
\mb{\sigma}=\mb{\phi}_\sigma\mb{\alpha},\quad
\mb{\varepsilon}=\mb{\phi}_\varepsilon\mb{\beta},\quad
\hat{\mb{\varepsilon}}=\mb{\phi}_{\hat{\varepsilon}}\mb{\zeta},
\end{gather*}
\eqsref{eq:euler_equation} can also be expressed as
\begin{gather}\label{eq:discretised_euler_equation}
\left\{\begin{array}{l}
\displaystyle\va{\mb{q}^\mT}\int_V\left(\mb{L}\mb{\phi}_u\right)^\mT\mb{\phi}_\sigma\mb{\alpha}~\md{V}=\va{\mb{q}}^\mT\vfrac{\varPi_{bt}}{\mb{q}}=\va{\mb{q}}^\mT\mb{P},\\[3mm]
\displaystyle\va{\mb{\alpha}^\mT}\int_V\mb{\phi}_\sigma^\mT\left(\mb{L}\mb{\phi}_u\mb{q}+\mb{\phi}_{\hat{\varepsilon}}\mb{\zeta}-\mb{\phi}_\varepsilon\mb{\beta}\right)~\md{V}=0,\\[3mm]
\displaystyle\va{\mb{\beta}^\mT}\int_V\mb{\phi}_\varepsilon^\mT\left(\tilde{\mb{\sigma}}\left(\mb{\varepsilon}\right)-\mb{\phi}_\sigma\mb{\alpha}\right)~\md{V}=0,\\[3mm]
\displaystyle\va{\mb{\zeta}^\mT}\int_V\mb{\phi}_{\hat{\varepsilon}}^\mT\mb{\phi}_\sigma\mb{\alpha}~\md{V}=0.
\end{array}\right.
\end{gather}
The corresponding linearised equations between two adjacent iterations denoted with pseudo-time $t_n$ and $t_{n+1}$ could be obtained as
\begin{equation}
\left\{\begin{array}{l}
\displaystyle\int_V\left(\mb{L}\mb{\phi}_u\right)^\mT\mb{\phi}_\sigma\Delta\mb{\alpha}~\md{V}=\mb{P}_{n+1}-\mb{P}_n,\\[3mm]
\displaystyle\int_V\mb{\phi}_\sigma^\mT\left(\mb{L}\mb{\phi}_u\Delta\mb{q}+\mb{\phi}_{\hat{\varepsilon}}\Delta\mb{\zeta}-\mb{\phi}_\varepsilon\Delta\mb{\beta}\right)~\md{V}=\mb{0},\\[3mm]
\displaystyle\int_V\mb{\phi}_\varepsilon^\mT\left(\tilde{\mb{E}}\mb{\phi}_\varepsilon\Delta\mb{\beta}-\mb{\phi}_\sigma\Delta\mb{\alpha}\right)~\md{V}=-\mb{Q}_n,\\[3mm]
\displaystyle\int_V\mb{\phi}_{\hat{\varepsilon}}^\mT\mb{\phi}_\sigma\Delta\mb{\alpha}~\md{V}=-\mb{F}_n,
\end{array}\right.
\end{equation}
in which $\mb{P}_{n+1}$ stands for the external load that could include contributions of nodal forces, body forces and/or surface tractions. The increment of material stress $\Delta\tilde{\mb{\sigma}}$ is linearised with tangent stiffness $\tilde{\mb{E}}$ that could also be obtained from material model,
\begin{gather}
\Delta\tilde{\mb{\sigma}}\approx\tilde{\mb{E}}\Delta\mb{\varepsilon}=\tilde{\mb{E}}\mb{\phi}_\varepsilon\Delta\mb{\beta}.
\end{gather}
The gradient operator $\mb{L}$ could be expressed as
\begin{gather*}
\mb{L}=\begin{bmatrix}
\partial/\partial{}x&\cdot&\partial/\partial{}y\\[3mm]
\cdot&\partial/\partial{}y&\partial/\partial{}x
\end{bmatrix}^\mT,
\end{gather*}
where $x$ and $y$ are global coordinates. Resistance $\mb{P}_n$, residuals $\mb{Q}_n$ and $\mb{F}_n$ are
\begin{gather}
\mb{P}_n=\int_V\left(\mb{L}\mb{\phi}_u\right)^\mT\mb{\phi}_\sigma\mb{\alpha}_n\md{V},\\
\mb{Q}_n=\int_V\mb{\phi}_\varepsilon^\mT\tilde{\mb{\sigma}}_n-\mb{\phi}_\varepsilon^\mT\mb{\phi}_\sigma\mb{\alpha}_n~\md{V},\\
\mb{F}_n=\int_V\mb{\phi}_{\hat{\varepsilon}}^\mT\mb{\phi}_\sigma\mb{\alpha}_n\md{V}.
\end{gather}
The non-zero term $\mb{F}_n$ origins from a relaxed version of the fourth equation in \eqsref{eq:euler_equation}, which represents a full orthogonality condition that should be enforced on enhanced strain $\hat{\mb{\varepsilon}}$ so that the resulting element could pass the patch test \citep{Simo1990}. However, with such a condition, it is difficult to recover the magnitude of $\hat{\mb{\varepsilon}}$. Hence, instead of the original condition, a partially orthogonal one can be adopted \citep{Piltner1995}, that is
\begin{gather*}
\int_V\va{\hat{\mb{\varepsilon}}}^\mT\hat{\mb{\sigma}}\md{V}=0,
\end{gather*}
in which $\hat{\mb{\sigma}}$ is a reference stress field consists of at least three constant modes. If the adopted stress interpolation employs higher order polynomials, the original expression does not necessarily equal to zero for all non-converged iterations.
By further denoting
\begin{gather}
%\begin{array}{llll}
\mb{H}=\int_{V}\mb{\phi}_\sigma^\mT\mb{\phi}_\varepsilon\md{V},\quad
\tilde{\mb{H}}=\int_{V}\mb{\phi}_\varepsilon^\mT\tilde{\mb{E}}\mb{\phi}_\varepsilon\md{V},\quad
\mb{M}=\int_{V}\mb{\phi}_\sigma^\mT\mb{\phi}_{\hat{\varepsilon}}\md{V},\quad
\mb{N}=\int_{V}\mb{\phi}_\sigma^\mT\mb{L}\mb{\phi}_u\md{V},
%\end{array}
\end{gather}
the system of linear equations can be obtained as
\begin{gather}\label{eq:solving_system}
\begin{bmatrix}
\cdot & \mb{N}^\mT & \cdot & \cdot \\
\mb{N} & \cdot & -\mb{H} & \mb{M} \\
\cdot & -\mb{H}^\mT & \tilde{\mb{H}} & \cdot \\
\cdot & \mb{M}^\mT & \cdot & \cdot
\end{bmatrix}\begin{bmatrix}
\Delta\mb{q}\\\Delta\mb{\alpha}\\\Delta\mb{\beta}\\\Delta\mb{\zeta}
\end{bmatrix}=\begin{bmatrix}
\mb{P}_{n+1}-\mb{P}_n\\\mb{0}\\-\mb{Q}_n\\-\mb{F}_n
\end{bmatrix}.
\end{gather}
\subsection{Solution Procedure}
The traditional local iterative scheme can be adopted for solving \eqsref{eq:solving_system}. From the third equation in \eqsref{eq:solving_system}, $\Delta\mb{\beta}$ can be expressed as
\begin{gather*}
\Delta\mb{\beta}=\tilde{\mb{H}}^{-1}\left(\mb{H}^\mT\Delta\mb{\alpha}-\mb{Q}_n\right),
\end{gather*}
assuming $\tilde{\mb{H}}$ is invertible, inserting it into the second equation, one obtains
\begin{gather*}
\Delta\mb{\alpha}=\left(\mb{H}\tilde{\mb{H}}^{-1}\mb{H}^\mT\right)^{-1}\left(\mb{N}\Delta\mb{q}+\mb{M}\Delta\mb{\zeta}+\mb{H}\tilde{\mb{H}}^{-1}\mb{Q}_n\right).
\end{gather*}
However, if $\mb{H}$ is square and invertible, the stress interpolation parameter $\mb{\alpha}$ could be directly updated according to the third equation in \eqsref{eq:discretised_euler_equation}, that is
\begin{gather}\label{eq:answer_alpha}
\mb{\alpha}=\mb{H}^{-\mT}\int_V\mb{\phi}_\varepsilon^\mT\tilde{\mb{\sigma}}\md{V}.
\end{gather}
It could be seen that $\mb{\alpha}$ only depends on material stress $\tilde{\mb{\sigma}}$ and can be computed immediately after updating material state. Since stress equilibrium is enforced (by selecting proper stress field, as can be seen later), the corresponding residual simply equals to zero,
\begin{gather*}
\mb{Q}_n=\mb{0}.
\end{gather*}
Meanwhile, $\Delta\mb{\beta}$ can be directly obtained from the second equation as
\begin{gather}\label{eq:answer_beta}
\Delta\mb{\beta}=\tilde{\mb{N}}\Delta\mb{q}+\tilde{\mb{M}}\Delta\mb{\zeta},
\end{gather}
in which $\tilde{\mb{N}}=\mb{H}^{-1}\mb{N}$ and $\tilde{\mb{M}}=\mb{H}^{-1}\mb{M}$.
The remaining equations can be rearranged as
\begin{gather*}
\begin{bmatrix}
\mb{U}&\mb{W}\\\mb{W}^\mT&\mb{V}
\end{bmatrix}
\begin{bmatrix}
\Delta\mb{q}\\\Delta\mb{\zeta}
\end{bmatrix}=
\begin{bmatrix}
\mb{P}_{n+1}-\mb{P}_n\\-\mb{F}_n
\end{bmatrix},
\end{gather*}
in which
\begin{gather}\label{eq:answer_uvw}
\mb{U}=\tilde{\mb{N}}^\mT\tilde{\mb{H}}\tilde{\mb{N}},\quad
\mb{V}=\tilde{\mb{M}}^\mT\tilde{\mb{H}}\tilde{\mb{M}},\quad
\mb{W}=\tilde{\mb{N}}^\mT\tilde{\mb{H}}\tilde{\mb{M}}.
\end{gather}
By repeating the same condensation procedure, one could obtain
\begin{gather}\label{eq:answer_zeta}
\Delta\mb{\zeta}=\mb{V}^{-1}\left(-\mb{F}_n-\mb{W}^\mT\Delta\mb{q}\right),
\end{gather}
which leads to the final expression of equivalent stiffness $\mb{K}$
\begin{gather}\label{eq:answer_stiffness}
\mb{K}=\mb{U}-\mb{W}\mb{V}^{-1}\mb{W}^\mT,
\end{gather}
while equivalent resistance $\mb{R}$ is
\begin{gather}\label{eq:answer_resistance}
\mb{R}=\mb{P}_n-\mb{W}\mb{V}^{-1}\mb{F}_n.
\end{gather}
It should be noted that the above procedure can largely reduce computation cost but is only valid for an invertible $\mb{H}$. Otherwise a standard condensation should be conducted on \eqsref{eq:solving_system}.
\subsection{Implementation Algorithm}
For state determination at element level, here a non-iterative scheme is presented in Algorithm \ref{algo:adaptive_algorithm} where $w^i$ denotes the generalized numerical integration weight that could include original integration weight, element thickness and determinant of Jacobian at each integration point.
The efficiency of GCMQ is not considered as a problem, especially when it runs with a parallel computation framework on modern computers. Algorithm \ref{algo:adaptive_algorithm} also lists the \textbf{optimized} numbers of arithmetic multiplications required for each manipulation with one enhanced strain mode. The total cost of GCMQ with a nine-point integration scheme and three enhanced strain modes is similar to the one of Q8 \citep{Ergatoudis1968}. With the same mesh configuration, GCMQ has fewer nodes and DoFs than Q8. This leads to a smaller and narrower global stiffness matrix hence a higher overall efficiency. If other factors such as a five-point integration scheme and/or potentially fewer iterations required for global convergence are considered, the efficiency can be further improved.
\begin{algorithm}[H]
\SetAlgoLined\SetArgSty{}
\SetKw{Return}{return}
\SetKw{Compute}{compute}
\SetKw{Update}{update}
\SetKw{Break}{break}
\KwIn{$\Delta\mb{q}$, $\mb{q}_n$, $\mb{\alpha}_n$, $\mb{\beta}_n$, $\mb{\zeta}_n$, $\mb{V}_n$, $\mb{W}_n$}
\KwOut{$\mb{K}$, $\mb{R}$, $\mb{q}_{n+1}$, $\mb{\alpha}_{n+1}$, $\mb{\beta}_{n+1}$, $\mb{\zeta}_{n+1}$, $\mb{V}_{n+1}$, $\mb{W}_{n+1}$}
$\mb{q}_{n+1}=\mb{q}_n+\Delta\mb{q}$\;
$\Delta\mb{\zeta}=-\mb{V}^{-1}_n\mb{M}^\mT\mb{\alpha}_n-\mb{V}^{-1}_n\mb{W}_n^\mT\Delta\mb{q}$\tcp*[r]{counter: 12 \eqsref{eq:answer_zeta}}
$\Delta\mb{\beta}=\tilde{\mb{N}}\Delta\mb{q}+\tilde{\mb{M}}\Delta\mb{\zeta}$\tcp*[r]{counter: 143 \eqsref{eq:answer_beta}}
$\mb{\zeta}_{n+1}=\mb{\zeta}_n+\Delta\mb{\zeta}$\;
$\mb{\beta}_{n+1}=\mb{\beta}_n+\Delta\mb{\beta}$\;
\ForAll{integration points}{
$\mb{\varepsilon}_{n+1}^i=\mb{\phi}_{\varepsilon}^i\mb{\beta}_{n+1}$\tcp*[r]{counter: 33}
obtain $\tilde{\mb{E}}_{n+1}^i$ and $\tilde{\mb{\sigma}}_{n+1}^i$ from the material model\;
assemble $\displaystyle\tilde{\mb{H}}_{n+1}=\sum{}w^i\mb{\phi}_{\varepsilon}^{i,\mT}\tilde{\mb{E}}_{n+1}^i\mb{\phi}_{\varepsilon}^i$\tcp*[r]{counter: 462}
assemble $\displaystyle\tilde{\mb{S}}_{n+1}=\sum{}w^i\mb{\phi}_\varepsilon^{i,\mT}\tilde{\mb{\sigma}}_{n+1}^i$\tcp*[r]{counter: 33}
}
$\mb{\alpha}_{n+1}=\mb{H}^{-\mT}\tilde{\mb{S}}_{n+1}$\tcp*[r]{counter: 121 \eqsref{eq:answer_alpha}}
update $\mb{U}_{n+1}$, $\mb{V}_{n+1}$ and $\mb{W}_{n+1}$ using $\tilde{\mb{H}}_{n+1}$\tcp*[r]{counter: 1850 \eqsref{eq:answer_uvw}}
$\mb{K}=\mb{U}_{n+1}-\mb{W}_{n+1}\mb{V}^{-1}_{n+1}\mb{W}_{n+1}^\mT$\tcp*[r]{counter: 1716 \eqsref{eq:answer_stiffness}}
$\mb{R}=\mb{N}\mb{\alpha}_{n+1}-\mb{W}_{n+1}\mb{V}_{n+1}^{-1}\mb{M}^\mT\mb{\alpha}_{n+1}$\tcp*[r]{counter: 144 \eqsref{eq:answer_resistance}}
\caption{state determination at element level}\label{algo:adaptive_algorithm}
\end{algorithm}
It should be noted that $\mb{H}$, $\mb{M}$, $\mb{N}$, $\tilde{\mb{M}}$ and $\tilde{\mb{N}}$ are all constant matrices. Once the corresponding shape functions are chosen, they could be readily computed, stored and later used in analysis. Meanwhile, $\mb{U}$, $\mb{V}$ and $\mb{W}$ solely depend on the material tangent $\tilde{\mb{E}}$ that should be computed according to given strain $\mb{\varepsilon}$ and/or other variables. Accordingly, they could be initialized, stored and updated as element level history variables during iterations.
\section{Construction of Interpolations}
\subsection{Displacement}
As a conventional approach, the translational part of displacement field $\mb{u}_t$ is interpolated by nodal translations via an isoparametric mapping, that is,
\begin{gather}
\mb{u}_t=\begin{bmatrix}u_t&v_t\end{bmatrix}^\mT=\mb{\phi}_t\mb{q}_t,
\end{gather}
in which
\begin{gather*}
\mb{\phi}_t=\begin{bmatrix}
N_1&0&N_2&0&N_3&0&N_4&0\\
0&N_1&0&N_2&0&N_3&0&N_4
\end{bmatrix},\\
\mb{q}_t=\begin{bmatrix}
u_1&v_1&u_2&v_2&u_3&v_3&u_4&v_4
\end{bmatrix}^\mT,\\
N_i=\dfrac{1}{4}\left(1+\xi\xi_i\right)\left(1+\eta\eta_i\right)\quad\text{for}\quad{}i=1,2,3,4,
\end{gather*}
with $\xi_i$ and $\eta_i$ are parent coordinates of corresponding nodes.
For the drilling part $\mb{u}_d$, the corresponding shape functions can be in fact arbitrarily chosen as no $C_1$ continuity is imposed.
\begin{gather}\label{eq:interpolation_displacement}
\mb{u}_d=\begin{bmatrix}u_d&v_d\end{bmatrix}^\mT=\mb{\phi}_d\mb{d}.
\end{gather}
Since the bilinear terms have already been included in the translational part, higher order terms could be picked in $\mb{u}_d$. One possible choice is a serendipity-like basis. Mimicking a similar form used for $\mb{\phi}_t$, $\mb{\phi}_d$ can be written as
\begin{gather}
\mb{\phi}_d=\begin{bmatrix}
\bar{N}_1&0&\bar{N}_2&0&\bar{N}_3&0&\bar{N}_4&0\\
0&\bar{N}_1&0&\bar{N}_2&0&\bar{N}_3&0&\bar{N}_4
\end{bmatrix},\\\label{eq:shape_function_displacement}
\begin{array}{llll}
\bar{N}_1=1-\xi^2,&\bar{N}_2=\eta-\xi^2\eta,&\bar{N}_3=1-\eta^2,&\bar{N}_4=\xi-\xi\eta^2.
\end{array}
\end{gather}
Accordingly, $\mb{d}$ consists of eight generalized interpolation parameters that do not need to possess any physical meaning, although with \eqsref{eq:shape_function_displacement}, they correspond to the displacement values of centres of four edges.
\begin{gather*}
\mb{d}=\begin{bmatrix}
d_1&d_2&d_3&d_4&d_5&d_6&d_7&d_8
\end{bmatrix}^\mT.
\end{gather*}
For the boundary version $\mb{u}_\theta$, to satisfy the imposed $C_1$ continuity requirement, it is feasible to choose the Hermite interpolation or other parametric curves (e.g., splines) as the shape functions. Here in this work a Hermite-type curve constructed by two nodal rotations $\theta_i$ are adopted. For each edge $l_j$,
\begin{gather*}
\mb{u}_\theta=\begin{bmatrix}w_j\end{bmatrix}=\sum_{i=1}^{2}\tilde{N}_i\theta_i,
\end{gather*}
in which $w_j$ is the displacement perpendicular to the edge since this is a beam-type interpolation, and
\begin{gather*}
\tilde{N}_1=\dfrac{l_j}{8}\left(s^3-s^2-s+1\right),\quad
\tilde{N}_2=\dfrac{l_j}{8}\left(s^3+s^2-s-1\right),
\end{gather*}
where the edge label $l_j$ is also used to denote the length of that edge and $-1\leqslant{}s\leqslant1$ is the parent coordinate. There are several methods to transform the displacement $w_j$ from the local system to the global one as depicted in \figref{fig:coordinate_system}. Here a simple decomposition is used.
\begin{gather}
\mb{u}_\theta=\begin{bmatrix}u_\theta\\v_\theta\end{bmatrix}=w_j\begin{bmatrix}\cos\left(\psi_j+\dfrac{\pi}{2}\right)\\[2mm]\sin\left(\psi_j+\dfrac{\pi}{2}\right)\end{bmatrix}=w_j\begin{bmatrix}-\sin\psi_j\\[2mm]\cos\psi_j\end{bmatrix}.
\end{gather}
where $\psi_j$ is the inclination of the edge. Other curves may be used as substitutes. Additional internal parameters can also be introduced to further control the deformation.
\begin{figure}[H]
\centering\scriptsize
\begin{tikzpicture}
\def\a{20}\def\b{50}\def\c{}
\coordinate(A)at(1,.5);
\coordinate(B)at($(A)+(\a:3.5)$);
\coordinate(C)at($(A)+(\a:1.75)$);
\draw[->](-.5,0)--(5,0)node[anchor=south]{$\xi\left(x\right)$};
\draw[->](0,-.5)--(0,2)node[anchor=east]{$\eta\left(y\right)$};
\draw[thick](A)--(B);
\draw[](A)--+(\a+\b:1)(A)--+(1,0)(A)--+(\a:.5)arc(\a:\a+\b:.5)(A)--+(0:.4)arc(0:\a:.4);
\draw[](B)--+(180+\b:1)(B)--+(180+\a:.5)arc(180+\a:180+\b:.5);
\draw[red,thick](A)node[thick,draw,circle,fill=white,inner sep=0,minimum size=2mm]{}to[in=180+\b,out=\a+\b](B)node[thick,draw,circle,fill=white,inner sep=0,minimum size=2mm]{};
\draw[](A)+(-20:.6)node{$\psi$};
\draw[](A)+(\a+\b/2+40:.8)node{$\theta_1$};
\draw[](B)+(210+\a+\b/2:.6)node{$\theta_2$};
\draw[blue,->,line width=.2mm](C)--+(\a:1)node[anchor=south]{$s$};
\draw[blue,->,line width=.2mm](C)--+(\a+90:1)node[anchor=south]{$w$};
\end{tikzpicture}
\caption{illustration of coordinate systems}\label{fig:coordinate_system}
\end{figure}
Now \eqsref{eq:conforming_constraint_simplified} can be established explicitly. It provides eight independent constraints, which can be expanded as
\begin{gather*}
\int_{S_1}\mb{u}_d~\md{S}=\int_{S_1}\mb{u}_\theta~\md{S},\quad
\int_{S_2}\mb{u}_d~\md{S}=\int_{S_2}\mb{u}_\theta~\md{S},\\
\int_{S_3}\mb{u}_d~\md{S}=\int_{S_3}\mb{u}_\theta~\md{S},\quad
\int_{S_4}\mb{u}_d~\md{S}=\int_{S_4}\mb{u}_\theta~\md{S}.
\end{gather*}
The integrations can be performed analytically for both $\mb{u}_\theta$ and $\mb{u}_d$. By collecting all equations and rearranging them into a matrix form, one obtains
\begin{gather}
\mb{G}\mb{d}=\mb{Q}\mb{\theta},
\end{gather}
with $\mb{\theta}=\begin{bmatrix}\theta_1&\theta_2&\theta_3&\theta_4\end{bmatrix}^\mT$, $\mb{G}$ and $\mb{Q}$ are explicitly shown as in \eqsref{eq:interpolation_conforming}.
\begin{gather}\label{eq:interpolation_conforming}
\underset{\numproduct{8x4}}{\mb{Q}}=\int_{-1}^{1}\text{diag}\begin{pmatrix}
-\sin\psi_1\\\cos\psi_1\\-\sin\psi_2\\\cos\psi_2\\-\sin\psi_3\\\cos\psi_3\\-\sin\psi_4\\\cos\psi_4
\end{pmatrix}\cdot\begin{bmatrix}
\tilde{N}_1&\tilde{N}_2&\cdot&\cdot\\
\tilde{N}_1&\tilde{N}_2&\cdot&\cdot\\
\cdot&\tilde{N}_1&\tilde{N}_2&\cdot\\
\cdot&\tilde{N}_1&\tilde{N}_2&\cdot\\
\cdot&\cdot&\tilde{N}_1&\tilde{N}_2\\
\cdot&\cdot&\tilde{N}_1&\tilde{N}_2\\
\tilde{N}_2&\cdot&\cdot&\tilde{N}_1\\
\tilde{N}_2&\cdot&\cdot&\tilde{N}_1\\
\end{bmatrix}\md{s},\qquad
\underset{\numproduct{8x8}}{\mb{G}}=\begin{bmatrix}
\displaystyle\int_{-1}^{1}\mb{\phi}_d\Big|_{\eta=-1}~\md{\xi}\\[3mm]
\displaystyle\int_{-1}^{1}\mb{\phi}_d\Big|_{\xi=1}~\md{\eta}\\[3mm]
\displaystyle\int_{-1}^{1}\mb{\phi}_d\Big|_{\eta=1}~\md{\xi}\\[3mm]
\displaystyle\int_{-1}^{1}\mb{\phi}_d\Big|_{\xi=-1}~\md{\eta}
\end{bmatrix}.
\end{gather}
Assume $\mb{G}$ is invertible, then
\begin{gather}\label{eq:interpolation_conforming_answer}
\mb{d}=\mb{G}^{-1}\mb{Q}\mb{\theta},
\end{gather}
inserting \eqsref{eq:interpolation_conforming_answer} into \eqsref{eq:interpolation_displacement}, $\mb{u}_d$ can eventually be expressed by $\mb{\theta}$, which consists of four nodal rotations.
\begin{gather}
\mb{u}_d=\mb{\phi}_d\mb{d}=\mb{\phi}_d\mb{G}^{-1}\mb{Q}\mb{\theta}.
\end{gather}
Then \eqsref{eq:decompose_deformation} can be reinterpreted by $\mb{q}_t$ and $\mb{\theta}$,
\begin{gather}
\mb{u}=\mb{u}_t+\mb{u}_d=\mb{\phi}_t\mb{q}_t+\mb{\phi}_d\mb{G}^{-1}\mb{Q}\mb{\theta}.
\end{gather}
Accordingly,
\begin{gather*}
\mb{\phi}_u=\begin{bmatrix}
\mb{\phi}_t&\mb{\phi}_d\mb{G}^{-1}\mb{Q}
\end{bmatrix},\qquad
\mb{q}=\begin{bmatrix}
\mb{q}_t&\mb{\theta}
\end{bmatrix}^\mT.
\end{gather*}
The order of $\mb{q}$ could be rearranged to match corresponding DoF encoding rule. As there is no additional constraint imposed, $\mb{G}$ could be singular, hence a careful construction of $\mb{\phi}_d$ is required to avoid singularity.
\subsection{Stress}
The stress modes can be derived from the Airy stress function, as a common practice that has been used in prior research \citep[see, e.g.,][]{Fu2010,Cen2011,Nodargi2017}.
\begin{gather}
\mb{\sigma}=\begin{bmatrix}
\sigma_x & \sigma_y & \tau_{xy}
\end{bmatrix}^\mT=\mb{\phi}_\sigma\mb{\alpha},
\end{gather}
with $\mb{\alpha}=\begin{bmatrix}
\alpha_1 & \alpha_2 & \alpha_3 & \cdots & \alpha_{11}
\end{bmatrix}^\mT$. The shape function $\mb{\phi}_\sigma$ can be explicitly shown as in \eqsref{fig:interpolation_stress},
\begin{gather}\label{fig:interpolation_stress}
\mb{\phi}_\sigma=
\left[\begin{array}{ccc|cc|cc|cc|cc}
1 & 0 & 0 & 0 & y & 0 & x & 0 & 2xy & -x^2 & 2y^2-x^2 \\
0 & 1 & 0 & x & 0 & y & 0 & 2xy & 0 & 2x^2-y^2 & -y^2 \\
0 & 0 & 1 & 0 & 0 & -x & -y & -x^2 & -y^2 & 2xy & 2xy
\end{array}\right].
\end{gather}
The chosen $\mb{\phi}_\sigma$ is complete up to second order. Compared to the one adopted by \citet{Fu2010}, which can be referred to for a detailed derivation, the last two columns are however different --- a symmetric pair is chosen here. Once the Jacobian matrix is known, $\mb{\sigma}$ can be conveniently expressed as a function of parent coordinates $\xi$ and $\eta$.
\subsection{Strain}
The strain field is interpolated in a similar way,
\begin{gather}
\mb{\varepsilon}=\begin{bmatrix}
\varepsilon_x & \varepsilon_y & \gamma_{xy}
\end{bmatrix}^\mT=\mb{\phi}_\varepsilon\mb{\beta}=\mb{C}\mb{\phi}_\sigma\mb{\beta},
\end{gather}
with $\mb{\beta}=\begin{bmatrix}
\beta_1 & \beta_2 & \beta_3 & \cdots & \beta_{11}
\end{bmatrix}^\mT$. For isotropic materials, the constant matrix $\mb{C}$ is chosen to be dependent on Poisson's ratio $\nu$,
\begin{gather}\label{poisson_mat}
\mb{C}=\begin{bmatrix}
1 & -\nu & 0 \\
-\nu & 1 & 0 \\
0 & 0 & 2+2\nu
\end{bmatrix}.
\end{gather}
In such a manner, the Poisson effect can be correctly described. It can be noted that $\mb{C}$ is actually part of the flexibility matrix of elastic isotropic plane stress materials. For plane strain, the Poisson's ratio $\nu$ in \eqsref{poisson_mat} shall be replaced by $\nu/(1-\nu)$. In anisotropic cases, $\mb{C}$ could be modified accordingly by introducing additional material constants.
Practically the variability of Poisson's ratio is often ignored, hence a constant around \num{0.3} can be used for both elastic and elasto-plastic applications, if element has no access to material constants. The purpose of $\mb{C}$ is to bond interpolation parameters $\mb{\beta}$ to physical deformation. For example, the first three parameters ($\beta_1$, $\beta_2$ and $\beta_3$) now represent uniform tension along two global axes and uniform shear deformation of element. An identity matrix could also be chosen as $\mb{C}$ for brevity so that only one of $\mb{\phi}_\varepsilon=\mb{\phi}_\sigma$ needs to be stored, although the resulting element is \textbf{no more insensitive} to volumetric locking.
\subsection{Enhanced Strain}
Instead of the aforementioned full orthogonality condition, to pass patch test, enhanced strain $\hat{\mb{\varepsilon}}$ only needs to satisfy the following condition \citep{Simo1990,Taylor1976},
\begin{gather*}
\int_V\left\langle\mb{\sigma}^*,\hat{\mb{\varepsilon}}\right\rangle~\md{V}=\int_V\hat{\mb{\varepsilon}}^\mT\mb{\sigma}^*~\md{V}=\int_V\mb{\sigma}^{*,\mT}\hat{\mb{\varepsilon}}~\md{V}=0,
\end{gather*}
where $\mb{\sigma}^*$ denotes a \textbf{constant} stress field that is frame invariant. Given that $\mb{\zeta}$ is arbitrary and $\hat{\mb{\varepsilon}}$ needs to be transformed to the global reference frame before evaluating the integral, it is equivalent to express the above condition as
\begin{gather}\label{eq:final_enhanced_strain}
\int_V\mb{\phi}_{\hat{\varepsilon}}^g~\md{V}=\mb{0},
\end{gather}
where $\mb{\phi}_{\hat{\varepsilon}}^g$ denotes the corresponding global interpolation function so that $\hat{\mb{\varepsilon}}^g=\mb{\phi}_{\hat{\varepsilon}}^g\mb{\zeta}$. By default $\mb{\phi}_{\hat{\varepsilon}}$ denotes the interpolation in the parent coordinate system, the required $\mb{\phi}_{\hat{\varepsilon}}^g$ can be obtained by the following transformation
\begin{gather}\label{eq:enhanced_strain_trans}
\mb{\phi}_{\hat{\varepsilon}}^g=\mb{F}_0\mb{\phi}_{\hat{\varepsilon}},
\end{gather}
where $\mb{F}_0$ is the transformation matrix that depends on the corresponding Jacobian $\mb{J}_0$ evaluated at $\xi=\eta=0$. Such a transformation is also used in previous elements \citep[e.g.,][]{Pian1984}.
Let $\mb{J}_0$ be denoted as
\begin{gather*}
\mb{J}_0=\begin{bmatrix}
\pfrac{x}{\xi}&\pfrac{y}{\xi}\\[3mm]
\pfrac{x}{\eta}&\pfrac{y}{\eta}
\end{bmatrix}=\begin{bmatrix}
J_{11}&J_{12}\\[2mm]
J_{21}&J_{22}
\end{bmatrix},
\end{gather*}
then $\mb{F}_0$ can be expressed as
\begin{gather}
\mb{F}_0=\begin{bmatrix}
J_{11}^2 & J_{21}^2 & 2J_{11}J_{21} \\
J_{12}^2 & J_{22}^2 & 2J_{12}J_{22} \\
J_{11}J_{12} & J_{21}J_{22} & J_{11}J_{22}+J_{12}J_{21}
\end{bmatrix}.
\end{gather}
Since $\mb{F}_0$ is constant, \eqsref{eq:final_enhanced_strain} becomes
\begin{gather}\label{eq:new_enhanced_strain}
\int_V\mb{\phi}_{\hat{\varepsilon}}~\md{V}=\mb{0}.
\end{gather}
It shall be noted that for the final stiffness matrix to be non-singular, the following condition should be met,
\begin{gather}
n_\sigma\geqslant{}n_u+n_{\hat{\varepsilon}}-n_r,
\end{gather}
in which $n_\sigma$, $n_u$, $n_{\hat{\varepsilon}}$ are the numbers of modes of corresponding fields and $n_r$ is the number of rigid body modes. In this work, $n_\sigma=11$, $n_u=8+4=12$ and $n_r=4$ (instead of \num{3} due to that the rotation field is assumed to be an independent field), this leads to $n_{\hat{\varepsilon}}\leqslant3$.
The complete cubic polynomials $\mb{\phi}$ include ten terms
\begin{gather*}
\mb{\phi}=\begin{bmatrix}
1&\xi&\eta&\xi\eta&\xi^2&\eta^2&\xi^3&\xi^2\eta&\xi\eta^2&\eta^3
\end{bmatrix}.
\end{gather*}
The integration of which gives
\begin{gather*}
\int_{S}\mb{\phi}~\md{S}=\int_{-1}^{1}\int_{-1}^{1}\mb{\phi}~\md{\xi}\md{\eta}=\begin{bmatrix}
4 & 0 & 0 & 0 & \dfrac{4}{3} & \dfrac{4}{3} & 0 & 0 & 0 & 0
\end{bmatrix}.
\end{gather*}
This indicates that terms $\xi$, $\eta$, $\xi\eta$, $\xi^3$, $\eta^3$, $\xi^2\eta$ and $\xi\eta^2$ can be freely combined as (part of) enhanced strain modes. For the remaining terms, following combinations are admissible: $3\xi^2-1$, $3\eta^2-1$ and $\xi^2-\eta^2$. By replacing the original terms with the admissible ones, one can obtain
\begin{gather}\label{eq:enhanced_basis}
\mb{\phi}=\left[\begin{array}{cc|cccc|cccc}
\xi&\eta&\xi\eta&3\xi^2-1&3\eta^2-1&\xi^2-\eta^2&\xi^3&\xi^2\eta&\xi\eta^2&\eta^3
\end{array}\right].
\end{gather}
For the purpose of satisfying \eqsref{eq:new_enhanced_strain} \textbf{only}, linear combinations of any terms in \eqsref{eq:enhanced_basis} can be used as enhanced strain modes. This allows various modes to be created and used. However, since \eqsref{eq:new_enhanced_strain} is not the sufficient condition to construct a valid enhanced strain field, \textbf{not all possible combinations work and performance may vary}.
Accounting for both computational efficiency and element performance, after extensive numerical experiments, the following mode is chosen.
\begin{gather}\label{eq:interpolation_enhanced_strain_modified}
\mb{\phi}_{\hat{\varepsilon}}=
\begin{bmatrix}
3\xi^2-1 \\
3\eta^2-1 \\
0
\end{bmatrix}.
\end{gather}
It is observed that displacement terms $\xi^3$ and $\eta^3$ do not show up in the final explicit expression of $\mb{u}_d$ along two axes, respectively. The chosen terms $3\xi^2-1$ and $3\eta^2-1$ correspond to those missing terms. It shall be noted that $\mb{\phi}_{\hat{\varepsilon}}$ could have at most three columns. Here only one example is shown for brevity.
\subsection{Remarks}
Several remarks can be presented as follows to close this section.
\begin{enumerate}
\item The strain field $\mb{\varepsilon}$ and the stress field $\mb{\sigma}$, which are complete up to second order, are interpolated in the global coordinate system. Once the Jacobian matrix is obtained, interpolation matrices $\mb{\phi}_{\mb{\sigma}}$ and $\mb{\phi}_{\mb{\varepsilon}}$ can be expressed with parent coordinates. The corresponding integrals can then be evaluated in the normalized (parent) coordinate system.
\item Although term $\hat{\mb{\varepsilon}}$ is named as enhanced strain, it does not correspond to any physical strain. It can be simply deemed as the `additional energy dissipater' that can absorb unwanted energy.
\item The displacement field $\mb{u}$ and the enhanced strain field $\hat{\mb{\varepsilon}}$ are interpolated directly in the parent coordinate system. More enhanced strain patterns can be chosen. However, they should be carefully constructed otherwise the performance may deteriorate.
\end{enumerate}
\section{Integration Scheme}
To integrate a cubic function, theoretically a two-point Gaussian quadrature is sufficient. However, for the proposed GCMQ element, a \numproduct{2x2} scheme can only provide six constraints while the total number of DoFs is twelve with four rigid body modes\footnote{The additional one rigid body mode is caused by the independent rotation field.}. To avoid additional treatments (e.g., isolation and suppression of zero energy modes), the number of integration points shall increase. The simplest solution is to use the \numproduct{3x3} Gaussian/Lobatto quadrature.
In fact, to provide two more constraints, only one additional integration point is required. Hence it would be appealing if a five-point scheme (instead of a nine-point scheme) can be applied as in that case, the computation cost could be roughly halved.
\citet{Irons1971} proposed a class of quadrature rules for 3D applications, the six-point version has a cubic accuracy and can be expressed as
\begin{gather}\label{eq:irons_rule}
\int{}F\left(\xi,\eta,\psi\right)\md{V}=\sum_{i=1}^{6}w_iF_i=wF\left(\pm1,0,0\right)+wF\left(0,\pm1,0\right)+wF\left(0,0,\pm1\right),
\end{gather}
with $w=4/3$. It is possible to project the cube onto $\xi\eta$ plane by compressing the third axis $\psi$. Then \eqsref{eq:irons_rule} becomes
\begin{gather}\label{eq:modified_rule}
\int{}F\left(\xi,\eta\right)\md{A}=\sum_{i=1}^{5}w_iF_i=wF\left(\pm1,0\right)+wF\left(0,\pm1\right)+2wF\left(0,0\right)
\end{gather}
with a halved weight $w=2/3$. Since \eqsref{eq:irons_rule} has a cubic accuracy \citep{Irons1971}, \eqsref{eq:modified_rule} should also possess an equivalent truncation error of $\mathcal{O}(h^4)$.
\section{Numerical Examples}
Three aforementioned integration schemes are tested in this section: GCMQ-I(rons), GCMQ-G(auss) and GCMQ-L(obatto). From the perspective of engineering applications, GCMQ-L is more appealing since no post-processing is required for obtaining nodal results. For efficiency, GCMQ-I is preferable as it has fewer integration points. Several elastic examples are presented to mainly showcase the performance/sensitivity in respect of mesh distortion, shear locking, volumetric locking, coarse-mesh accuracy and convergence.
\subsection{The Patch Test}
The classic constant strain patch test defines four elements in a rectangular panel as shown in \figref{fig:gcmq_patch}.
\begin{figure}[htb]
\centering\scriptsize
\begin{tikzpicture}[scale=1]
\coordinate(N1)at(0,0);
\coordinate(N2)at(1,0);
\coordinate(N3)at(2,0);
\coordinate(N4)at(0,1);
\coordinate(N5)at(.8,1.1);
\coordinate(N6)at(2,1);
\coordinate(N7)at(0,2);
\coordinate(N8)at(1,2);
\coordinate(N9)at(2,2);
\draw[thick](N1)--(N2)--(N3)--(N6)--(N9)--(N8)--(N7)--(N4)--cycle;
\draw[thick](N2)--(N5)--(N8);
\draw[thick](N4)--(N5)--(N6);
\HingeSupport[-90]{N1};
\RollerSupport[-90]{N4};
\RollerSupport[-90]{N7};
\begin{scope}[every node/.style={fill=white,circle,draw,inner sep=0,minimum size=3mm}]
\node at(N1){\tiny1};
\node at(N2){\tiny2};
\node at(N3){\tiny3};
\node at(N4){\tiny4};
\node at(N5){\tiny5};
\node at(N6){\tiny6};
\node at(N7){\tiny7};
\node at(N8){\tiny8};
\node at(N9){\tiny9};
\end{scope}
\draw[->](2.5,0)--++(.6,0)node[below=2mm]{$P=1$};
\draw[->](2.5,1)--++(.6,0)node[below=2mm]{$2P=2$};
\draw[->](2.5,2)--++(.6,0)node[below=2mm]{$P=1$};
\draw[|<->|](0,-.5)--++(1,0)node[midway,fill=white]{$1$};
\draw[|<->|](1,-.5)--++(1,0)node[midway,fill=white]{$1$};
\draw[|<->|](-1,0)--++(0,1)node[midway,fill=white]{$1$};
\draw[|<->|](-1,1)--++(0,1)node[midway,fill=white]{$1$};
\node[align=left]at(7,1){DoF 3 constrained: 1 2 3 4 6 7 8 9\\[2mm]$E=10$, $\nu=0.25$, $b=2$, $h=2$, $t=1$\\[2mm]analytical solution $u_3=u_6=u_9=\dfrac{2Ph}{Ebt}=0.4$};
\end{tikzpicture}
\caption{constant strain patch test two}\label{fig:gcmq_patch}
\end{figure}
Altering the position of the centre node shows that all three versions of GCMQ could pass the constant strain patch test with arbitrary convex geometries.
\begin{table}[htb]
\centering\scriptsize
\caption{horizontal displacement $u_x$ of the centre node with various coordinates}\label{tab:patch_ii_a}
\begin{tabular}{ccccccc}
\toprule
\diagbox{$y$}{$x$} & \num{0.6}\footnote{origin of c.s. is set to node 1} & \num{0.7} & \num{0.8} & \num{0.9} & \num{1.0} & theoretical \\ \midrule
\num{0.6} & \num{0.12} & \num{0.12} & \num{0.12} & \num{0.12} & \num{0.12} & \num{0.12} \\
\num{0.7} & & \num{0.14} & \num{0.14} & \num{0.14} & \num{0.14} & \num{0.14} \\
\num{0.8} & & & \num{0.16} & \num{0.16} & \num{0.16} & \num{0.16} \\
\num{0.9} & & & & \num{0.18} & \num{0.18} & \num{0.18} \\
\num{1.0} & & & & & \num{0.20} & \num{0.20} \\ \bottomrule
\end{tabular}
\end{table}
Numerical results are shown in \tabref{tab:patch_ii_a}. Clearly, as can be proved by both horizontal and vertical (not shown here for brevity) displacement of the centre node, the linear displacement field is produced by GCMQ. The constant stress field with components $\sigma_x=2$ and $\sigma_y=\tau_{xy}=0$ is also produced in all cases listed.
\subsection{Shear and Volumetric Locking}
\subsubsection{MacNeal's Thin Beam}
The MacNeal's thin beam \citep{MacNeal1985} is used for shear locking test. The geometry is \numproduct{0.2x6} with three different meshes as shown in \figref{example:macneals_beam} where $t$ is beam thickness, $E$ is elastic modulus and $\nu$ is Poisson's ratio. Two loads ($P$ and $M$) are applied at the free end. The unit shear load $P$ is evenly split on two end nodes while the moment load $M$ is applied in the form of concentrated force pair.
\begin{figure}[H]
\centering\scriptsize
\begin{tikzpicture}
\FixedSupport[-90]{0,1.1}{3.5}
\node at(-1,.1){mesh a};
\node at(-1,1.1){mesh b};
\node at(-1,2.1){mesh c};
\draw[thick](0,0)rectangle(6,.2)(0,1)rectangle(6,1.2)(0,2)rectangle(6,2.2);
\foreach\x in{1,2,3,4,5}\draw[thick](\x,0)--++(0,.2)(\x-.1,1)--++(.2,.2);
\foreach\x in{1,3,5}\draw[thick](\x+.1,2)--++(-.2,.2);
\foreach\x in{2,4}\draw[thick](\x-.1,2)--++(.2,.2);
\draw[->](6.3,-.1)--++(0,.4);
\draw[<-](6.3,2)--++(.4,0);
\draw[->](6.3,2.2)--++(.4,0);
\node at(6.3,1.6){$M=0.2$};
\node at(6.3,.6){$P=1.0$};
\node[align=center]at(9,1.1){$t=1$, $E=\num{E5}$\\plane stress case:\\$\nu=0.3$\\plane strain case:\\$\nu=0.49,0.499,0.4999$};
\end{tikzpicture}
\caption{MacNeal's thin beam}\label{example:macneals_beam}
\end{figure}
The results are shown in \tabref{table:macneals_beam_shear}. The least accurate tip deflection of \num{1.0488} is approximate \SI{97}{\percent} of the reference value. It could be concluded from \tabref{table:macneals_beam_shear} that GCMQ element does not lock subjected to pure end shear and moment. Although there are only four nodes, GCMQ element can properly describe shear response as by construction it supports a non-linear distribution of stress and strain.
\begin{table}[H]
\centering\scriptsize
\caption{tip deflections of plane stress MacNeal's thin beam}\label{table:macneals_beam_shear}
\begin{tabular}{lcccccc}
\toprule
& \multicolumn{3}{c}{$P$} & \multicolumn{3}{c}{$M$} \\
& mesh a & mesh b & mesh c & mesh a & mesh b & mesh c \\ \midrule
GCMQ-I & 1.0733 & 1.0488 & 1.0654 & 0.0540 & 0.0538 & 0.0537 \\
GCMQ-L & 1.0733 & 1.0464 & 1.0665 & 0.0540 & 0.0537 & 0.0539 \\
GCMQ-G & 1.0733 & 1.0467 & 1.0638 & 0.0540 & 0.0536 & 0.0538 \\ \midrule
ref. \citep{Cen2015} & 1.0812 & & & 0.0540 & & \\ \bottomrule
\end{tabular}
\end{table}
The same beam can also be used for volumetric locking test. Accordingly, three Poisson's ratios close to incompressibility $\nu=0.5$ are chosen. The results in \tabref{table:macneals_beam_volumetric} show no sensitivity to (near) incompressibility problems. The worst results, which occur with Irons schemes and parallelogram meshes subjected to end shear, are about the same level (\SI{96.7}{\percent} of the reference values) for all Poisson's ratios. The overall performance of GCMQ is slightly better than recent elements. Comparisons are available elsewhere \citep{Cen2015} thus not shown here for brevity.
\begin{table}[H]
\centering\scriptsize
\caption{tip deflections of plane strain MacNeal's thin beam}\label{table:macneals_beam_volumetric}
\begin{tabular}{lcccccc}
\toprule
& \multicolumn{3}{c}{$P$} & \multicolumn{3}{c}{$M$} \\
& mesh a & mesh b & mesh c & mesh a & mesh b & mesh c \\ \midrule
& \multicolumn{6}{c}{$\nu=0.49$} \\
GCMQ-I & 0.8159 & 0.7947 & 0.8078 & 0.0410 & 0.0408 & 0.0408 \\
GCMQ-L & 0.8159 & 0.7956 & 0.8103 & 0.0410 & 0.0409 & 0.0409 \\
GCMQ-G & 0.8159 & 0.7966 & 0.8102 & 0.0410 & 0.0409 & 0.0409 \\
ref. & 0.8217 & & & 0.0410 & & \\ \midrule
& \multicolumn{6}{c}{$\nu=0.499$} \\
GCMQ-I & 0.8063 & 0.7849 & 0.7978 & 0.0406 & 0.0403 & 0.0403 \\
GCMQ-L & 0.8063 & 0.7861 & 0.8007 & 0.0406 & 0.0404 & 0.0404 \\
GCMQ-G & 0.8063 & 0.7872 & 0.8007 & 0.0406 & 0.0404 & 0.0404 \\
ref. & 0.8121 & & & 0.0406 & & \\ \midrule
& \multicolumn{6}{c}{$\nu=0.4999$} \\
GCMQ-I & 0.8054 & 0.7839 & 0.7968 & 0.0405 & 0.0402 & 0.0402 \\
GCMQ-L & 0.8054 & 0.7852 & 0.7998 & 0.0405 & 0.0404 & 0.0404 \\
GCMQ-G & 0.8054 & 0.7862 & 0.7997 & 0.0405 & 0.0403 & 0.0404 \\
ref. \citep{Cen2015} & 0.8111 & & & 0.0405 & & \\ \bottomrule
\end{tabular}
\end{table}
\subsubsection{Thick-Walled Cylinder}
A thick-walled cylinder was first proposed by \citet{MacNeal1985} for testing the sensitivity to volumetric locking of new elements. The model and the corresponding mesh grid used are shown in \figref{fig:cylinder}.
\begin{figure}[htb]
\centering\footnotesize
\begin{tikzpicture}[scale=.4]
\RollerSupport{3,0}{2}
\RollerSupport{5,0}{2}
\RollerSupport{7,0}{2}
\RollerSupport{9,0}{2}
\RollerSupport[-90]{0,3}{2}
\RollerSupport[-90]{0,5}{2}
\RollerSupport[-90]{0,7}{2}
\RollerSupport[-90]{0,9}{2}
\foreach\x in {0,15,30,...,90}{\draw[->](\x:1.8)--(\x:2.8);}
\draw[thick](3,0)arc(0:90:3)--++(0,6)arc(90:0:9)--cycle;
\draw[|<->|](0,-2)--++(3,0)node[midway,fill=white]{$3$};
\draw[|<->|](3,-2)--++(6,0)node[midway,fill=white]{$6$};
\node[align=center]at(4,4){$t=1$\\$E=1$};
\node at(.5,.5){$p$};
\draw[<-](.2,6)--(1,6)node[right=1mm]{rot. fixed};
\draw[<-](6,.2)--(6,1)node[above=1mm]{rot. fixed};
\begin{scope}[xshift=140mm]
\node at(5,-1.5){mesh grid};
\coordinate(N1)at(3.000,0.000);
\coordinate(N2)at(4.200,0.000);
\coordinate(N3)at(5.400,0.000);
\coordinate(N4)at(6.600,0.000);
\coordinate(N5)at(7.800,0.000);
\coordinate(N6)at(9.000,0.000);
\coordinate(N7)at(2.954,0.521);
\coordinate(N8)at(4.136,0.729);
\coordinate(N9)at(5.318,0.938);
\coordinate(N10)at(6.500,1.146);
\coordinate(N11)at(7.682,1.354);
\coordinate(N12)at(8.863,1.563);
\coordinate(N13)at(2.819,1.026);
\coordinate(N14)at(3.947,1.436);
\coordinate(N15)at(5.074,1.847);
\coordinate(N16)at(6.202,2.257);
\coordinate(N17)at(7.330,2.668);
\coordinate(N18)at(8.457,3.078);
\coordinate(N19)at(2.598,1.500);
\coordinate(N20)at(3.637,2.100);
\coordinate(N21)at(4.677,2.700);
\coordinate(N22)at(5.716,3.300);
\coordinate(N23)at(6.755,3.900);
\coordinate(N24)at(7.794,4.500);
\coordinate(N25)at(2.298,1.928);
\coordinate(N26)at(3.217,2.700);
\coordinate(N27)at(4.137,3.471);
\coordinate(N28)at(5.056,4.242);
\coordinate(N29)at(5.975,5.014);
\coordinate(N30)at(6.894,5.785);
\coordinate(N31)at(1.928,2.298);
\coordinate(N32)at(2.700,3.217);
\coordinate(N33)at(3.471,4.137);
\coordinate(N34)at(4.242,5.056);
\coordinate(N35)at(5.014,5.975);
\coordinate(N36)at(5.785,6.894);
\coordinate(N37)at(1.500,2.598);
\coordinate(N38)at(2.100,3.637);
\coordinate(N39)at(2.700,4.677);
\coordinate(N40)at(3.300,5.716);
\coordinate(N41)at(3.900,6.755);
\coordinate(N42)at(4.500,7.794);
\coordinate(N43)at(1.026,2.819);
\coordinate(N44)at(1.436,3.947);
\coordinate(N45)at(1.847,5.074);
\coordinate(N46)at(2.257,6.202);
\coordinate(N47)at(2.668,7.330);
\coordinate(N48)at(3.078,8.457);
\coordinate(N49)at(0.521,2.954);
\coordinate(N50)at(0.729,4.136);
\coordinate(N51)at(0.938,5.318);
\coordinate(N52)at(1.146,6.500);
\coordinate(N53)at(1.354,7.682);
\coordinate(N54)at(1.563,8.863);
\coordinate(N55)at(0.000,3.000);
\coordinate(N56)at(0.000,4.200);
\coordinate(N57)at(0.000,5.400);
\coordinate(N58)at(0.000,6.600);
\coordinate(N59)at(0.000,7.800);
\coordinate(N60)at(0.000,9.000);
\draw
(N1)--(N2)--(N8)--(N7)--cycle
(N2)--(N3)--(N9)--(N8)--cycle
(N3)--(N4)--(N10)--(N9)--cycle
(N4)--(N5)--(N11)--(N10)--cycle
(N5)--(N6)--(N12)--(N11)--cycle
(N7)--(N8)--(N14)--(N13)--cycle
(N8)--(N9)--(N15)--(N14)--cycle
(N9)--(N10)--(N16)--(N15)--cycle
(N10)--(N11)--(N17)--(N16)--cycle
(N11)--(N12)--(N18)--(N17)--cycle
(N13)--(N14)--(N20)--(N19)--cycle
(N14)--(N15)--(N21)--(N20)--cycle
(N15)--(N16)--(N22)--(N21)--cycle
(N16)--(N17)--(N23)--(N22)--cycle
(N17)--(N18)--(N24)--(N23)--cycle
(N19)--(N20)--(N26)--(N25)--cycle
(N20)--(N21)--(N27)--(N26)--cycle
(N21)--(N22)--(N28)--(N27)--cycle
(N22)--(N23)--(N29)--(N28)--cycle
(N23)--(N24)--(N30)--(N29)--cycle
(N25)--(N26)--(N32)--(N31)--cycle
(N26)--(N27)--(N33)--(N32)--cycle
(N27)--(N28)--(N34)--(N33)--cycle
(N28)--(N29)--(N35)--(N34)--cycle
(N29)--(N30)--(N36)--(N35)--cycle
(N31)--(N32)--(N38)--(N37)--cycle
(N32)--(N33)--(N39)--(N38)--cycle
(N33)--(N34)--(N40)--(N39)--cycle
(N34)--(N35)--(N41)--(N40)--cycle
(N35)--(N36)--(N42)--(N41)--cycle
(N37)--(N38)--(N44)--(N43)--cycle
(N38)--(N39)--(N45)--(N44)--cycle
(N39)--(N40)--(N46)--(N45)--cycle
(N40)--(N41)--(N47)--(N46)--cycle
(N41)--(N42)--(N48)--(N47)--cycle
(N43)--(N44)--(N50)--(N49)--cycle
(N44)--(N45)--(N51)--(N50)--cycle
(N45)--(N46)--(N52)--(N51)--cycle
(N46)--(N47)--(N53)--(N52)--cycle
(N47)--(N48)--(N54)--(N53)--cycle
(N49)--(N50)--(N56)--(N55)--cycle
(N50)--(N51)--(N57)--(N56)--cycle
(N51)--(N52)--(N58)--(N57)--cycle
(N52)--(N53)--(N59)--(N58)--cycle
(N53)--(N54)--(N60)--(N59)--cycle;
\end{scope}
\end{tikzpicture}
\caption{thick-walled cylinder subjected to unit pressure}\label{fig:cylinder}
\end{figure}
The analytical solution of radial displacement is given by
\begin{gather}
u=\dfrac{\left(1+\nu\right)pR_1^2}{E\left(R_2^2-R_1^2\right)}\left(\dfrac{R_2^2}{r}+\left(1-2\nu\right)r\right),
\end{gather}
where $p$ is the pressure, $R_1$ is the inner radius and $R_2$ is the outer radius. For $r=R_1$,
\begin{gather}
u=\dfrac{3}{4}\left(1+\nu\right)\left(5-\nu\right),
\end{gather}
Numerical results with different Poisson's ratios are shown in \tabref{tab:cylinder}. No volumetric locking is observed as the error stays around the same level (\SI{3}{\percent}) for all valid Poisson's ratios. The numerical failure is caused due to ill-conditioned stiffness matrix, rather than the element formulation. In fact, GCMQ accepts completely incompressible material, viz., $\nu=0.5$, in which case, the corresponding $\mb{C}$ matrix is well-conditioned.
\begin{table}[htb]
\centering\footnotesize
\caption{radial displacement at inner radius of thick-walled cylinder}\label{tab:cylinder}
\begin{tabular}{lrrrrrrr}
\toprule
$\nu$ & 0.49 & 0.499 & 0.4999 & 0.49999 & 0.499999 & 0.4999999 & 0.49999999 \\ \midrule
GCMQ-I & 4.8888 & 4.8988 & 4.8997 & 4.8997 & 4.8998 & 4.8998 & 4.8998 \\
GCMQ-L & 4.8850 & 4.8942 & 4.8950 & 4.8951 & 4.8951 & 4.8951 & 4.8951 \\
GCMQ-G & 4.8852 & 4.8941 & 4.8949 & 4.8950 & 4.8950 & 4.8950 & 4.8950 \\
analytical & 5.0399 & 5.0602 & 5.0623 & 5.0625 & 5.0625 & 5.0625 & 5.0625 \\ \bottomrule
\end{tabular}
\end{table}
\subsubsection{Mesh Distortion}
Mesh distortion is undesirable in general but cannot be avoided, especially for complex geometries. A simple cantilever beam with two elements defined is used to benchmark the sensitivity to mesh distortion. The model is shown in \figref{fig:distortion}.
\begin{figure}[htb]
\centering\footnotesize
\begin{tikzpicture}
\def\a{1}\def\b{.5}
\FixedSupport[-90]{0,0}{2}
\draw[->](0,0)--(0,\a+.2)node[left=1mm]{$y$};
\draw[->](0,0)--(10*\b+1.5,0)node[below=1mm]{$x$};
\draw[very thick,fill=white](0,-\b)rectangle(10*\b,\b);
\draw[|<->|](-.6,\b)--++(0,-2*\b)node[fill=white,midway]{$b=2$};
\draw[|<->|](0,-\b-.5)--++(10*\b,0)node[fill=white,midway]{$l=10$};
\draw[->](10*\b+.4,-.4)arc(-90:90:.4)node[above=1mm]{$M$};
\node[align=center]at(5*\b,\b+.5){$E=1$, $\nu=0$, $t=1$, $M=1$.};
\begin{scope}[xshift=75mm]
\node[align=center]at(5*\b,\b+.5){mesh grid};
\draw(0,-\b)rectangle(10*\b,\b);
\draw[dashed](5*\b,-\b)--++(0,2*\b);
\draw(3*\b,-\b)--(7*\b,\b);
\draw[|<->|](3*\b,-\b-.3)--(5*\b,-\b-.3)node[fill=white,midway]{$e$};
\begin{scope}[every node/.style={fill=white,circle,draw,inner sep=0,minimum size=3mm}]
\node at(0,-\b){\tiny1};
\node at(3*\b,-\b){\tiny2};
\node at(10*\b,-\b){\tiny3};
\node at(0,\b){\tiny4};
\node at(7*\b,\b){\tiny5};
\node at(10*\b,\b){\tiny6};
\end{scope}
\end{scope}
\end{tikzpicture}
\caption{cantilever beam with mesh distortion}\label{fig:distortion}
\end{figure}
To exactly model the fixed boundary condition, a trivial Poisson's ratio is used. For pure bending, the analytical solution of tip deflection \citep{Timoshenko1970} can be obtained as
\begin{gather}
v=\dfrac{Ml^2}{2EI}=\dfrac{1\times10^2\times6}{1\times1\times2^3}=75,
\end{gather}
which is identical to the solution given by the simple bending theory in mechanics of materials. Similar to previous examples, the moment $M$ can be applied as either force pair or conjugate moment, which is the corresponding force component on the drilling DoF. The parameter $e$ controls the degree of distortion and ranges from \num{-5} to \num{5}. Varying it gives the following results as shown in \figref{fig:distortion_result}.
\begin{figure}[htb]
\centering\scriptsize
\begin{subfigure}[b]{.49\textwidth}\centering
\input{PIC/DISTORTION1.tex}
\caption{load applied as force pair}
\end{subfigure}\quad
\begin{subfigure}[b]{.49\textwidth}\centering
\input{PIC/DISTORTION2.tex}
\caption{load applied as moment}
\end{subfigure}
\caption{averaged tip deflection error in the mesh distortion test}\label{fig:distortion_result}
\end{figure}
Clearly, GCMQ is not fully insensitive to mesh distortion. However, compared to other elements \citep[cf.][]{Cen2015}, the overall accuracy of GCMQ is good, especially with a Lobatto integration scheme. For all three versions, when $\left\lvert{}e\right\rvert\leqslant1$, viz., the smallest internal angle is greater than \SI{45}{\degree}, slight accuracy degradation is observed which indicates GCMQ is almost insensitive to mesh distortion with similar mesh configurations. Such a threshold can be relaxed to even $\left\lvert{}e\right\rvert\leqslant2$, which corresponds to a rarely seen element geometry in real life simulations. Practically, as long as the mesh grid is not extremely distorted, sensitivity to mesh distortion is in general not a problem.
Isoparametric mapping is known to be one of the reasons that cause sensitivity to mesh distortion \citep{Lee1993}. The recent approach to address this problem is the area coordinate method \citep{Long2010}. However, the resulting elements cannot pass the $C^0$ patch test. Some asymmetric elements \cite[e.g.,][]{Cen2015} can also address this problem, but their asymmetric feature may be undesired in some cases.
\subsection{Overall Accuracy}
\subsubsection{Cantilever Beam with Irregular Mesh}
This example uses the sample beam from the previous example but with a different mesh configuration that is depicted in \figref{example:cantilever_beam}. Shear load $P$ and bending load $M$ are applied separately.
\begin{figure}[H]
\centering\scriptsize
\begin{tikzpicture}[scale=1.2]
\draw[thick](0,0)rectangle(5,1);
\draw[thick](.5,0)--(1,1)(1,0)--(2,1)(2,0)--(2.5,1)(3.5,0)--(3,1);
\draw[|-|](-.6,0)--(-.6,1)node[midway,fill=white]{$2$};
\draw[|-|](0,-.6)--(.5,-.6)node[midway,fill=white]{$1$};
\draw[|-|](.5,-.6)--(1,-.6)node[midway,fill=white]{$1$};
\draw[|-|](1,-.6)--(2,-.6)node[midway,fill=white]{$2$};
\draw[|-|](2,-.6)--(3.5,-.6)node[midway,fill=white]{$3$};
\draw[|-|](3.5,-.6)--(5,-.6)node[midway,fill=white]{$3$};
\draw[|-|](0,1.4)--(1,1.4)node[midway,fill=white]{$2$};
\draw[|-|](1,1.4)--(2,1.4)node[midway,fill=white]{$2$};
\draw[|-|](2,1.4)--(2.5,1.4)node[midway,fill=white]{$1$};