5.3. Liquid Crystal Output¶
5.3.1. Liquid crystal order parameters¶
The dynamics of the liquid crystal problem are based on the symmetric, traceless, tensor order parameter \(Q_{\alpha\beta}(\mathbf{r};t)\). The model carries five independent components of this tensor in three dimensions, which are always stored to file as \(Q_{xx}, Q_{xy}, Q_{xz}, Q_{yy}\) and \(Q_{yz}\) (five scalar entities).
For the purposes of analysis and visualisation, it is actually preferable to consider a different set of quantities which are: the (scalar) order parameter, the director, and the (scalar) bi-axial order parameter. Specifically, the scalar order parameter is the largest eigenvalue of Q, the director is the associated eigenvector, while the bi-axial order parameter is related to the two largest eigenvalues. Physically, the scalar order parameter is expected to vanish at disclinations, and the director is the orientation of the rod-like molecules (a directionless vector); the bi-axial order parameter reflects the degree to which the order is ‘plate-like’ as against ‘rod-like’.
These latter quantities may be generated by diagonalising the tensor \(Q_{\alpha\beta}(\mathbf{r};t)\) at each position and time step. For any given problem, it may be relevant to look at one or more of these quantities.
5.3.2. Examples: processing LC output¶
We assume a computation has produced a binary file q-000010000.001-001
for some appropriate input configuration, along with the associated
meta data file. Computing and storing the
diagonalised quantities currently involves running the post-processing
utility util/extract
. Some example are given below.
5.3.2.1. VTK output for the director¶
From the command line, run
$ ./extract -k -d q-000010000.001-001
...
Writing computed director with vtk: lcd-000010000.vtk
Complete processing for q-000010000.001-001
The output here is a single file prefixed lcd
with the director field as a vector.
5.3.2.2. VTK output for the scalar order parameter¶
For the scalar order parameter, use the -s
option:
$ ./extract -k -s q-000010000.001-001
...
Writing computed scalar order with vtk: lcs-000010000.vtk
Complete processing for q-000010000.001-001
The output is a VTK file prefixed lcs
with the scalar order parameter.
5.3.2.3. VTK output for the bi-axial order parameter¶
If required, use the -x
option:
$ ./extract -k -x q-000010000.001-001
...
Writing computed biaxial order with vtk: lcb-00000000.vtk
Complete processing for q-000000000.001-001
This prodcues a file with the lcb
prefix, which is the scalar
bi-axial order parameter.
It is possible to combine the -s
, -d
and -x
options to
get more than one output at one time, if required. These VTK files
may be visualised in the usual way.
5.3.2.4. Raw output for all quantities¶
The following command can be used:
$ ./extract -a q-000010000.001-001
...
Writing computed scalar q etc: q-000000000
Complete processing for q-000000000.001-001
This generates a single ASCII file with five columns. The order
is \(s, d_x, d_y, d_z, b\) with \(s\) the scalar order
parameter and \(b\) the bi-axial order parameter; the
director is \((d_x,d_y,d_z)\). Note there
is no file extension. Use the -b
option instead if raw
binary format output is wanted; the results are in the same
order.
5.3.3. Example: visualising the scalar order parameter¶
Copy the example input docs/tutorial/liquid-crystal
to an appropriate
location and run the run. The input specifies a relatively small system
with free energy parameters which are appropriate for blue phase one (with
a cubic symmetry). The run is a short one to allow the initial conditions
to relax, and we expect to be able to visualise the disclination lines in
the final structure.
Run the input through the code, e.g.,
$ export OMP_NUM_THREADS=4
$ mpirun -np 1 ./Ludwig.exe blue-phase-visual.inp
This should take around minute (the exact choice of parallel options
is not important). A single unprocessed order paarameter file
q-000010000.001-001
should be produced. Run the extract
program to obtain the scalar order parameter:
$ ./extract -k -s q-000010000.001-001
The resulting VTK file can be read into, for example, Paraview in the
usual way. Apply a Contour
filter to the data. It should be seen
that the scalar order parameter varies between about 0.06 and 0.37.
In order to obtain a coherent picture of the disclination structure
a value of around 0.22 may be required for the isosurface value.
In theory, the scalar order should vanish at the disclinations, but
in the discrete model, this is not the case.
An example of the output is given below with a single isosurface contour value of 0.22. It can be seen that the disclinations are resolved at the level of around 2-3 lattice sites (the system size is 16 cubed.). A two-dimensional camera view has been selected to more closely reflect the cubic symmetry.
If the contour value selected is too low, the picture will ultimately become fragmented and the isosurface discontinuous.
5.3.3.1. The director field¶
To view the director field in Paraview, proceed as for a vector field
and apply a Glyph
filter, but select Line
instead of
Arrow
from the Glyph Type
menu in the Glyph
properties section. Some adjustment of the scale factor may
also be required to obtain a reasonable picture.