public class BZone
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private javajs.util.Lst<java.lang.Double> |
areas |
(package private) static java.lang.String[] |
bzColors |
(package private) boolean |
bzDrawPointsAndEdges |
private javajs.util.Lst<javajs.util.P3> |
bzFaceCenters |
private javajs.util.P3 |
bzGamma |
private javajs.util.Lst<javajs.util.P3> |
bzLatticePts |
private javajs.util.P3[] |
bzLatticePtsAll |
private javajs.util.Lst<BZone> |
bzones |
private javajs.util.Lst<javajs.util.P3> |
bzPlanePts |
(package private) boolean |
bzSavePmeshes |
private javajs.util.P3 |
center |
private java.lang.String |
color |
private JmolScriptEvaluator |
eval |
private javajs.util.Lst<javajs.util.P3> |
faceCenters |
private javajs.util.Lst<int[]> |
faceIndices |
private javajs.util.Lst<javajs.util.P3[]> |
faces |
private java.lang.String |
id |
private int |
index |
private boolean |
isWignerSeitz |
private javajs.util.Lst<javajs.util.P3> |
latticePts |
private javajs.util.Lst<javajs.util.P3> |
newLatticePts |
private javajs.util.Lst<javajs.util.P3> |
newPlanePts |
private javajs.util.Lst<javajs.util.P4> |
newPlanes |
private javajs.util.P3 |
offset |
private javajs.util.Lst<javajs.util.P4> |
planes |
private javajs.util.Lst<javajs.util.P4> |
planesUnused |
private javajs.util.Lst<java.lang.Object> |
pmeshes |
private java.lang.String |
polyid |
private static javajs.util.P3 |
ptInner |
private javajs.util.P3[] |
pts |
private javajs.util.Lst<javajs.util.P3> |
ptsUnused |
private java.lang.Object[] |
ret |
private javajs.util.Lst<BZone> |
subzones |
private double |
totalArea |
private float |
volume |
private Viewer |
vwr |
private int |
zoneIndex |
Constructor and Description |
---|
BZone() |
Modifier and Type | Method and Description |
---|---|
private void |
addBZ(javajs.util.Lst<javajs.util.P4> planes,
javajs.util.Lst<javajs.util.P3> pts,
javajs.util.Lst<javajs.util.P4> planes0,
javajs.util.Lst<javajs.util.P3> pts0,
int j) |
private javajs.util.P3 |
average(javajs.util.P3[] face) |
private java.lang.String |
bzColor(int i)
give each Brillouin zone a new color
|
private javajs.util.P3[] |
cleanFace(javajs.util.P3[] face) |
private javajs.util.P3 |
closest(javajs.util.P3 center,
javajs.util.P3[] ap3) |
private void |
cmd(java.lang.String cmd) |
private void |
createAllBZs(int n,
boolean discardPrev,
java.lang.String id,
float scale)
Starting with 1, build the Brillouin zones as polyhedra, optionally
discarding the previous as we go.
|
void |
createBZ(int zone,
java.lang.Object[] array,
boolean isK,
java.lang.String id,
float scale)
Create a Brillouin zone.
|
private void |
createNextBZ(BZone zone,
BZone zonePrev,
java.lang.String id) |
private void |
createSubzonePolyhedron(BZone subzone,
java.lang.String id)
Generate the polyhedra.
|
void |
createWS(java.lang.String id)
Create a Wigner-Seitz unitcell centered on {0 0 0}.
|
private void |
demoBZ(java.lang.Object[] array,
boolean isK) |
private void |
drawSubzonePolygons(BZone subzone) |
private void |
drawZoneCenters(BZone zone) |
private int[] |
faceIndices(javajs.util.P3[] p3s,
javajs.util.P3[] pts) |
private void |
finalizeZone(BZone zone)
Finalize a Brillouin zone.
|
private void |
getLatticePoints(int n)
Get the needed lattice points for n Brillouin zones.
|
private void |
getNewLatticePoints(BZone zone)
Loop through all points, looking for non-excluded points using St.
|
private java.lang.Object |
getProperty(java.lang.String name,
java.lang.String key) |
private boolean |
getSubzonePmeshes(BZone subzone)
Loop through all planes, creating a pmesh for each face.
|
private void |
getSubzones(BZone zone,
BZone zonePrev) |
private javajs.util.P3[] |
join(javajs.util.Lst<javajs.util.P3[]> faces) |
private BZone |
newBZ(int i)
initialize a new Brillouin zone
|
private javajs.util.P3 |
newPoint(int i,
int j,
int k,
javajs.util.P3 pt) |
private BZone |
newSubZone(BZone zone,
java.lang.String id,
int index) |
private javajs.util.P4 |
plane(javajs.util.P3 pt1,
javajs.util.P3 pt2,
float f) |
BZone |
setViewer(Viewer vwr) |
private java.lang.String |
toScript(javajs.util.P4 p4) |
private javajs.util.Lst<javajs.util.P3> |
within(float radius,
javajs.util.P3 center,
javajs.util.Lst<javajs.util.P3> pts) |
static java.lang.String[] bzColors
boolean bzDrawPointsAndEdges
boolean bzSavePmeshes
private javajs.util.Lst<BZone> bzones
private javajs.util.P3 bzGamma
private javajs.util.Lst<javajs.util.P3> bzFaceCenters
private javajs.util.Lst<javajs.util.P3> bzLatticePts
private javajs.util.P3[] bzLatticePtsAll
private javajs.util.Lst<javajs.util.P3> bzPlanePts
private javajs.util.Lst<BZone> subzones
private boolean isWignerSeitz
private Viewer vwr
private JmolScriptEvaluator eval
private java.lang.String id
private int index
private java.lang.String color
private javajs.util.Lst<javajs.util.P3> latticePts
private javajs.util.Lst<javajs.util.P3> newLatticePts
private javajs.util.Lst<javajs.util.P3> newPlanePts
private javajs.util.Lst<javajs.util.P4> planes
private javajs.util.Lst<javajs.util.P4> newPlanes
private float volume
private int zoneIndex
private javajs.util.P3 offset
private javajs.util.P3 center
private javajs.util.Lst<javajs.util.P4> planesUnused
private javajs.util.Lst<javajs.util.P3> ptsUnused
private javajs.util.Lst<java.lang.Object> pmeshes
private javajs.util.Lst<java.lang.Double> areas
private javajs.util.Lst<javajs.util.P3[]> faces
private javajs.util.Lst<int[]> faceIndices
private javajs.util.Lst<javajs.util.P3> faceCenters
private double totalArea
private static javajs.util.P3 ptInner
private java.lang.Object[] ret
private java.lang.String polyid
private javajs.util.P3[] pts
public void createBZ(int zone, java.lang.Object[] array, boolean isK, java.lang.String id, float scale)
scale
- public void createWS(java.lang.String id)
private void createAllBZs(int n, boolean discardPrev, java.lang.String id, float scale)
private void addBZ(javajs.util.Lst<javajs.util.P4> planes, javajs.util.Lst<javajs.util.P3> pts, javajs.util.Lst<javajs.util.P4> planes0, javajs.util.Lst<javajs.util.P3> pts0, int j)
private void getNewLatticePoints(BZone zone)
private javajs.util.P4 plane(javajs.util.P3 pt1, javajs.util.P3 pt2, float f)
private javajs.util.Lst<javajs.util.P3> within(float radius, javajs.util.P3 center, javajs.util.Lst<javajs.util.P3> pts)
private BZone newBZ(int i)
private java.lang.String bzColor(int i)
private void getLatticePoints(int n)
private javajs.util.P3 newPoint(int i, int j, int k, javajs.util.P3 pt)
private void cmd(java.lang.String cmd)
private void demoBZ(java.lang.Object[] array, boolean isK)
private boolean getSubzonePmeshes(BZone subzone)
private java.lang.String toScript(javajs.util.P4 p4)
private java.lang.Object getProperty(java.lang.String name, java.lang.String key)
private void createSubzonePolyhedron(BZone subzone, java.lang.String id)
private int[] faceIndices(javajs.util.P3[] p3s, javajs.util.P3[] pts)
private javajs.util.P3 closest(javajs.util.P3 center, javajs.util.P3[] ap3)
private javajs.util.P3[] cleanFace(javajs.util.P3[] face)
private javajs.util.P3 average(javajs.util.P3[] face)
private javajs.util.P3[] join(javajs.util.Lst<javajs.util.P3[]> faces)
private void drawZoneCenters(BZone zone)
private void drawSubzonePolygons(BZone subzone)
private void finalizeZone(BZone zone)