fermisurfer  2.0.0
fermisurfer
Classes | Enumerations | Functions | Variables
fermisurfer.cpp File Reference

Main routine. More...

#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <omp.h>
#include <wx/wx.h>
#include <wx/cmdline.h>
#include "read_file.hpp"
#include "menu.hpp"
#include "operation.hpp"
#include "initialize.hpp"
#include "draw.hpp"
#include "fermi_patch.hpp"
#include "calc_nodeline.hpp"
#include "bz_lines.hpp"
#include "free_patch.hpp"
#include "section.hpp"
#include "kumo.hpp"
#include "equator.hpp"
Include dependency graph for fermisurfer.cpp:

Go to the source code of this file.

Classes

class  MyApp
 

Enumerations

enum  { MOUSE_SCROLL_UP = 3, MOUSE_SCROLL_DOWN = 4 }
 

Functions

void batch_draw ()
 Glut Display function called by glutDisplayFunc. More...
 

Variables

int ng0 [3]
 \(k\)-point grid in the input file More...
 
int shiftk [3]
 Wherether \(k\)-grid is shifted or not. More...
 
int nb
 The number of Bands. More...
 
GLfloat avec [3][3]
 Direct lattice vector. More...
 
GLfloat bvec [3][3]
 Reciprocal lattice vector. More...
 
GLfloat **** eig0
 Eigenvalues \(\varepsilon_{n k}\)[nb][ng0[0]][ng0[1]][ng0[2]]. More...
 
GLfloat ***** mat0
 Matrix element [nb][ng0[0]][ng0[1]][ng0[2]][3]. More...
 
int ng [3]
 Interpolated \(k\)-grids More...
 
GLfloat **** eig
 Eigenvalues \(\varepsilon_{n k}\) [nb][ng[0]][ng[1]][ng[2]]. More...
 
GLfloat ***** mat
 Matrix element \(\delta_{n k}\) [nb][ng[0]][ng[1]][ng[2]][3]. More...
 
GLfloat ***** vf
 Matrix element \(\{\bf v}_{{\rm f} n k}\) [nb][ng[0]][ng[1]][ng[2]][3]. More...
 
int interpol = 1
 Ratio of interpolation. More...
 
int color_scale = 1
 Switch for full color scale mode. More...
 
int fbz = 1
 Switch for 1st Brillouin zone mode. More...
 
int nodeline = 0
 Switch for node lines. More...
 
int lcolorbar = 1
 Switch for colorbar. More...
 
int lstereo = 1
 Switch for the stereogram. More...
 
int lmouse = 1
 Switch for the mouse function. More...
 
int lsection = 0
 Switch for the 2D Fermi lines. More...
 
int lequator = 0
 Switch for equator. More...
 
int BZ_number [3] = { 1, 1, 1 }
 Number of BZ. More...
 
int nbzl
 The number of Lines of 1st Brillouin zone. More...
 
GLfloat bzl [676][2][3]
 Lines of 1st BZ [nbzl(max:26*26=676)][2][3]. More...
 
GLfloat bragg [26][3]
 Bragg plane vectors. More...
 
GLfloat brnrm [26]
 Norms of Bragg plane vectors. More...
 
GLfloat brnrm_min
 Minimum scale of the reciplocal space. More...
 
int nbragg
 Number of Bragg plane og 1st BZ. More...
 
int * ntri
 The number of triangle patch [nb]. More...
 
int * draw_band
 Switch for drawn bands [nb]. More...
 
GLfloat ** rgb_band
 Switch for drawn bands [nb]. More...
 
GLfloat **** nmlp
 Normal vector of patchs [nb][ntri][3][3]. More...
 
GLfloat **** kvp
 \(k\)-vectors of points [nb][ntri][3][3] More...
 
GLfloat ***** arw
 
GLfloat ** nmlp_rot
 Normal vector of patchs [nb][ntri*3*3]. More...
 
GLfloat ** kvp_rot
 \(k\)-vectors of points [nb][ntri*3*3] More...
 
GLfloat ** arw_rot
 
