3507
3507
/********************************************************************************/
3508
static gboolean goToLine(FILE* file,char* nextString)
3510
static char t[BSIZE];
3513
if(!fgets(t,BSIZE,file))break;
3514
if (strstr(t,nextString)) return TRUE;
3518
/********************************************************************************/
3519
static gboolean gl_read_geom_nbo_file(gchar *fileName)
3528
static gchar t[BSIZE];
3529
gint nAtoms, nShell, nExp;
3531
if ((!fileName) || (strcmp(fileName,"") == 0))
3533
Message(_("Sorry\n No file selected"),_("Error"),TRUE);
3537
file = FOpen(fileName, "rb");
3540
Message(_("Sorry\nI cannot open this file"),_("Error"),TRUE);
3543
if(!goToLine(file,"--------")) return FALSE;
3544
if(!fgets(t,BSIZE,file)) return FALSE;
3545
sscanf(t,"%d %d %d",&nAtoms,&nShell,&nExp);
3546
if(!goToLine(file,"--------")) return FALSE;
3549
GeomOrb=g_malloc(nAtoms*sizeof(TypeGeomOrb));
3552
tmp = get_name_file(fileName);
3553
set_status_label_info(_("File name"),tmp);
3555
set_status_label_info(_("File type"),"NBO");
3556
set_status_label_info(_("Geometry"),_("Reading"));
3560
for(k=0;k<nAtoms;k++)
3562
if(!fgets(t,BSIZE,file)) break;
3569
sscanf(t,"%d %lf %lf %lf",&z, &GeomOrb[j].C[0], &GeomOrb[j].C[1], &GeomOrb[j].C[2]);
3570
GeomOrb[j].Symb=get_symbol_using_z(z);
3571
if(uni==1) for(i=0;i<3;i++) GeomOrb[j].C[i] *= ANG_TO_BOHR;
3572
GeomOrb[j].Prop = prop_atom_get(GeomOrb[j].Symb);
3573
GeomOrb[j].partialCharge = 0;
3574
GeomOrb[j].nuclearCharge = get_atomic_number_from_symbol(GeomOrb[j].Symb);
3575
GeomOrb[j].variable = TRUE;
3581
if(k==nAtoms+ix) Ncenters = nAtoms;
3586
sprintf(t,_("Sorry, I can not read this format from '%s' file\n"),fileName);
3587
Message(t,_("Error"),TRUE);
3588
set_status_label_info(_("File name"),_("Nothing"));
3589
set_status_label_info(_("File type"),_("Nothing"));
3590
set_status_label_info(_("Mol. Orb."),_("Nothing"));
3599
for(i=0;i<Ncenters;i++)
3601
GeomOrb[i].NumType = i;
3603
Type[i].Symb=g_strdup(GeomOrb[i].Symb);
3604
Type[i].N=GetNelectrons(GeomOrb[i].Symb);
3609
reset_grid_limits();
3610
init_atomic_orbitals();
3615
/********************************************************************************/
3508
3616
static void gl_get_charges_from_aimall_file(FILE* fd,gint N)
3510
3618
guint taille=BSIZE;
3981
4089
glarea_rafresh(GLArea);
3983
4091
/********************************************************/
4092
void gl_read_nbo_file(GabeditFileChooser *SelecFile, gint response_id)
4095
if(response_id != GTK_RESPONSE_OK) return;
4096
FileName = gabedit_file_chooser_get_current_file(SelecFile);
4097
gtk_widget_hide(GTK_WIDGET(SelecFile));
4098
while( gtk_events_pending() ) gtk_main_iteration();
4100
add_objects_for_new_grid();
4101
gl_read_geom_nbo_file(FileName);
4103
if(this_is_a_new_geometry()) free_objects_all();
4104
glarea_rafresh(GLArea);
4106
/********************************************************/
3984
4107
void gl_read_last_nwchem_file(GabeditFileChooser *SelecFile, gint response_id)
3986
4109
gchar *FileName;