clex25.in : Simulation versus Measurement
Requires: Clever, VictoryProcess
Minimum Versions: VictoryProcess: 7.22.1.R/Clever 3.11.20.R
In this exampple, we will demonstrate how to simulate the dynamic LCD response using Clever LCD model and compared with reference data. In dynamic LCD mode, LC directors's response to input signal is the key point in a given Liquid Crystal material and electrode configuration. To get the time response of LC material, we employ VA(vertical Alignment) IPS(In-Plane-Switching) mode configuration. VA IPS LCD structure have three pixel electrodes at the same plane and two common electrode at the bottom surface. Two common electrode is grounded and two pixel electrodes are biased with same polarity. the centeral pixel electride(pix2) is biased on opposite polarity of "pix1" and "pix3".
Build 3D LCD structure using process simulator. First part of input is to make a 3D simulation structure using Victoryprocess process simulator. SpecifyMaskpoly statement define three pixel electrode and two common electrode which are normally grounded to zero. In Victoryprocess, Liquid crystal material is defined as user-defined material name "LC" and it is recognized as a liquid crystal material in Clever with liquid crystal parameters. Tonyplot3D plot show us generated three diemensional VA(Vertical Alignment) IPS(In-Plane-Switching) mode LCD structure. It consist of three Pixel electrodes at the top and two common electrodes at the bottom. User can simulate different gap, width of electrodes, and thickness of liquid crystal by modifying the value of 'g', 'w', and 'lc_thick' variable. The dimension of x is defined by "xmin" and "xmax" variable and ymin/ymax controll the dimension of y.
Electrical & Optical simulation of LC is performed in Clever.
First, we have to define LC's anisotropic permittivity, elastic constant, and rotation viscosity.
setPixelbias("pix2", 0,-0.5,-1,-1.5,-2,-2.5,-3,-3.5,-4,-4.5,-5,-5.5,-6,-6.5,-7,-7.5,-8) vmaxtrap=5
- which describe static dc bias on "pix2" electrode. It starts from 0 and end with -8 Volt
Interconnect Capacitance structure="clex25_dc" domainboundarycondition=cyclic skipcap
- perform dc static analysis in a given pixel voltage by "setpixelbias" command
setDynamicPixBias pixelfile="clex25_0.dat"
- it describe time pulse data from measurement file or other emulator.
Interconnect Capacitance structure="clex25_tran" domainboundarycondition=cyclic skipcap
- performs field solver calculation and save to file at each time. Clever appends .T'Time' clex25_tran filename at each time solution.
After getting solution for dc and transient, we plot voltage versus transmittance and contour of transmittance in each case.
To get optical properties of LC's response during time pulse, we assumed crossed linear polarizers. "Optics" statement calculate the transmittance in given optical properties of material. To plot transmittance versus voltage, we extracted average transmittance value at DC bias and it is saved to clex25_2.dat file. Finally, tt is compared to measurement data(clex25_2_exp.dat).
Finally, we plotted the time versus transmittance curve by assuming user-define input pulse(clex25_0.dat). It show typical transient behavior in rise time and falling time even symmetric steep input pulse is applied.
To load and run this example, select the Load example button in DeckBuild. This will copy the input file and any support files to your current working directory. Select the run button to execute the example.
Additional Info:
Input Deck
go VictoryProcess #IPS-VA # Liquid Crystal, Vol. 38, No. 4, April 2011, 507-510 # Fast-response vertical alignment liquid crystal display # driven by in-plane switching set spacing=2 set g=9 set w=1 set lc_thick=4 set xmin=0 set xmax=3*$w+2*$g set ymin=0 set ymax=1 Init material="oxide" GasHeight=$lc_thick+2 Depth=1 \ from="$xmin,$ymin" to="$xmax,$ymax" ################################################## # pixel electrode # +V SpecifyMaskPoly maskname=pixel p1="0,$ymin" p2="$w,$ymin" p3="$w,$ymax" p4="0,$ymax" electrode="pix1" # -V set x1=$w+$g set x2=$w+$g+$w SpecifyMaskPoly maskname=pixel p1="$x1,$ymin" p2="$x2,$ymin" p3="$x2,$ymax" p4="$x1,$ymax" electrode="pix2" add # +V set x1=2*$w+2*$g set x2=3*$w+2*$g SpecifyMaskPoly maskname=pixel p1="$x1,$ymin" p2="$x2,$ymin" p3="$x2,$ymax" p4="$x1,$ymax" electrode="pix3" add set x1=$w+$g/2-$w/2 set x2=$x1+$w # common SpecifyMaskPoly maskname=common p1="$x1,$ymin" p2="$x2,$ymin" p3="$x2,$ymax" p4="$x1,$ymax" electrode="com1" set x1=2*$w+$g+$g/2-$w/2 set x2=$x1+$w # com2 SpecifyMaskPoly maskname=common p1="$x1,$ymin" p2="$x2,$ymin" p3="$x2,$ymax" p4="$x1,$ymax" electrode="com2" add ################################################### line x position=0 spac=0.25 line x position=$w s=0.25 line x position=$w+$g/2 s=0.5 line x position=$w +$g s=0.25 line x position=$w+$g + $w s=0.25 line x position=$w+$g + $w + $g/2 s=0.5 line x position=$w+$g + $w + $g s=0.25 line x position=$xmax s=0.25 line y position=$ymin s=0.5 line y position=$ymax s=0.5 line z position=0 spacing=0.1 line z position=1 spacing=0.5 # VA-IPS # pixel electrode deposit material="ITO" thick=0.05 max mask "pixel" etch material="ITO" thick=0.05 min strip electrode material="ITO" mask="pixel" # LC; cell gap 4um deposit material="LC" thick=$lc_thick-0.05 min # deposit material="LC" thick=$lc_thick min # top common electrode deposit material="ITO" thick=0.05 max mask "common" etch material="ITO" thick=0.05 max strip electrodes material="ITO" mask="common" # electrodes material="ITO" name=com x=6 y=6 z=-4.025 deposit material="LC" thick=0.05 min # sub deposit oxide thick=1 max line z loc=-5.0 s=0.5 line z loc=-$lc_thick s=0.1 line z loc=-$lc_thick+0.05 s=0.05 line z loc=-$lc_thick/2 s=0.5 line z loc=-0.05 s=0.05 line z loc=-0.0 s=0.1 save name=clex25_0 ## Create a Conformal Mesh Structure File ## go victorymesh load in=clex25_0 remesh conformal save out=clex25_1.str tonyplot3d clex25_1.str -set clex25_0.set # -png clex25_plot4.png go clever # read simulatioin structure init structure="clex25_1.str" # ITO metal conductivity material ITO conductivity=1000 # LC properties setLC epsParaDir=13.66 epsVertDir=3.66 splay=10.9e-12 twist=9.5e-12 bend=15.4e-12 \ cPenalty=1000 gama=0.1 # Specify the rubbing angle and the pre-tilt angle on the top and at the bottom of the LC region. LCbndaryB partition(0 $xmax) rubAngle(0) tiltangle(90) LCbndaryT partition(0 $xmax) rubAngle(0) tiltangle(90) # numeric option solver linearsolver=pam pamsolver=gmres ddprecond=RAS preconditioner=amp multilevel=0 \ fillratio=1e-4 lsmaxiter=100 lstolerance=1.0e-11 nlsmaxiter=100 nlstolerance=1.0e-8 option LSconvergeinfo=1 NLSconvergeinfo setfixedbias "com1"=0 "com2"=0 numInitramp=5 setPixelbias("pix1", 0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8) vmaxtrap=5 setPixelbias("pix2", 0,-0.5,-1,-1.5,-2,-2.5,-3,-3.5,-4,-4.5,-5,-5.5,-6,-6.5,-7,-7.5,-8) vmaxtrap=5 setPixelbias("pix3", 0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8) vmaxtrap=5 # solve DC solution for plotting voltage versus transmittance Interconnect Capacitance structure="clex25_dc" domainboundarycondition=cyclic skipcap # Solve Transient # loads pulse table setDynamicPixBias pixelfile ="clex25_0.dat" vmaxtrap=5 Interconnect Capacitance structure="clex25_tran" domainboundarycondition=cyclic skipcap # setdynamic waveform sinusoid elecname="pix1" tamplitude=6 \ # tfrequency=$freq tphase=0 tdecay=0.0 # Optical analysis go clever Init structure = "clex25_1.str" system rm clex25_2.dat system echo "VT data : Voltage versus Transmission" >> clex25_2.dat system echo "17 2 2" >> clex25_2.dat system echo "Voltage" >> clex25_2.dat system echo "Average transmittance" >> clex25_2.dat set V=0 loop steps=17 optics structure="clex25_dc.V$'V'.str" indexfile="clex25_1.dat" pixelvolt=$'V' \ wavelength=0.55 angle=0 theta=0 lightorient=frombot dx=0.125 dy=0.125 dzmax=0.025 \ topview="clex25_dc.V$'V'_linear" \ StartEndLayers(220, 45, 1.5, 1.5, 0.0044, 0; 220, -45, 1.5, 1.5, 0.0044, 0) ### average transmittance extract init infile="clex25_dc.V$'V'_linear.str" extract name="trans" 2d.area x.step=0.125 impurity="Transmittance" \ material="SiO2" y.min=$ymin y.max=$ymax x.min=0 x.max=$xmax set ymax=abs($ymax-$ymin) set ave_trans=$trans/($xmax*1e-4*$ymax*1e-4*1e-4) # write to vt.dat file system echo $'V' $'ave_trans' >> clex25_2.dat set V=$V+0.5 l.end # plot transmittance versus Voltage from dc solution tonyplot -overlay clex25_2.dat clex25_2_exp.dat # -png clex25_plot0.png tonyplot clex25_dc.V1_linear.str clex25_dc.V3_linear.str clex25_dc.V5_linear.str clex25_dc.V7_linear.str -set clex25_1.set # -png clex25_plot1.png ## for Transient ### go clever Init structure="clex25_1.str" system rm clex25_3.dat system echo "VT data : Time versus Transmission" >> clex25_3.dat system echo "41 2 2" >> clex25_3.dat system echo "Time" >> clex25_3.dat system echo "Average transmittance" >> clex25_3.dat set Time=0 loop steps=41 optics structure="clex25_tran.T$'Time'.str" indexfile="clex25_1.dat" \ wavelength=0.55 angle=0 theta=0 lightorient=frombot \ dx=0.125 dy=0.125 dzmax=0.025 topview="clex25_tran.T$'Time'_linear" \ StartEndLayers(220, 45, 1.5, 1.5, 0.0044, 0; 220, -45, 1.5, 1.5, 0.0044, 0) ### average transmittance extract init infile="clex25_tran.T$'Time'_linear.str" extract name="trans" 2d.area x.step=0.125 impurity="Transmittance" \ material="SiO2" y.min=$ymin y.max=$ymax x.min=0 x.max=$xmax set ymax=abs($ymax-$ymin) set ave_trans=$trans/($xmax*1e-4*$ymax*1e-4*1e-4) #write to vt.dat file system echo $'Time' $'ave_trans' >> clex25_3.dat set Time=$Time+0.002 l.end tonyplot clex25_3.dat #-png clex25_plot2.png tonyplot clex25_tran.T0.01_linear.str clex25_tran.T0.016_linear.str clex25_tran.T0.02_linear.str clex25_tran.T0.03_linear.str -set clex25_1.set #-png clex25_plot3.png quit