GLfloat **** matp
 Matrix elements of points [nb][ntri][3][3]. More...
 
GLfloat ** clr
 Colors of points [nb][ntri*3*4]. More...
 
int itet = 0
 Counter for tetrahedron. More...
 
GLfloat side = 1.0
 Which side is lighted. More...
 
GLfloat patch_max
 Max value across patch. More...
 
GLfloat patch_min
 Max value across patch. More...
 
int * nnl
 The number of nodeline. More...
 
GLfloat **** kvnl
 \(k\)-vector of nodeline [nb][nnl][2][3] More...
 
GLfloat ** kvnl_rot
 \(k\)-vector of nodeline [nb][nnl*2*3] More...
 
GLfloat secvec [3]
 \(k\)-vector to define section More...
 
GLfloat secvec_fr [3]
 \(k\)-vector to define section More...
 
GLfloat secscale
 0.0 (across \(\Gamma\)) or 1.0 More...
 
GLfloat axis2d [2][3]
 \(k\)-vector to define section More...
 
int * n2d
 Number of line segment. More...
 
GLfloat ** kv2d
 \(k\)-vector for 2D plot [nb][n2d*2*3] More...
 
GLfloat ** clr2d
 Matrix element for 2D plot [nb][n2d*2*4]. More...
 
int nbzl2d
 The number of Lines of 1st Brillouin zone. More...
 
GLfloat bzl2d [26][3]
 Lines of 1st BZ [nbzl2d (max:26)][3]. More...
 
GLfloat bzl2d_proj [26][3]
 Lines of 1st BZ [nbzl2d (max:26)][3], projected into 2D plane. More...
 
GLfloat eqvec [3]
 \(k\)-vector for equator More...
 
GLfloat eqvec_fr [3]
 \(k\)-vector for equator More...
 
int * nequator
 The number of equator. More...
 
GLfloat **** kveq
 \(k\)-vector of equator [nb][nequator][2][3] More...
 
GLfloat ** kveq_rot
 \(k\)-vector of equator [nb][nequator*2*3] More...
 
GLfloat sx
 Scale of mouse movement. More...
 
GLfloat sy
 Scale of mouse movement. More...
 
int cx
 Starting point of drug. More...
 
int cy
 Starting point of drug. More...
 
GLfloat scl = 1.0
 Initial scale. More...
 
GLfloat trans [3] = { 0.0, 0.0, 0.0 }
 Translation. More...
 
GLfloat rot [3][3]
 Rotation matrix. More...
 
GLfloat thetax = 0.0
 Rotation angle. More...
 
GLfloat thetay = 0.0
 Rotation angle. More...
 
GLfloat thetaz = 0.0
 Rotation angle. More...
 
GLfloat linewidth = 3.0
 BZ/nodal-line/Fermiline width. More...
 
GLfloat black [4] = { 0.0, 0.0, 0.0, 1.0 }
 Black color code. More...
 
GLfloat gray [4] = { 0.5f, 0.5f, 0.5f, 1.0 }
 Gray color code. More...
 
GLfloat wgray [4] = { 0.9f, 0.9f, 0.9f, 1.0 }
 Gray color code. More...
 
GLfloat bgray [4] = { 0.1f, 0.1f, 0.1f, 1.0 }
 Gray color code. More...
 
GLfloat white [4] = { 1.0, 1.0, 1.0, 1.0 }
 White color code. More...
 
GLfloat cyan [4] = { 0.0, 1.0, 1.0, 1.0 }
 Cyan color code. More...
 
GLfloat magenta [4] = { 1.0, 0.0, 1.0, 1.0 }
 Magenta color code. More...
 
GLfloat yellow [4] = { 1.0, 1.0, 0.0, 1.0 }
 Yellow color code. More...
 
GLfloat red [4] = { 1.0, 0.0, 0.0, 1.0 }
 Red color code. More...
 
GLfloat green [4] = { 0.0, 1.0, 0.0, 1.0 }
 Green color code. More...
 
GLfloat blue [4] = { 0.0, 0.0, 1.0, 1.0 }
 Blue color code. More...
 
