21 #include "StdFace_vals.hpp"    22 #include "StdFace_ModelUtil.hpp"    34   struct StdIntList *StdI
    37   int isite, jsite, isiteUC, kCell, ntransMax, nintrMax;
    40   std::complex<double> Cphase;
    46   fp = fopen(
"lattice.gp", 
"w");
    50   fprintf(stdout, 
"  @ Lattice Size & Shape\n\n");
    64   StdI->tau[0][0] = 0.0; StdI->tau[0][1] = 0.0; StdI->tau[0][2] = 0.0;
    65   StdI->tau[1][0] = 0.5; StdI->tau[1][1] = 0.0; StdI->tau[1][2] = 0.0;
    66   StdI->tau[2][0] = 0.0; StdI->tau[2][1] = 0.5; StdI->tau[2][2] = 0.0;
    70   fprintf(stdout, 
"\n  @ Hamiltonian \n\n");
    76   if (strcmp(StdI->model, 
"spin") == 0 ) {
   131     if (strcmp(StdI->model, 
"hubbard") == 0 ) {
   141   fprintf(stdout, 
"\n  @ Numerical conditions\n\n");
   146   StdI->nsite = StdI->NsiteUC * StdI->NCell;
   147   if (strcmp(StdI->model, 
"kondo") == 0 ) StdI->nsite *= 2;
   148   StdI->locspinflag = (
int *)malloc(
sizeof(
int) * StdI->nsite);
   150   if (strcmp(StdI->model, 
"spin") == 0 )
   151     for (isite = 0; isite < StdI->nsite; isite++) StdI->locspinflag[isite] = StdI->S2;
   152   else if (strcmp(StdI->model, 
"hubbard") == 0 )
   153     for (isite = 0; isite < StdI->nsite; isite++) StdI->locspinflag[isite] = 0;
   155     for (iL = 0; iL < StdI->nsite / 2; iL++) {
   156       StdI->locspinflag[iL] = StdI->S2;
   157       StdI->locspinflag[iL + StdI->nsite / 2] = 0;
   162   if (strcmp(StdI->model, 
"spin") == 0 ) {
   163     ntransMax = StdI->nsite * (StdI->S2 + 1 + 2 * StdI->S2);
   164     nintrMax = StdI->NCell * (StdI->NsiteUC + 6 + 6)
   165       * (3 * StdI->S2 + 1) * (3 * StdI->S2 + 1);
   168     ntransMax = StdI->NCell * 2 * (2 * StdI->NsiteUC + 12 + 12);
   169     nintrMax = StdI->NCell * (StdI->NsiteUC + 4 * (6 + 6));
   171     if (strcmp(StdI->model, 
"kondo") == 0) {
   172       ntransMax += StdI->nsite / 2 * (StdI->S2 + 1 + 2 * StdI->S2);
   173       nintrMax += StdI->nsite / 2 * (3 * StdI->S2 + 1) * (3 * StdI->S2 + 1);
   181   for (kCell = 0; kCell < StdI->NCell; kCell++) {
   183     iW = StdI->Cell[kCell][0];
   184     iL = StdI->Cell[kCell][1];
   188     isite = StdI->NsiteUC * kCell;
   189     if (strcmp(StdI->model, 
"kondo") == 0 ) isite += StdI->nsite / 2;
   191     if (strcmp(StdI->model, 
"spin") == 0 ) {
   192       for (isiteUC = 0; isiteUC < StdI->NsiteUC; isiteUC++) {
   194         StdFace_GeneralJ(StdI, StdI->D, StdI->S2, StdI->S2, isite + isiteUC, isite + isiteUC);
   198       for (isiteUC = 0; isiteUC < StdI->NsiteUC; isiteUC++)
   201       if (strcmp(StdI->model, 
"kondo") == 0 ) {
   202         jsite = StdI->NsiteUC * kCell;
   203         for (isiteUC = 0; isiteUC < StdI->NsiteUC; isiteUC++) {
   204           StdFace_GeneralJ(StdI, StdI->J, 1, StdI->S2, isite + isiteUC, jsite + isiteUC);
   212     StdFace_SetLabel(StdI, fp, iW, iL, 0, 0, 0, 1, &isite, &jsite, 1, &Cphase, dR);
   214     if (strcmp(StdI->model, 
"spin") == 0 ) {
   224     StdFace_SetLabel(StdI, fp, iW, iL, 0, 0, 0, 2, &isite, &jsite, 1, &Cphase, dR);
   226     if (strcmp(StdI->model, 
"spin") == 0 ) {
   236     StdFace_SetLabel(StdI, fp, iW, iL, 0, 0, 1, 2, &isite, &jsite, 1, &Cphase, dR);
   238     if (strcmp(StdI->model, 
"spin") == 0 ) {
   248     StdFace_SetLabel(StdI, fp, iW, iL, 1, 0, 1, 0, &isite, &jsite, 1, &Cphase, dR);
   250     if (strcmp(StdI->model, 
"spin") == 0 ) {
   260     StdFace_SetLabel(StdI, fp, iW, iL, 0, 1, 2, 0, &isite, &jsite, 1, &Cphase, dR);
   262     if (strcmp(StdI->model, 
"spin") == 0 ) {
   272     StdFace_SetLabel(StdI, fp, iW, iL, 1, - 1, 1, 2, &isite, &jsite, 1, &Cphase, dR);
   274     if (strcmp(StdI->model, 
"spin") == 0 ) {
   284     StdFace_SetLabel(StdI, fp, iW, iL, 1, 0, 2, 0, &isite, &jsite, 2, &Cphase, dR);
   286     if (strcmp(StdI->model, 
"spin") == 0 ) {
   296     StdFace_SetLabel(StdI, fp, iW, iL, 1, 0, 1, 2, &isite, &jsite, 2, &Cphase, dR);
   298     if (strcmp(StdI->model, 
"spin") == 0 ) {
   308     StdFace_SetLabel(StdI, fp, iW, iL, 0, 1, 1, 0, &isite, &jsite, 2, &Cphase, dR);
   310     if (strcmp(StdI->model, 
"spin") == 0 ) {
   320     StdFace_SetLabel(StdI, fp, iW, iL, 0, 1, 2, 1, &isite, &jsite, 2, &Cphase, dR);
   322     if (strcmp(StdI->model, 
"spin") == 0 ) {
   332     StdFace_SetLabel(StdI, fp, iW, iL, 1, - 1, 0, 2, &isite, &jsite, 2, &Cphase, dR);
   334     if (strcmp(StdI->model, 
"spin") == 0 ) {
   344     StdFace_SetLabel(StdI, fp, iW, iL, - 1, 1, 0, 1, &isite, &jsite, 2, &Cphase, dR);
   346     if (strcmp(StdI->model, 
"spin") == 0 ) {
   355   fprintf(fp, 
"plot \'-\' w d lc 7\n0.0 0.0\nend\npause -1\n");
   369   int isite, ipivot, i1, i2;
   373   if (StdI->box[0][1] != 0 || StdI->box[1][0] != 0) {
   374     fprintf(stdout, 
"\nERROR ! (a0W, a0L, a1W, a1L) can not be used with SpinGCBoost.\n\n");
   377   for (i1 = 0; i1 < 3; i1++) {
   378     for (i2 = 0; i2 < 3; i2++) {
   379       if (fabs(StdI->Jp[i1][i2]) > 1.0e-8) {
   380         fprintf(stdout, 
"\nERROR ! J' can not be used with SpinGCBoost.\n\n");
   388   fp = fopen(
"boost.def", 
"w");
   389   fprintf(fp, 
"# Magnetic field\n");
   390   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   391     -0.5 * StdI->Gamma, 0.0, -0.5 * StdI->h);
   395   fprintf(fp, 
"%d  # Number of type of J\n", 3);
   396   fprintf(fp, 
"# J 0\n");
   397   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   398     0.25 * StdI->J0[0][0], 0.25 * StdI->J0[0][1], 0.25 * StdI->J0[0][2]);
   399   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   400     0.25 * StdI->J0[0][1], 0.25 * StdI->J0[1][1], 0.25 * StdI->J0[1][2]);
   401   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   402     0.25 * StdI->J0[0][2], 0.25 * StdI->J0[1][2], 0.25 * StdI->J0[2][2]);
   403   fprintf(fp, 
"# J 1\n");
   404   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   405     0.25 * StdI->J1[0][0], 0.25 * StdI->J1[0][1], 0.25 * StdI->J1[0][2]);
   406   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   407     0.25 * StdI->J1[0][1], 0.25 * StdI->J1[1][1], 0.25 * StdI->J1[1][2]);
   408   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   409     0.25 * StdI->J1[0][2], 0.25 * StdI->J1[1][2], 0.25 * StdI->J1[2][2]);
   410   fprintf(fp, 
"# J 2\n");
   411   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   412     0.25 * StdI->J2[0][0], 0.25 * StdI->J2[0][1], 0.25 * StdI->J2[0][2]);
   413   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   414     0.25 * StdI->J2[0][1], 0.25 * StdI->J2[1][1], 0.25 * StdI->J2[1][2]);
   415   fprintf(fp, 
"%25.15e %25.15e %25.15e\n",
   416     0.25 * StdI->J2[0][2], 0.25 * StdI->J2[1][2], 0.25 * StdI->J2[2][2]);  
   420     fprintf(stdout, 
"\n ERROR! S2 must be 1 in Boost. \n\n");
   423   StdI->ishift_nspin = 3;
   425     fprintf(stdout, 
"\n ERROR! L < 2 \n\n");
   428   if (StdI->W % StdI->ishift_nspin != 0) {
   429     fprintf(stdout, 
"\n ERROR! W %% %d != 0 \n\n", StdI->ishift_nspin);
   434     fprintf(stdout, 
"DEBUG: W != 3\n");
   438   fprintf(fp, 
"# W0  R0  StdI->num_pivot  StdI->ishift_nspin\n");
   439   fprintf(fp, 
"%d %d %d %d\n", StdI->W, StdI->L, StdI->num_pivot, StdI->ishift_nspin);
   441   StdI->list_6spin_star = (
int **)malloc(
sizeof(
int*) * StdI->num_pivot);
   442   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   443     StdI->list_6spin_star[ipivot] = (
int *)malloc(
sizeof(
int) * 7);
   446   StdI->list_6spin_star[0][0] = 1; 
   447   StdI->list_6spin_star[0][1] = 1;
   448   StdI->list_6spin_star[0][2] = 1;
   449   StdI->list_6spin_star[0][3] = 1;
   450   StdI->list_6spin_star[0][4] = 4;
   451   StdI->list_6spin_star[0][5] = 2;
   452   StdI->list_6spin_star[0][6] = -1; 
   454   StdI->list_6spin_star[1][0] = 6; 
   455   StdI->list_6spin_star[1][1] = 1;
   456   StdI->list_6spin_star[1][2] = 1;
   457   StdI->list_6spin_star[1][3] = 1;
   458   StdI->list_6spin_star[1][4] = 6;
   459   StdI->list_6spin_star[1][5] = 7;
   460   StdI->list_6spin_star[1][6] = 1; 
   462   StdI->list_6spin_star[2][0] = 6; 
   463   StdI->list_6spin_star[2][1] = 1;
   464   StdI->list_6spin_star[2][2] = 1;
   465   StdI->list_6spin_star[2][3] = 1;
   466   StdI->list_6spin_star[2][4] = 4;
   467   StdI->list_6spin_star[2][5] = 2;
   468   StdI->list_6spin_star[2][6] = 1; 
   470   StdI->list_6spin_star[3][0] = 5; 
   471   StdI->list_6spin_star[3][1] = 1;
   472   StdI->list_6spin_star[3][2] = 1;
   473   StdI->list_6spin_star[3][3] = 1;
   474   StdI->list_6spin_star[3][4] = 4;
   475   StdI->list_6spin_star[3][5] = 2;
   476   StdI->list_6spin_star[3][6] = 1; 
   478   fprintf(fp, 
"# StdI->list_6spin_star\n");
   479   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   480     fprintf(fp, 
"# pivot %d\n", ipivot);
   481     for (isite = 0; isite < 7; isite++) {
   482       fprintf(fp, 
"%d ", StdI->list_6spin_star[ipivot][isite]);
   487   StdI->list_6spin_pair = (
int ***)malloc(
sizeof(
int**) * StdI->num_pivot);
   488   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   489     StdI->list_6spin_pair[ipivot] = (
int **)malloc(
sizeof(
int*) * 7);
   490     for (isite = 0; isite < 7; isite++) {
   491       StdI->list_6spin_pair[ipivot][isite] = (
int *)malloc(
sizeof(
int) * StdI->list_6spin_star[ipivot][0]);
   495   StdI->list_6spin_pair[0][0][0] = 0; 
   496   StdI->list_6spin_pair[0][1][0] = 4; 
   497   StdI->list_6spin_pair[0][2][0] = 1; 
   498   StdI->list_6spin_pair[0][3][0] = 2; 
   499   StdI->list_6spin_pair[0][4][0] = 3; 
   500   StdI->list_6spin_pair[0][5][0] = 5; 
   501   StdI->list_6spin_pair[0][6][0] = 3; 
   503   StdI->list_6spin_pair[1][0][0] = 0;
   504   StdI->list_6spin_pair[1][1][0] = 1;
   505   StdI->list_6spin_pair[1][2][0] = 2;
   506   StdI->list_6spin_pair[1][3][0] = 3;
   507   StdI->list_6spin_pair[1][4][0] = 4;
   508   StdI->list_6spin_pair[1][5][0] = 5;
   509   StdI->list_6spin_pair[1][6][0] = 3; 
   510   StdI->list_6spin_pair[1][0][1] = 1;
   511   StdI->list_6spin_pair[1][1][1] = 2;
   512   StdI->list_6spin_pair[1][2][1] = 0;
   513   StdI->list_6spin_pair[1][3][1] = 3;
   514   StdI->list_6spin_pair[1][4][1] = 4;
   515   StdI->list_6spin_pair[1][5][1] = 5;
   516   StdI->list_6spin_pair[1][6][1] = 1; 
   517   StdI->list_6spin_pair[1][0][2] = 0;
   518   StdI->list_6spin_pair[1][1][2] = 2;
   519   StdI->list_6spin_pair[1][2][2] = 1;
   520   StdI->list_6spin_pair[1][3][2] = 3;
   521   StdI->list_6spin_pair[1][4][2] = 4;
   522   StdI->list_6spin_pair[1][5][2] = 5;
   523   StdI->list_6spin_pair[1][6][2] = 2; 
   524   StdI->list_6spin_pair[1][0][3] = 1;
   525   StdI->list_6spin_pair[1][1][3] = 3;
   526   StdI->list_6spin_pair[1][2][3] = 0;
   527   StdI->list_6spin_pair[1][3][3] = 2;
   528   StdI->list_6spin_pair[1][4][3] = 4;
   529   StdI->list_6spin_pair[1][5][3] = 5;
   530   StdI->list_6spin_pair[1][6][3] = 3; 
   531   StdI->list_6spin_pair[1][0][4] = 2;
   532   StdI->list_6spin_pair[1][1][4] = 4;
   533   StdI->list_6spin_pair[1][2][4] = 0;
   534   StdI->list_6spin_pair[1][3][4] = 1;
   535   StdI->list_6spin_pair[1][4][4] = 3;
   536   StdI->list_6spin_pair[1][5][4] = 5;
   537   StdI->list_6spin_pair[1][6][4] = 2; 
   538   StdI->list_6spin_pair[1][0][5] = 2;
   539   StdI->list_6spin_pair[1][1][5] = 5;
   540   StdI->list_6spin_pair[1][2][5] = 0;
   541   StdI->list_6spin_pair[1][3][5] = 1;
   542   StdI->list_6spin_pair[1][4][5] = 3;
   543   StdI->list_6spin_pair[1][5][5] = 4;
   544   StdI->list_6spin_pair[1][6][5] = 1; 
   546   StdI->list_6spin_pair[2][0][0] = 0;
   547   StdI->list_6spin_pair[2][1][0] = 1;
   548   StdI->list_6spin_pair[2][2][0] = 2;
   549   StdI->list_6spin_pair[2][3][0] = 3;
   550   StdI->list_6spin_pair[2][4][0] = 4;
   551   StdI->list_6spin_pair[2][5][0] = 5;
   552   StdI->list_6spin_pair[2][6][0] = 3; 
   553   StdI->list_6spin_pair[2][0][1] = 1;
   554   StdI->list_6spin_pair[2][1][1] = 2;
   555   StdI->list_6spin_pair[2][2][1] = 0;
   556   StdI->list_6spin_pair[2][3][1] = 3;
   557   StdI->list_6spin_pair[2][4][1] = 4;
   558   StdI->list_6spin_pair[2][5][1] = 5;
   559   StdI->list_6spin_pair[2][6][1] = 1; 
   560   StdI->list_6spin_pair[2][0][2] = 0;
   561   StdI->list_6spin_pair[2][1][2] = 2;
   562   StdI->list_6spin_pair[2][2][2] = 1;
   563   StdI->list_6spin_pair[2][3][2] = 3;
   564   StdI->list_6spin_pair[2][4][2] = 4;
   565   StdI->list_6spin_pair[2][5][2] = 5;
   566   StdI->list_6spin_pair[2][6][2] = 2; 
   567   StdI->list_6spin_pair[2][0][3] = 1;
   568   StdI->list_6spin_pair[2][1][3] = 3;
   569   StdI->list_6spin_pair[2][2][3] = 0;
   570   StdI->list_6spin_pair[2][3][3] = 2;
   571   StdI->list_6spin_pair[2][4][3] = 4;
   572   StdI->list_6spin_pair[2][5][3] = 5;
   573   StdI->list_6spin_pair[2][6][3] = 3; 
   574   StdI->list_6spin_pair[2][0][4] = 2;
   575   StdI->list_6spin_pair[2][1][4] = 5;
   576   StdI->list_6spin_pair[2][2][4] = 0;
   577   StdI->list_6spin_pair[2][3][4] = 1;
   578   StdI->list_6spin_pair[2][4][4] = 3;
   579   StdI->list_6spin_pair[2][5][4] = 4;
   580   StdI->list_6spin_pair[2][6][4] = 2; 
   581   StdI->list_6spin_pair[2][0][5] = 2;
   582   StdI->list_6spin_pair[2][1][5] = 4;
   583   StdI->list_6spin_pair[2][2][5] = 0;
   584   StdI->list_6spin_pair[2][3][5] = 1;
   585   StdI->list_6spin_pair[2][4][5] = 3;
   586   StdI->list_6spin_pair[2][5][5] = 5;
   587   StdI->list_6spin_pair[2][6][5] = 1; 
   589   StdI->list_6spin_pair[3][0][0] = 0;
   590   StdI->list_6spin_pair[3][1][0] = 1;
   591   StdI->list_6spin_pair[3][2][0] = 2;
   592   StdI->list_6spin_pair[3][3][0] = 3;
   593   StdI->list_6spin_pair[3][4][0] = 4;
   594   StdI->list_6spin_pair[3][5][0] = 5;
   595   StdI->list_6spin_pair[3][6][0] = 3; 
   596   StdI->list_6spin_pair[3][0][1] = 1;
   597   StdI->list_6spin_pair[3][1][1] = 2;
   598   StdI->list_6spin_pair[3][2][1] = 0;
   599   StdI->list_6spin_pair[3][3][1] = 3;
   600   StdI->list_6spin_pair[3][4][1] = 4;
   601   StdI->list_6spin_pair[3][5][1] = 5;
   602   StdI->list_6spin_pair[3][6][1] = 1; 
   603   StdI->list_6spin_pair[3][0][2] = 0;
   604   StdI->list_6spin_pair[3][1][2] = 2;
   605   StdI->list_6spin_pair[3][2][2] = 1;
   606   StdI->list_6spin_pair[3][3][2] = 3;
   607   StdI->list_6spin_pair[3][4][2] = 4;
   608   StdI->list_6spin_pair[3][5][2] = 5;
   609   StdI->list_6spin_pair[3][6][2] = 2; 
   610   StdI->list_6spin_pair[3][0][3] = 2;
   611   StdI->list_6spin_pair[3][1][3] = 5;
   612   StdI->list_6spin_pair[3][2][3] = 0;
   613   StdI->list_6spin_pair[3][3][3] = 1;
   614   StdI->list_6spin_pair[3][4][3] = 3;
   615   StdI->list_6spin_pair[3][5][3] = 4;
   616   StdI->list_6spin_pair[3][6][3] = 2; 
   617   StdI->list_6spin_pair[3][0][4] = 2;
   618   StdI->list_6spin_pair[3][1][4] = 4;
   619   StdI->list_6spin_pair[3][2][4] = 0;
   620   StdI->list_6spin_pair[3][3][4] = 1;
   621   StdI->list_6spin_pair[3][4][4] = 3;
   622   StdI->list_6spin_pair[3][5][4] = 5;
   623   StdI->list_6spin_pair[3][6][4] = 1; 
   625   fprintf(fp, 
"# StdI->list_6spin_pair\n");
   626   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   627     fprintf(fp, 
"# pivot %d\n", ipivot);
   628     for (kintr = 0; kintr < StdI->list_6spin_star[ipivot][0]; kintr++) {
   629       for (isite = 0; isite < 7; isite++) {
   630         fprintf(fp, 
"%d ", StdI->list_6spin_pair[ipivot][isite][kintr]);
   637   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   638     free(StdI->list_6spin_star[ipivot]);
   640   free(StdI->list_6spin_star);
   642   for (ipivot = 0; ipivot < StdI->num_pivot; ipivot++) {
   643     for (isite = 0; isite < 7; isite++) {
   644       free(StdI->list_6spin_pair[ipivot][isite]);
   646     free(StdI->list_6spin_pair[ipivot]);
   648   free(StdI->list_6spin_pair);
 void StdFace_InputHopp(std::complex< double > t, std::complex< double > *t0, const char *t0name)
Input hopping integral from the input file, if it is not specified, use the default value(0 or the is...
 
void StdFace_SetLabel(struct StdIntList *StdI, FILE *fp, int iW, int iL, int diW, int diL, int isiteUC, int jsiteUC, int *isite, int *jsite, int connect, std::complex< double > *Cphase, double *dR)
Set Label in the gnuplot display (Only used in 2D system) 
 
void StdFace_Coulomb(struct StdIntList *StdI, double V, int isite, int jsite)
Add onsite/offsite Coulomb term to the list StdIntList::Cinter and StdIntList::CinterIndx, and increase the number of them (StdIntList::NCinter). 
 
void StdFace_GeneralJ(struct StdIntList *StdI, double J[3][3], int Si2, int Sj2, int isite, int jsite)
Treat J as a 3*3 matrix [(6S + 1)*(6S' + 1) interactions]. 
 
void StdFace_InputSpin(double Jp[3][3], double JpAll, const char *Jpname)
Input spin-spin interaction other than nearest-neighbor. 
 
void StdFace_PrintVal_d(const char *valname, double *val, double val0)
Print a valiable (real) read from the input file if it is not specified in the input file (=NaN)...
 
void StdFace_exit(int errorcode)
MPI Abortation wrapper. 
 
void StdFace_Kagome_Boost(struct StdIntList *StdI)
 
void StdFace_Hopping(struct StdIntList *StdI, std::complex< double > trans0, int isite, int jsite, double *dR)
Add Hopping for the both spin. 
 
void StdFace_NotUsed_c(const char *valname, std::complex< double > val)
Stop HPhi if a variable (complex) not used is specified in the input file (!=NaN). 
 
void StdFace_HubbardLocal(struct StdIntList *StdI, double mu0, double h0, double Gamma0, double U0, int isite)
Add intra-Coulomb, magnetic field, chemical potential for the itenerant electron. ...
 
void StdFace_NotUsed_J(const char *valname, double JAll, double J[3][3])
Stop HPhi if variables (real) not used is specified in the input file (!=NaN). 
 
void StdFace_MagField(struct StdIntList *StdI, int S2, double h, double Gamma, int isite)
Add longitudinal and transvars magnetic field to the list. 
 
void StdFace_Kagome(struct StdIntList *StdI)
Setup a Hamiltonian for the Kagome lattice. 
 
void StdFace_PrintGeometry(struct StdIntList *StdI)
Print geometry of sites for the pos-process of correlation function. 
 
void StdFace_InputCoulombV(double V, double *V0, const char *V0name)
Input off-site Coulomb interaction from the input file, if it is not specified, use the default value...
 
void StdFace_MallocInteractions(struct StdIntList *StdI, int ntransMax, int nintrMax)
Malloc Arrays for interactions. 
 
void StdFace_NotUsed_i(const char *valname, int val)
Stop HPhi if a variable (integer) not used is specified in the input file (!=2147483647, the upper limt of Int). 
 
void StdFace_PrintVal_i(const char *valname, int *val, int val0)
Print a valiable (integer) read from the input file if it is not specified in the input file (=214748...
 
void StdFace_InitSite(struct StdIntList *StdI, FILE *fp, int dim)
Initialize the super-cell where simulation is performed. 
 
void StdFace_InputSpinNN(double J[3][3], double JAll, double J0[3][3], double J0All, const char *J0name)
Input nearest-neighbor spin-spin interaction. 
 
void StdFace_NotUsed_d(const char *valname, double val)
Stop HPhi if a variable (real) not used is specified in the input file (!=NaN).