glas2021.nb
Author
Rainer Glüge, Marcus Aßmus
Title
glas2021.nb
Description
Supplemental notebook to "A systematic approach to reduce the independent tensor components by symmetry transformations: a commented translation of “Tensors and Crystal Symmetry” by Carl Hermann"
Category
Academic Articles & Supplements
Keywords
crystal symmetry, symmetry groups, elasticity, fourth-order tensor, Hermann’s theorem
URL
http://www.notebookarchive.org/2021-04-8s4wanh/
DOI
https://notebookarchive.org/2021-04-8s4wanh
Date Added
2021-04-19
Date Last Modified
2021-04-19
File Size
77.45 kilobytes
Supplements
Rights
Redistribution rights reserved
Download
Open in Wolfram Cloud
R. Glüge and M. Aßmus.
A systematic approach to reduce the independent tensor components by symmetry transformations - A commented translation of "Tensors and Crystal Symmetry" by Carl Hermann.
Continuum Mechanics and Thermodynamics, 33, 2021
A systematic approach to reduce the independent tensor components by symmetry transformations - A commented translation of "Tensors and Crystal Symmetry" by Carl Hermann.
Continuum Mechanics and Thermodynamics, 33, 2021
In[]:=
Remove["Global`*"](*Thisskriptexemplifiesinrealspacethatthenumberof*)(*n-foldrotationalsymmetriesthatcanbedistinguished*)(*isequalton,allothern-foldrotationalsymmetries*)(*coincidewithacontinuousrotationalsymmetry(transverse*)(*isotropy)*)(*Thisisofcoursenotafullproof.Forthispurpose,onecan*)(*leavetheroationangleunspecifiedandshowthattherank*)(*ofthecoefficientmatrixonlylowersforspecificangles,*)(*whichhappentobefractionsof2Pi/mwith1≤m≤n,*)(*whichisultimatlyaconsequenceofthefactthatanypowern*)(*ofasinorcosfunctioncanbewrittenasalinearcomb.*)(*ofsinandcosfunctionswiththeargumentdividedbym.*)(*Hermannsproofismuchmoreelegant,butdoesnotcapture*)(*theequivalenceoftheactionofC3,D3andC4,D4.*)order=4;(*tensorialorder*)comps=3^order;(*no.ofindep.comps.inabsenceofsymms.*)(*createasymbolicarrayofallcomponents*)CC=Array[C,ConstantArray[3,order]];(*Q=RotationMatrix[kappa,{0,0,1}]//TrigToExp*)(*definitionoftheproductQ_imQ_jn...Q_lpC_ij..l*)(*foranytensorialorder*)Rayleigh[rotmat_,arg_]:=Module[{tmp,depth},tmp=arg;depth=Depth[arg]-2;For[i=1,i≤depth,i++,tmp=Transpose[tmp,1i];tmp=rotmat.tmp;tmp=Transpose[tmp,1i];];tmp](*Thefollowingcreatesgeneratorsofthesymm.group*)(*anddefinestheinvariances.Uncommentforthegroup*)(*ofinterest.*)(*Triclinic*)Q=IdentityMatrix[3];Q2=Q;(*Monoclinic*)Q=RotationMatrix[2Pi/2,{0,0,1}];Q2=IdentityMatrix[3];(*Orthotropic*)Q=RotationMatrix[2Pi/2,{0,0,1}];Q2=RotationMatrix[2Pi/2,{0,1,0}];(*Tetragonal(D4)*)Q=RotationMatrix[2Pi/4,{0,0,1}];Q2=IdentityMatrix[3];(*Piezo-Tetragonal(C4)*)Q=RotationMatrix[2Pi/4,{0,0,1}];Q2=RotationMatrix[Pi,{0,1,0}];(*Trigonal(D3)*)Q=RotationMatrix[2Pi/3,{0,0,1}];Q2=IdentityMatrix[3];(*Piezo-Trigonal(C3)*)Q=RotationMatrix[2Pi/3,{0,0,1}];Q2=RotationMatrix[Pi,{0,1,0}];(*Hexagonal*)Q=RotationMatrix[2Pi/6,{0,0,1}];Q2=IdentityMatrix[3];(*Cubic*)Q=RotationMatrix[2Pi/3,{1,1,1}];Q2=RotationMatrix[Pi,{0,1,0}];(*Isotropic*)Q=RotationMatrix[2Pi/6,{0,0,1}];Q2=RotationMatrix[2Pi/6,{0,1,0}];rotsymmetries=Join[Flatten[Rayleigh[Q,CC]-CC],Flatten[Rayleigh[Q2,CC]-CC]];symmetries=Join[rotsymmetries,Flatten[CC-Transpose[CC,{3,4,1,2}]],Flatten[Transpose[CC,12]-CC]];(*generatehom.lin.sys.ofthesymmetrytransformation...*)matrix=CoefficientArrays[{symmetries},Flatten[CC]][[2,1]];(*...andcheckitsrank*)rank=MatrixRank[matrix](*showcoefficientmatrix*)(*MatrixForm[matrix]*)(*Theno.ofindep.comps.equalstheno.ofcomps.*)(*minustheno.ofconstraints(abovematrixrank)*)Print["CC has ",comps-rank," independent components. The constraints can be imposed as following in the componentes:"](*Giveasymbolicsolution*)result=Solve[symmetries0,Flatten[CC]]Print["The resulting tensor is:"]CC/.result[[1]]//MatrixForm
Out[]=
79
CC has 2 independent components. The constraints can be imposed as following in the componentes:
Out[]=
{{C[1,1,1,2]0,C[1,1,1,3]0,C[1,1,2,1]0,C[1,1,2,2]C[1,1,1,1]-2C[1,2,2,1],C[1,1,2,3]0,C[1,1,3,1]0,C[1,1,3,2]0,C[1,1,3,3]C[1,1,1,1]-2C[1,2,2,1],C[1,2,1,1]0,C[1,2,1,2]C[1,2,2,1],C[1,2,1,3]0,C[1,2,2,2]0,C[1,2,2,3]0,C[1,2,3,1]0,C[1,2,3,2]0,C[1,2,3,3]0,C[1,3,1,1]0,C[1,3,1,2]0,C[1,3,1,3]C[1,2,2,1],C[1,3,2,1]0,C[1,3,2,2]0,C[1,3,2,3]0,C[1,3,3,1]C[1,2,2,1],C[1,3,3,2]0,C[1,3,3,3]0,C[2,1,1,1]0,C[2,1,1,2]C[1,2,2,1],C[2,1,1,3]0,C[2,1,2,1]C[1,2,2,1],C[2,1,2,2]0,C[2,1,2,3]0,C[2,1,3,1]0,C[2,1,3,2]0,C[2,1,3,3]0,C[2,2,1,1]C[1,1,1,1]-2C[1,2,2,1],C[2,2,1,2]0,C[2,2,1,3]0,C[2,2,2,1]0,C[2,2,2,2]C[1,1,1,1],C[2,2,2,3]0,C[2,2,3,1]0,C[2,2,3,2]0,C[2,2,3,3]C[1,1,1,1]-2C[1,2,2,1],C[2,3,1,1]0,C[2,3,1,2]0,C[2,3,1,3]0,C[2,3,2,1]0,C[2,3,2,2]0,C[2,3,2,3]C[1,2,2,1],C[2,3,3,1]0,C[2,3,3,2]C[1,2,2,1],C[2,3,3,3]0,C[3,1,1,1]0,C[3,1,1,2]0,C[3,1,1,3]C[1,2,2,1],C[3,1,2,1]0,C[3,1,2,2]0,C[3,1,2,3]0,C[3,1,3,1]C[1,2,2,1],C[3,1,3,2]0,C[3,1,3,3]0,C[3,2,1,1]0,C[3,2,1,2]0,C[3,2,1,3]0,C[3,2,2,1]0,C[3,2,2,2]0,C[3,2,2,3]C[1,2,2,1],C[3,2,3,1]0,C[3,2,3,2]C[1,2,2,1],C[3,2,3,3]0,C[3,3,1,1]C[1,1,1,1]-2C[1,2,2,1],C[3,3,1,2]0,C[3,3,1,3]0,C[3,3,2,1]0,C[3,3,2,2]C[1,1,1,1]-2C[1,2,2,1],C[3,3,2,3]0,C[3,3,3,1]0,C[3,3,3,2]0,C[3,3,3,3]C[1,1,1,1]}}
The resulting tensor is:
Out[]//MatrixForm=
|
|
| |||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||
|
|
|
In[]:=
(*ShowthatthereducedstiffnessesduetoC4andD4*)(*differonlybyarotation.ThesameworksforC3andD3.*)(*DefinethereducedCCasobtainedinthefirstpart:*)CCtetpiezo={{{{C[1,1,1,1],-C[1,2,2,2],0},{-C[1,2,2,2],C[1,1,2,2],0},{0,0,C[2,2,3,3]}},{{-C[1,2,2,2],C[1,2,2,1],0},{C[1,2,2,1],C[1,2,2,2],0},{0,0,0}},{{0,0,C[2,3,3,2]},{0,0,0},{C[2,3,3,2],0,0}}},{{{-C[1,2,2,2],C[1,2,2,1],0},{C[1,2,2,1],C[1,2,2,2],0},{0,0,0}},{{C[1,1,2,2],C[1,2,2,2],0},{C[1,2,2,2],C[1,1,1,1],0},{0,0,C[2,2,3,3]}},{{0,0,0},{0,0,C[2,3,3,2]},{0,C[2,3,3,2],0}}},{{{0,0,C[2,3,3,2]},{0,0,0},{C[2,3,3,2],0,0}},{{0,0,0},{0,0,C[2,3,3,2]},{0,C[2,3,3,2],0}},{{C[2,2,3,3],0,0},{0,C[2,2,3,3],0},{0,0,C[3,3,3,3]}}}}CCtetcentral={{{{DD[1,1,1,1],0,0},{0,DD[1,1,2,2],0},{0,0,DD[2,2,3,3]}},{{0,DD[1,2,2,1],0},{DD[1,2,2,1],0,0},{0,0,0}},{{0,0,DD[2,3,3,2]},{0,0,0},{DD[2,3,3,2],0,0}}},{{{0,DD[1,2,2,1],0},{DD[1,2,2,1],0,0},{0,0,0}},{{DD[1,1,2,2],0,0},{0,DD[1,1,1,1],0},{0,0,DD[2,2,3,3]}},{{0,0,0},{0,0,DD[2,3,3,2]},{0,DD[2,3,3,2],0}}},{{{0,0,DD[2,3,3,2]},{0,0,0},{DD[2,3,3,2],0,0}},{{0,0,0},{0,0,DD[2,3,3,2]},{0,DD[2,3,3,2],0}},{{DD[2,2,3,3],0,0},{0,DD[2,2,3,3],0},{0,0,DD[3,3,3,3]}}}}(*Definearotationbykappaaroundthecyclicaxis*)Q=RotationMatrix[kappa,{0,0,1}];(*TheD-componentsandkappaarevariables*)vars={DD[1,1,1,1],DD[1,1,2,2],DD[2,2,3,3],DD[1,2,2,1],DD[2,3,3,2],DD[3,3,3,3],kappa};(*Theycanbedetermineds.t.thereducedstiffnessesmatch.*)(*Simplifyassumingonlyreals.*)$Assumptions=_Symbol∈Reals;res=Solve[Rayleigh[Q,CCtetcentral]-CCtetpiezo0,vars];FullSimplify[res[[1]]]
Out[]=
{{{{C[1,1,1,1],-C[1,2,2,2],0},{-C[1,2,2,2],C[1,1,2,2],0},{0,0,C[2,2,3,3]}},{{-C[1,2,2,2],C[1,2,2,1],0},{C[1,2,2,1],C[1,2,2,2],0},{0,0,0}},{{0,0,C[2,3,3,2]},{0,0,0},{C[2,3,3,2],0,0}}},{{{-C[1,2,2,2],C[1,2,2,1],0},{C[1,2,2,1],C[1,2,2,2],0},{0,0,0}},{{C[1,1,2,2],C[1,2,2,2],0},{C[1,2,2,2],C[1,1,1,1],0},{0,0,C[2,2,3,3]}},{{0,0,0},{0,0,C[2,3,3,2]},{0,C[2,3,3,2],0}}},{{{0,0,C[2,3,3,2]},{0,0,0},{C[2,3,3,2],0,0}},{{0,0,0},{0,0,C[2,3,3,2]},{0,C[2,3,3,2],0}},{{C[2,2,3,3],0,0},{0,C[2,2,3,3],0},{0,0,C[3,3,3,3]}}}}
Out[]=
{{{{DD[1,1,1,1],0,0},{0,DD[1,1,2,2],0},{0,0,DD[2,2,3,3]}},{{0,DD[1,2,2,1],0},{DD[1,2,2,1],0,0},{0,0,0}},{{0,0,DD[2,3,3,2]},{0,0,0},{DD[2,3,3,2],0,0}}},{{{0,DD[1,2,2,1],0},{DD[1,2,2,1],0,0},{0,0,0}},{{DD[1,1,2,2],0,0},{0,DD[1,1,1,1],0},{0,0,DD[2,2,3,3]}},{{0,0,0},{0,0,DD[2,3,3,2]},{0,DD[2,3,3,2],0}}},{{{0,0,DD[2,3,3,2]},{0,0,0},{DD[2,3,3,2],0,0}},{{0,0,0},{0,0,DD[2,3,3,2]},{0,DD[2,3,3,2],0}},{{DD[2,2,3,3],0,0},{0,DD[2,2,3,3],0},{0,0,DD[3,3,3,3]}}}}
Out[]=
DD[1,1,1,1]3C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1]-+16,DD[1,1,2,2]C[1,1,1,1]+3C[1,1,2,2]-2C[1,2,2,1]++16,DD[2,2,3,3]C[2,2,3,3],DD[1,2,2,1]C[1,1,1,1]-C[1,1,2,2]+2C[1,2,2,1]++16,DD[2,3,3,2]C[2,3,3,2],DD[3,3,3,3]C[3,3,3,3],kappa
1
4
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
1
4
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
1
4
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
ArcTan-42-+16+16,(16C[1,2,2,2])+8-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1]++16+162-+16+16+2π if ∈
2
-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1]+2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
1
2
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
2
-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1]+2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
2
(-C[1,1,1,1]+C[1,1,2,2]+2C[1,2,2,1])
2
C[1,2,2,2]
1
1
Cite this as: Rainer Glüge, Marcus Aßmus, "glas2021.nb" from the Notebook Archive (2021), https://notebookarchive.org/2021-04-8s4wanh
Download