GLfloat BackGroundColor [4] = { 0.0, 0.0, 0.0, 1.0 }
 BackGround color code. More...
 
GLfloat LineColor [4] = { 1.0, 1.0, 1.0, 1.0 }
 Line color code. More...
 
GLfloat SectionColor [4] = { 0.5f, 0.5f, 0.5f, 1.0 }
 Line color code. More...
 
GLfloat BarColor [5][4]
 
GLfloat arrow [2][3]
 
int corner [6][4]
 Corners of tetrahedron. More...
 
GLfloat EF = 0.0
 Fermi energy. More...
 
GLfloat sphere_v [190][2][3]
 Vertices for wisreflame sphere. More...
 
GLfloat sphere_r
 Radius of wireflame sphere. More...
 
GLfloat sphere_c [3]
 Center of wireflame sphere. More...
 
int nthreads
 Number of OpenMP threads. More...
 
wxString batch_name
 
wxString frmsf_file_name
 
int lbatch = 0
 
MyFramemyf
 
wxTextCtrl * terminal
 
int refresh_interpol = 0
 
int refresh_patch = 1
 
int refresh_color = 1
 
int refresh_nodeline = 1
 
int refresh_equator = 1
 
int refresh_section = 1
 
int skip_minmax = 0
 
int windowx = 1100
 
int windowy = 850
 

Detailed Description

Main routine.

Definition in file fermisurfer.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MOUSE_SCROLL_UP 

Mouse wheel up.

MOUSE_SCROLL_DOWN 

Mouse wheel down.

Definition at line 222 of file fermisurfer.cpp.

Function Documentation

◆ batch_draw()

void batch_draw ( )

Glut Display function called by glutDisplayFunc.

Definition at line 251 of file fermisurfer.cpp.

References read_batch(), and refresh_patch_segment().

Referenced by MyApp::OnInit().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ arrow

GLfloat arrow[2][3]

Definition at line 213 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), and MyFrame::textctrl_Arrow().

◆ arw

GLfloat***** arw

Definition at line 141 of file fermisurfer.cpp.

Referenced by draw_fermi(), free_patch(), MyApp::OnInit(), and paint().

◆ arw_rot

GLfloat** arw_rot

Definition at line 144 of file fermisurfer.cpp.

Referenced by draw_fermi(), free_patch(), and MyApp::OnInit().

◆ avec

GLfloat avec[3][3]

Direct lattice vector.

Definition at line 100 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and interpol_energy().

◆ axis2d

GLfloat axis2d[2][3]

\(k\)-vector to define section

Definition at line 163 of file fermisurfer.cpp.

Referenced by calc_2dbz(), calc_section(), proj_2d(), and set2daxis().

◆ BackGroundColor

GLfloat BackGroundColor[4] = { 0.0, 0.0, 0.0, 1.0 }

BackGround color code.

Background color code.

Definition at line 208 of file fermisurfer.cpp.

Referenced by draw_colorbar(), paint(), read_batch(), and MyFrame::textctrl_BackGround().

◆ BarColor

GLfloat BarColor[5][4]
Initial value:
= { { 0.0, 0.0, 1.0, 1.0 } , { 0.0, 1.0, 1.0, 1.0 } ,
{ 0.0, 1.0, 0.0, 1.0 } ,{ 1.0, 1.0, 0.0, 1.0 } ,{ 1.0, 0.0, 0.0, 1.0 } }

Definition at line 211 of file fermisurfer.cpp.

Referenced by draw_colorbar(), paint(), and MyFrame::radio_BarColor().

◆ batch_name

wxString batch_name

Definition at line 231 of file fermisurfer.cpp.

Referenced by MyApp::OnCmdLineParsed(), TestGLCanvas::OnPaint(), and read_batch().

◆ bgray

GLfloat bgray[4] = { 0.1f, 0.1f, 0.1f, 1.0 }

Gray color code.

Definition at line 200 of file fermisurfer.cpp.

Referenced by draw_colorbar(), and paint().

◆ black

GLfloat black[4] = { 0.0, 0.0, 0.0, 1.0 }

Black color code.

Definition at line 197 of file fermisurfer.cpp.

Referenced by draw_fermi().

◆ blue

GLfloat blue[4] = { 0.0, 0.0, 1.0, 1.0 }

Blue color code.

Definition at line 207 of file fermisurfer.cpp.

Referenced by draw_colorbar(), MyFrame::modify_band(), paint(), and MyFrame::radio_BarColor().

◆ bragg

GLfloat bragg[26][3]

Bragg plane vectors.

Definition at line 129 of file fermisurfer.cpp.

Referenced by bragg_vector(), bragg_vert(), bragg_vert2d(), bz_lines(), calc_2dbz(), and check_bragg().

◆ brnrm

GLfloat brnrm[26]

Norms of Bragg plane vectors.

Definition at line 130 of file fermisurfer.cpp.

Referenced by bragg_vector(), bragg_vert(), bragg_vert2d(), bz_lines(), calc_2dbz(), and check_bragg().

◆ brnrm_min

GLfloat brnrm_min

Minimum scale of the reciplocal space.

Definition at line 131 of file fermisurfer.cpp.

Referenced by bragg_vector().

◆ bvec

GLfloat bvec[3][3]

◆ BZ_number

int BZ_number[3] = { 1, 1, 1 }

Number of BZ.

Definition at line 123 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), draw_fermi(), and MyFrame::textctrl_BZ_number().

◆ bzl

GLfloat bzl[676][2][3]

Lines of 1st BZ [nbzl(max:26*26=676)][2][3].

Definition at line 128 of file fermisurfer.cpp.

Referenced by bz_lines(), check_bragg(), and draw_bz_lines().

◆ bzl2d

GLfloat bzl2d[26][3]

Lines of 1st BZ [nbzl2d (max:26)][3].

Definition at line 168 of file fermisurfer.cpp.

Referenced by calc_2dbz(), and draw_bz_lines().

◆ bzl2d_proj

GLfloat bzl2d_proj[26][3]

Lines of 1st BZ [nbzl2d (max:26)][3], projected into 2D plane.

Definition at line 169 of file fermisurfer.cpp.

Referenced by MyFrame::button_section(), calc_2dbz(), and draw_fermi_line().

◆ clr

GLfloat** clr

Colors of points [nb][ntri*3*4].

Definition at line 146 of file fermisurfer.cpp.

Referenced by calc_section(), draw_fermi(), free_patch(), MyApp::OnInit(), and paint().

◆ clr2d

GLfloat** clr2d

Matrix element for 2D plot [nb][n2d*2*4].

Definition at line 166 of file fermisurfer.cpp.

Referenced by calc_section(), draw_fermi_line(), free_patch(), and MyApp::OnInit().

◆ color_scale

int color_scale = 1

◆ corner

int corner[6][4]

Corners of tetrahedron.

Definition at line 217 of file fermisurfer.cpp.

Referenced by init_corner().

◆ cx

int cx

Starting point of drug.

Definition at line 183 of file fermisurfer.cpp.

◆ cy

int cy

Starting point of drug.

Definition at line 184 of file fermisurfer.cpp.

◆ cyan

GLfloat cyan[4] = { 0.0, 1.0, 1.0, 1.0 }

Cyan color code.

Definition at line 202 of file fermisurfer.cpp.

Referenced by draw_colorbar(), MyFrame::modify_band(), paint(), and MyFrame::radio_BarColor().

◆ draw_band

int* draw_band

◆ EF

GLfloat EF = 0.0

Fermi energy.

Definition at line 218 of file fermisurfer.cpp.

Referenced by read_batch(), read_bxsf(), and MyFrame::textctrl_shift().

◆ eig

GLfloat**** eig

Eigenvalues \(\varepsilon_{n k}\) [nb][ng[0]][ng[1]][ng[2]].

Definition at line 108 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and interpol_energy().

◆ eig0

GLfloat**** eig0

Eigenvalues \(\varepsilon_{n k}\)[nb][ng0[0]][ng0[1]][ng0[2]].

Definition at line 102 of file fermisurfer.cpp.

Referenced by allocate_griddata(), interpol_energy(), max_and_min_bz(), read_bxsf(), and read_file().

◆ eqvec

GLfloat eqvec[3]

\(k\)-vector for equator

Definition at line 173 of file fermisurfer.cpp.

Referenced by allocate_griddata(), MyFrame::checkvalue_equator(), equator(), and read_batch().

◆ eqvec_fr

GLfloat eqvec_fr[3]

\(k\)-vector for equator

Definition at line 174 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and MyFrame::checkvalue_equator().

◆ fbz

int fbz = 1

Switch for 1st Brillouin zone mode.

Definition at line 116 of file fermisurfer.cpp.

Referenced by calc_2dbz(), calc_section(), draw_bz_lines(), TestGLCanvas::OnPaint(), MyFrame::radio_brillouinzone(), and read_batch().

◆ frmsf_file_name

wxString frmsf_file_name

◆ gray

GLfloat gray[4] = { 0.5f, 0.5f, 0.5f, 1.0 }

Gray color code.

Definition at line 198 of file fermisurfer.cpp.

◆ green

GLfloat green[4] = { 0.0, 1.0, 0.0, 1.0 }

Green color code.

Definition at line 206 of file fermisurfer.cpp.

Referenced by draw_colorbar(), MyFrame::modify_band(), paint(), and MyFrame::radio_BarColor().

◆ interpol

int interpol = 1

Ratio of interpolation.

Definition at line 111 of file fermisurfer.cpp.

Referenced by interpol_energy(), kumo_coef(), read_batch(), and MyFrame::textctrl_interpol().

◆ itet

int itet = 0

Counter for tetrahedron.

Definition at line 147 of file fermisurfer.cpp.

Referenced by bragg_vector(), init_corner(), MyFrame::modify_band(), MyFrame::radio_tetra(), and read_batch().

◆ kv2d

GLfloat** kv2d

\(k\)-vector for 2D plot [nb][n2d*2*3]

Definition at line 165 of file fermisurfer.cpp.

Referenced by MyFrame::button_section(), calc_section(), draw_fermi_line(), free_patch(), and MyApp::OnInit().

◆ kveq

GLfloat**** kveq

\(k\)-vector of equator [nb][nequator][2][3]

Definition at line 176 of file fermisurfer.cpp.

Referenced by draw_fermi(), equator(), free_patch(), and MyApp::OnInit().

◆ kveq_rot

GLfloat** kveq_rot

\(k\)-vector of equator [nb][nequator*2*3]

Definition at line 177 of file fermisurfer.cpp.

Referenced by draw_fermi(), equator(), free_patch(), and MyApp::OnInit().

◆ kvnl

GLfloat**** kvnl

\(k\)-vector of nodeline [nb][nnl][2][3]

Definition at line 155 of file fermisurfer.cpp.

Referenced by calc_nodeline(), draw_fermi(), free_patch(), and MyApp::OnInit().

◆ kvnl_rot

GLfloat** kvnl_rot

\(k\)-vector of nodeline [nb][nnl*2*3]

Definition at line 156 of file fermisurfer.cpp.

Referenced by calc_nodeline(), draw_fermi(), free_patch(), and MyApp::OnInit().

◆ kvp

GLfloat**** kvp

\(k\)-vectors of points [nb][ntri][3][3]

Definition at line 140 of file fermisurfer.cpp.

Referenced by calc_nodeline(), calc_section(), draw_fermi(), equator(), free_patch(), MyApp::OnInit(), and paint().

◆ kvp_rot

GLfloat** kvp_rot

\(k\)-vectors of points [nb][ntri*3*3]

Definition at line 143 of file fermisurfer.cpp.

Referenced by draw_fermi(), free_patch(), and MyApp::OnInit().

◆ lbatch

int lbatch = 0

◆ lcolorbar

int lcolorbar = 1

Switch for colorbar.

Definition at line 118 of file fermisurfer.cpp.

Referenced by MyFrame::check_colorbar(), TestGLCanvas::OnPaint(), and read_batch().

◆ lequator

int lequator = 0

Switch for equator.

Definition at line 122 of file fermisurfer.cpp.

Referenced by MyFrame::checkvalue_equator(), draw_fermi(), and read_batch().

◆ LineColor

GLfloat LineColor[4] = { 1.0, 1.0, 1.0, 1.0 }

Line color code.

Definition at line 209 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), draw_circles(), draw_fermi_line(), read_batch(), and MyFrame::textctrl_LineColor().

◆ linewidth

GLfloat linewidth = 3.0

◆ lmouse

int lmouse = 1

Switch for the mouse function.

Definition at line 120 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), and MyFrame::radio_mouse().

◆ lsection

int lsection = 0

Switch for the 2D Fermi lines.

Definition at line 121 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), TestGLCanvas::OnPaint(), MyFrame::radiovalue_section(), and read_batch().

◆ lstereo

int lstereo = 1

Switch for the stereogram.

Definition at line 119 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnPaint(), MyFrame::radio_stereo(), and read_batch().

◆ magenta

GLfloat magenta[4] = { 1.0, 0.0, 1.0, 1.0 }

Magenta color code.

Definition at line 203 of file fermisurfer.cpp.

Referenced by draw_colorbar(), paint(), and MyFrame::radio_BarColor().

◆ mat

GLfloat***** mat

Matrix element \(\delta_{n k}\) [nb][ng[0]][ng[1]][ng[2]][3].

Definition at line 109 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and interpol_energy().

◆ mat0

GLfloat***** mat0

Matrix element [nb][ng0[0]][ng0[1]][ng0[2]][3].

Definition at line 103 of file fermisurfer.cpp.

Referenced by allocate_griddata(), interpol_energy(), max_and_min_bz(), and read_file().

◆ matp

GLfloat**** matp

Matrix elements of points [nb][ntri][3][3].

Definition at line 145 of file fermisurfer.cpp.

Referenced by calc_nodeline(), free_patch(), max_and_min(), MyApp::OnInit(), and paint().

◆ myf

MyFrame* myf

◆ n2d

int* n2d

Number of line segment.

Definition at line 164 of file fermisurfer.cpp.

Referenced by allocate_griddata(), MyFrame::button_section(), calc_section(), and draw_fermi_line().

◆ nb

int nb

◆ nbragg

int nbragg

Number of Bragg plane og 1st BZ.

Definition at line 132 of file fermisurfer.cpp.

Referenced by bragg_vert2d(), calc_2dbz(), and check_bragg().

◆ nbzl

int nbzl

The number of Lines of 1st Brillouin zone.

Definition at line 127 of file fermisurfer.cpp.

Referenced by bz_lines(), check_bragg(), and draw_bz_lines().

◆ nbzl2d

int nbzl2d

The number of Lines of 1st Brillouin zone.

Definition at line 167 of file fermisurfer.cpp.

Referenced by MyFrame::button_section(), calc_2dbz(), draw_bz_lines(), and draw_fermi_line().

◆ nequator

int* nequator

The number of equator.

Definition at line 175 of file fermisurfer.cpp.

Referenced by allocate_griddata(), draw_fermi(), equator(), and free_patch().

◆ ng

int ng[3]

Interpolated \(k\)-grids

Definition at line 107 of file fermisurfer.cpp.

Referenced by allocate_griddata(), interpol_energy(), read_bxsf(), and read_file().

◆ ng0

int ng0[3]

\(k\)-point grid in the input file

Definition at line 97 of file fermisurfer.cpp.

Referenced by allocate_griddata(), bragg_vector(), interpol_energy(), max_and_min_bz(), read_bxsf(), and read_file().

◆ nmlp

GLfloat**** nmlp

Normal vector of patchs [nb][ntri][3][3].

Definition at line 139 of file fermisurfer.cpp.

Referenced by draw_fermi(), equator(), free_patch(), max_and_min(), MyApp::OnInit(), and paint().

◆ nmlp_rot

GLfloat** nmlp_rot

Normal vector of patchs [nb][ntri*3*3].

Definition at line 142 of file fermisurfer.cpp.

Referenced by draw_fermi(), free_patch(), and MyApp::OnInit().

◆ nnl

int* nnl

The number of nodeline.

Definition at line 154 of file fermisurfer.cpp.

Referenced by allocate_griddata(), calc_nodeline(), draw_fermi(), and free_patch().

◆ nodeline

int nodeline = 0

Switch for node lines.

Definition at line 117 of file fermisurfer.cpp.

Referenced by MyFrame::check_nodeline(), draw_fermi(), and read_batch().

◆ nthreads

int nthreads

Number of OpenMP threads.

Definition at line 227 of file fermisurfer.cpp.

Referenced by calc_nodeline(), calc_section(), equator(), max_and_min(), and MyApp::OnInit().

◆ ntri

int* ntri

The number of triangle patch [nb].

Definition at line 136 of file fermisurfer.cpp.

Referenced by allocate_griddata(), calc_nodeline(), calc_section(), draw_fermi(), equator(), free_patch(), max_and_min(), and paint().

◆ patch_max

GLfloat patch_max

Max value across patch.

Definition at line 149 of file fermisurfer.cpp.

Referenced by max_and_min(), paint(), MyFrame::radiovalue_colorscale(), and read_batch().

◆ patch_min

GLfloat patch_min

Max value across patch.

Definition at line 150 of file fermisurfer.cpp.

Referenced by max_and_min(), paint(), MyFrame::radiovalue_colorscale(), and read_batch().

◆ red

GLfloat red[4] = { 1.0, 0.0, 0.0, 1.0 }

Red color code.

Definition at line 205 of file fermisurfer.cpp.

Referenced by draw_colorbar(), MyFrame::modify_band(), paint(), and MyFrame::radio_BarColor().

◆ refresh_color

int refresh_color = 1

Definition at line 240 of file fermisurfer.cpp.

Referenced by compute_patch_segment(), and MyFrame::radiovalue_colorscale().

◆ refresh_equator

int refresh_equator = 1

Definition at line 242 of file fermisurfer.cpp.

Referenced by MyFrame::checkvalue_equator(), compute_patch_segment(), and free_patch().

◆ refresh_interpol

int refresh_interpol = 0

Definition at line 238 of file fermisurfer.cpp.

Referenced by compute_patch_segment(), and MyFrame::textctrl_interpol().

◆ refresh_nodeline

int refresh_nodeline = 1

Definition at line 241 of file fermisurfer.cpp.

Referenced by compute_patch_segment(), and free_patch().

◆ refresh_patch

int refresh_patch = 1

◆ refresh_section

int refresh_section = 1

Definition at line 243 of file fermisurfer.cpp.

Referenced by compute_patch_segment(), free_patch(), and MyFrame::radiovalue_section().

◆ rgb_band

GLfloat** rgb_band

Switch for drawn bands [nb].

Definition at line 138 of file fermisurfer.cpp.

Referenced by allocate_griddata(), MyFrame::modify_band(), paint(), and MyFrame::textctrl_Band().

◆ rot

GLfloat rot[3][3]
Initial value:
= { { 1.0, 0.0, 0.0 },
{ 0.0, 1.0, 0.0 },
{ 0.0, 0.0, 1.0 } }

Rotation matrix.

Definition at line 187 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), draw_colorbar(), draw_fermi(), TestGLCanvas::OnMouseEvent(), read_batch(), and MyFrame::textctrl_view().

◆ scl

GLfloat scl = 1.0

◆ secscale

GLfloat secscale

0.0 (across \(\Gamma\)) or 1.0

Definition at line 162 of file fermisurfer.cpp.

Referenced by allocate_griddata(), bragg_vert2d(), calc_2dbz(), calc_section(), MyFrame::radiovalue_section(), and read_batch().

◆ SectionColor

GLfloat SectionColor[4] = { 0.5f, 0.5f, 0.5f, 1.0 }

Line color code.

Definition at line 210 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), and MyFrame::textctrl_Section().

◆ secvec

GLfloat secvec[3]

\(k\)-vector to define section

Definition at line 160 of file fermisurfer.cpp.

Referenced by allocate_griddata(), bragg_vert2d(), calc_2dbz(), calc_section(), draw_bz_lines(), MyFrame::radiovalue_section(), read_batch(), and set2daxis().

◆ secvec_fr

GLfloat secvec_fr[3]

\(k\)-vector to define section

Definition at line 161 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and MyFrame::radiovalue_section().

◆ shiftk

int shiftk[3]

Wherether \(k\)-grid is shifted or not.

Definition at line 98 of file fermisurfer.cpp.

Referenced by read_bxsf(), and read_file().

◆ side

GLfloat side = 1.0

Which side is lighted.

Definition at line 148 of file fermisurfer.cpp.

Referenced by draw_fermi(), MyFrame::radio_lighting(), and read_batch().

◆ skip_minmax

int skip_minmax = 0

◆ sphere_c

GLfloat sphere_c[3]

Center of wireflame sphere.

Definition at line 221 of file fermisurfer.cpp.

Referenced by MyApp::OnInit(), and MyFrame::textctrl_sphere().

◆ sphere_r

GLfloat sphere_r

Radius of wireflame sphere.

Definition at line 220 of file fermisurfer.cpp.

Referenced by MyApp::OnInit(), and MyFrame::textctrl_sphere().

◆ sphere_v

GLfloat sphere_v[190][2][3]

Vertices for wisreflame sphere.

Vertex for wireflame sphere: 10*10+10*90.

Definition at line 219 of file fermisurfer.cpp.

Referenced by draw_bz_lines(), MyApp::OnInit(), and MyFrame::textctrl_sphere().

◆ sx

GLfloat sx

Scale of mouse movement.

Definition at line 181 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), and wxBEGIN_EVENT_TABLE().

◆ sy

GLfloat sy

Scale of mouse movement.

Definition at line 182 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), and wxBEGIN_EVENT_TABLE().

◆ terminal

wxTextCtrl* terminal

◆ thetax

GLfloat thetax = 0.0

Rotation angle.

Definition at line 190 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), read_batch(), and MyFrame::textctrl_view().

◆ thetay

GLfloat thetay = 0.0

Rotation angle.

Definition at line 191 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), read_batch(), and MyFrame::textctrl_view().

◆ thetaz

GLfloat thetaz = 0.0

Rotation angle.

Definition at line 192 of file fermisurfer.cpp.

Referenced by TestGLCanvas::OnMouseEvent(), read_batch(), and MyFrame::textctrl_view().

◆ trans

GLfloat trans[3] = { 0.0, 0.0, 0.0 }

◆ vf

GLfloat***** vf

Matrix element \(\{\bf v}_{{\rm f} n k}\) [nb][ng[0]][ng[1]][ng[2]][3].

Definition at line 110 of file fermisurfer.cpp.

Referenced by allocate_griddata(), and interpol_energy().

◆ wgray

GLfloat wgray[4] = { 0.9f, 0.9f, 0.9f, 1.0 }

Gray color code.

Definition at line 199 of file fermisurfer.cpp.

Referenced by draw_colorbar(), paint(), and MyFrame::radio_BarColor().

◆ white

GLfloat white[4] = { 1.0, 1.0, 1.0, 1.0 }

White color code.

Definition at line 201 of file fermisurfer.cpp.

◆ windowx

int windowx = 1100

Definition at line 245 of file fermisurfer.cpp.

Referenced by MyApp::OnCmdLineParsed(), and MyApp::OnInit().

◆ windowy

int windowy = 850

Definition at line 246 of file fermisurfer.cpp.

Referenced by MyApp::OnCmdLineParsed(), and MyApp::OnInit().

◆ yellow

GLfloat yellow[4] = { 1.0, 1.0, 0.0, 1.0 }

Yellow color code.

Definition at line 204 of file fermisurfer.cpp.

Referenced by draw_colorbar(), MyFrame::modify_band(), paint(), and MyFrame::radio_BarColor().