Thursday, 13 February 2014

Read Ocean Current Data from NetCDF File in Matlab

Thursday, 13 February 2014 | by Riza | | 4 comments

Before create a script, make sure your Matlab has integrated with NetCDF toolbox, if don't have, you can search in google or any search engine to get toolbox, but in this post I use nctoolbox, for further information such as installation, guide and download nctoolbox open this site.
  • Sea current data used here is NetCDF file, for example I use current data from Ocean Surface Current Analyses - Real time (OSCAR) NOAA which can be downloaded here.
  • Download GSHHS shapefile here as a coastline.
  • Open Matlab and use this script.
clc
clear all
close all

uc=ncgeodataset('arusindian.nc');

lat=uc.data('lat');
lon=uc.data('lon');
for i=find(lon>180):length(lon)
    lon(i)=lon(i)-360;
end

time=uc.time('time');%result 754324
tgl=datestr(time);

north =   max(lat);  % batas utara
south =   min(lat);  % batas selatan
west  =   min(lon);  % batas barat
east  =   max(lon);  % batas timur

s=gshhs('gshhs_l.b',[double(south) double(north)], [double(west) double(east)]);

    
arus_u=uc{'u'}(1,1,:,:);
arus_u=reshape(arus_u,size(arus_u,3),size(arus_u,4));

arus_v=uc{'v'}(1,1,:,:);
arus_v=reshape(arus_v,size(arus_v,3),size(arus_v,4));

dx=0.1;
[lon_r,lat_r]=meshgrid(west:dx:east+2,south:dx:north+2);
ucur=interp2(lon,lat,arus_u,lon_r,lat_r,'cubic'); 
vcur=interp2(lon,lat,arus_v,lon_r,lat_r,'cubic');

da=1.7;
[lon_a,lat_a]=meshgrid(west:da:east,south:da:north);
ucura=interp2(lon,lat,arus_u,lon_a,lat_a,'cubic');
vcura=interp2(lon,lat,arus_v,lon_a,lat_a,'cubic');

mag=sqrt(ucur.^2+vcur.^2);

quiver(lon_a,lat_a,ucura,vcura,'k','LineWidth',1.13);
hold on
pcolorjw(lon_r,lat_r,mag);
geoshow(s,'facecolor',[0 0 0]);
z=colorbar;
set(get(z,'ylabel'),'String','Speed (Knots)','fontweight','bold');

axis equal
axis([west east south north]);
caxis([0 1])
xlabel('Longitude','fontweight','bold');
ylabel('Latitude','fontweight','bold');
title(['Arus Muka Laut Pada ' tgl(1,:)],'fontweight','bold');
set(gcf,'renderer','zbuffer','paperpositionmode','auto');

here some sample I get,






Wednesday, 12 February 2014

Read Wind Data from NetCDF File in Matlab

Wednesday, 12 February 2014 | by Riza | | 3 comments

The steps similar with previous post about how to read SST file ......

Before create a script, make sure your Matlab has integrated with NetCDF toolbox, if don't have, you can search in google or any search engine to get toolbox, but in this post I use nctoolbox, for further information such as installation, guide and download nctoolbox open this site.
  • Wind data used here are data from EMCWF which can be downloaded here.
  • Download coastline data, you can use GSHHS or Coastline extractor from NOAA here,  both Matlab Script is a bit different, if you use GSHHS, the script to show coastline is similar with previous post, so in here I use coastline from Coastline extractor. 
  • Open Matlab and use this script.
clc
clear all
close all

coast_line=load('korea-japan.dat');

north =   max(coast_line(:,2));  
south =   min(coast_line(:,2));  
west  =   min(coast_line(:,1));  
east  =   max(coast_line(:,1));  

nc=ncgeodataset('korea-japan-angin.nc');

lat=nc.data('latitude'); 
lon=nc.data('longitude');

tgl=nc.time('time'); 
date=datestr(tgl); 

v=nc{'v10'}(1,:,:);
v=reshape(v,size(v,2),size(v,3)); 
u=nc{'u10'}(1,:,:);
u=reshape(u,size(u,2),size(u,3));
        
dx_r=0.5;       
[lon_x,lat_x]=meshgrid(west:dx_r:east+2,south:dx_r:north+2);

u_wind_x=interp2(lon,lat,u,lon_x,lat_x,'spline');       
v_wind_x=interp2(lon,lat,v,lon_x,lat_x,'spline');

u_mag=sqrt(u_wind_x.^2+v_wind_x.^2);

pcolorjw(lon_x,lat_x,u_mag);shading('interp')
hold on
quiver(lon_x,lat_x,u_wind_x,v_wind_x,'k','Linewidth',1.2);
plot(coast_line(:,1),coast_line(:,2),'k','LineWidth',1.2)
axis equal
axis([min(coast_line(:,1)) max(coast_line(:,1)) min(coast_line(:,2)) max(coast_line(:,2))])
caxis([1 10])
     
h=colorbar;
set(get(h,'title'),'String','v (m/s)','FontWeight','Bold');
title(['Kecepatan Angin Pada ' date(1,:)],'FontWeight','Bold'); 
set(gcf,'PaperPositionMode','auto');    

Here some sample I have,





Refference
agusset.files.wordpress.com/2008/02/modul_membaca_netcdf.pdf‎

Tuesday, 11 February 2014

Read Sea Surface Temperature (SST) Data from NetCDF File in Matlab

Tuesday, 11 February 2014 | by Riza | | 2 comments

It's simple, just follow this step.....

Before create a script, make sure your Matlab has integrated with NetCDF toolbox, if don't have, you can search in google or any search engine to get toolbox, but in this post I use nctoolbox, for further information such as installation, guide and download nctoolbox open this site.
  • SST file used here is NetCDF file, for example I use SST data from Earth System Research Laboratory (ESRL) NOAA which can be downloaded here.
  • Download GSHHS Shapefile here as a coastline.
  • Open Matlab and use this script.
clc
clear all
close all

utara=7;
selatan=-11;
barat=95;
timur=140;

negara=gshhs('gshhs_l.b',[selatan utara],[barat timur]);

dt=ncgeodataset('sst.mnmean.nc');

lon=dt.data('lon');
lat=dt.data('lat');
time=dt.data('time');
tgl=datestr(dt.time('time'));

for i=find(lon>180):length(lon)
    lon(i)=lon(i)-360;
end

sst=dt{'sst'}(length(time),:,:);
sst=reshape(sst,size(sst,2),size(sst,3));

dx=1;
[lon_r,lat_r]=meshgrid(barat:dx:timur+2,selatan:dx:utara+2);
sst_x=interp2(lon,lat,sst,lon_r,lat_r,'spline');
pcolorjw(lon_r,lat_r,sst_x); shading interp;
hold on
geoshow (negara,'FaceColor',[.1 .7 .1]);
level=[negara.Level];
geoshow(negara(level==2),'Facecolor',[0 0 1]);

axis equal
axis([barat timur selatan utara])
%caxis([25 30])
title(['Suhu Permukaan Laut Pada ' tgl(length(time),:)],'FontWeight','Bold');
xlabel('Longitude','FontWeight','Bold');
ylabel('Latitude','FontWeight','Bold');

h=colorbar;
set(get(h,'title'),'String','Suhu (^{\circ}C)','FontWeight','Bold');
set(gcf,'PaperPositionmode','auto');

here some sample I get,






Monday, 10 February 2014

ArcGIS for Ocean : How to Make Base Map in ArcMap (Part 2)

Monday, 10 February 2014 | by Riza | , | No comments

Before continue,  please read this post : ArcGIS for Ocean : How to Make Base Map in ArcMap (Part 1)

Ok lets continue to the next step.

After put the data in ArcCatalog 10.1, open ArcMap 10.1. In the left side, you will see Table of Contents box, right click Layers and choose Add Data. Add the data downloaded in folder made previously. Add coastlines in GSHHS_shp folder and choose full resolution in h folder and then add GSHHS_h_L1 file. Because I want to add province boundaries in this map, so I add administrative boundaries IDN_adm1. Add EZZ data from folder, choose World_EEZ_v7_2012_HR.shp because I only need EZZ as maritime boundaries.


World EZZ layer added previously provides all EZZ country in the world, to show only Indonesia EZZ, right click World EZZ layer and click Properties, in Symbology tab menu click Categories > Unique Values in right box, in Value Field column search Country and click Add All Values, remove all country except Indonesia, double click and choose Hollow to change Indonesia colour be transparency, then uncheck <all other values>, and click OK.


You'll find like this


Add Total sediments thickness of the world ocean data, this data has E00 file type, this type do not show in ArcMap, so we use Input Interchange File. For this case use ArcToolbox, find and expand Conversion Tools then expand To Coverage Tools and open Import From E00.


Fill Input Interchange File column with sediment data. Output folder and output name column fill automatically, but you can change if you want. Then click OK

Wait until converting process finish.

After finish, add this output sediment data in to layer in Table of Contents box.


Ok finish, you can save this file or if this project want to print out, you can use Layout view and give another annotation, such as title etc.


Sunday, 9 February 2014

ArcGIS for Ocean : How to Make Base Map in ArcMap (Part 1)

Sunday, 9 February 2014 | by Riza | , | No comments

In this post, I will describe how to make base map in ArcMap for oceanography purpose. This base map is a map consist of coastlines; administrative boundaries, rivers and road of the country; maritime boundaries; and total sediments thickness of the world ocean; You can add any data such as bathymetry, SST etc, but in this post I only use data mentioned previously. You need to install and running ArcMap and ArcCatalog, in this excercise I use ArcMap 10.1 (ArcView) and ArcCatalog 10.1. Before create base map we need some resources data which will be described below. 

Coastlines : GSHHG 

The used coastlines is GSHHG data. GSHHG (Global Self-consistent, Hierarchical, High-resolution Geography Database, fromerly is GSHHS or Global Self-consistent, Hierarchical, High-resolution Shoreline Database) is a high-resolution shoreline data set from three data bases (the CIA world database WDBII, the World Vector Shoreline database and Atlas of the Cryosphere database) in the public domain. The data have undergone extensive processing and are free of internal inconsistencies such as erratic points and crossing segments. The WVS is basis for shorelines except for Antarctica while the WDBII is the basis for lakes, although there are instances where differences in coastline representations necessitated adding WDBII islands to GSHHG. The WDBII source also provides all political borders and rivers. GSHHG has two different file format, ESRI Shapefile and Binary file. 

GSHHG is developed and maintained by SOEST and NOAA. GSHHG have five different geography data, they are, 
  • full resolution: Original (full) data resolution. 
  • high resolution: About 80 % reduction in size and quality. 
  • intermediate resolution: Another ~80 % reduction. 
  • low resolution: Another ~80 % reduction. 
  • crude resolution: Another ~80 % reduction 
For futher information and download data, you can open here from SOEST website, for ArcGIS use GSHHG in ESRI shapefile format. The highest resolution coastlines is GSHHS _f_L1.shp and I use this in this excercise. 

Administrative boundaries, rivers and road of the country : DIVA-GIS 

DIVA-GIS provides high-resolution spatial data of administrative boundaries, Inland water, roads, railroads, climate, population, etc. This spatial data provides in country level and has shapefile format. Open DIVA sites here to download data and further infromation. Select Country and Subject then click OK to download data, in here I use administrative data of Indonesia. The administrative data has three shapefiles such as adm0 (country boundaries), adm1 (province boundaries) and adm2 (regency boundaries). Select and download other subject of roads and rivers. 

Maritime Boundaries : Marine Region 

Marine Regions is a standard list of marine georeferenced place names and areas. Marine Regions is an integration of the VLIMAR Gazetteer and the VLIZ Maritime Boundaries Geodatabase. It integrates and serves geographic information from the VLIMAR Gazetteer and the MARBOUND database and proposes a standard of marine georeferenced locations, boundaries and regions. Click download menu, you’ll find data such as Exclusive Economic Zones Boundaries (EEZ), IHO Sea Areas,Marineregions: intersect of EEZ's and IHO areas, Marine and land zones: the union of world country boundaries and EEZ's, Marine Heritage Sites, FAO Fishing Areas, Large Marine Ecosystems of the World, etc. Choose and download EEZ data here

Total sediments thickness of the world ocean : NGDC

A digital total-sediment-thickness database for the world's oceans and marginal seas is high-resolution data gridded with a grid spacing of 5 arc-minutes by 5 arc-minutes, this data compiled by the NOAA National Geophysical Data Center (NGDC). Download data here, select data for ArcGIS file. 

After download all data needed, extract in one folder. Open ArcCatalog 10.1. On the left side find Folder Connections, right click and select Folder connections, navigate to extracted folder data. 


Next : ArcGIS for Ocean : How to Make Base Map in ArcMap (Part 2)

Thursday, 6 February 2014

Create Bathymetry Map in Matlab from xyz Data

Thursday, 6 February 2014 | by Riza | , | 41 comments

Matlab is a high-level computing language. There are many purpose using this program. In this post, I will describe how to make bathymetry map from xyz data in Matlab. Main idea of the process is only make x data, y data and z data to be a grid because of use surf command, so simple.

OK lets start .....

Before make a Matlab script, you must have xyz data, as an example I use data from  ETOPO 1 National Geophysical Data Center (NGDC) NOAA, you can download here. Select your area of interest and choose xyz data as an output format.

Steps in Matlab :
  • Load your xyz data.
  • x data is longitude, y data is latitude and z data is depth.
  • Use unique command for x data and y data.
lon = unique(yourdata(:,1));
lat = unique(yourdata(:,2));
  • Make a grid from lon and lat data
[LAT LON]=meshgrid(lat,lon);
  • Make z data as a grid using this command.
for n=1:length(yourdata)
   ilon = find(lon==yourdata(n,1));
   ilat = find(lat==yourdata(n,2));
   depth(ilon,ilat) = yourdata(n,3);
end
  • Use surf command.
surf(LON,LAT,depth);
shading interp;
  • Run your matlab script.
This is example of resulting display

Bathymetry Map of England


Bathymetry Map of Indonesia


Bathymetry Map of Japan




Wednesday, 5 February 2014

Metode Huckel Pyrolle (Script Matlab) dan Short Explanation

Wednesday, 5 February 2014 | by Riza | | No comments

A. GENERAL EXPLANATION : METODE HUCKEL

Program ini merupakan perhitungan struktur elektronik dan geometri Pyrrole menggunakan metode Huckel, dengan penomoran atom-atom pada struktur pyrrole sebagai berikut


Script Matlab


Hasil Perhitungan


Short Explanation (My Analysis)

Molekul pyrolle merupakan molekul yang berstruktur heteroatomik. Sehingga pada perhitungan Huckel, komponen heteroatomik tersebut dalam hal ini adalah atom N akan memberikan besaran a dan b yang berbeda dari molekul hidrokarbon asli. Pengaruh heteroatomik dan substituen dinyatakan dengan harga-harga h dan k untuk atom-atom tertentu, dengan a=a+hb dan b=kb. Pada molekul pyrolle atom –N- akan memberikan besaran a=a+1.5b dan ikatan antar C-N akan memberikan besaran b=0.8b. Besaran-besaran tersebut akan mempengaruhi nilai energi orbital pada setiap molekul pyrolle.

Pada perhitungan menggunakan metode Huckel, diperoleh energi orbital molekul untuk pyrolle sebagai berikut (dapat dilihat dari hasil perhitungan energi).

e1=-16.7990; e2=-13.9717; e3=-12.545; e4=-8.4794; e5=-6.9549

Subtitusi harga-harga energi tersebut akan menghasilkan koefisien-koefisien c yang bersangkutan terhadap satu energi orbital molekul.

Orbital-orbital molekul tiap satu energi orbital pada pyrolle yang diperoleh dari hasil perhitungan koefisien c adalah :

e1=-16.7990 : Y1=-0.7400 j1 - 0.3791 j2 - 0.2873 j3 - 0.2873 j4 - 0.3791 j5
e2=-13.9717 : Y2=-0,5588 j1 + 0.1087 j2 + 0.5763 j3 + 0.5763 j4 + 0.1087 j5
e3=-12.545 : Y3=-0.6015 j2-0.3717 j3+0.3717 j4 + 0.6015 j5
e4=-8.4794 : Y4=-0.3744j1+0.5869 j2-0.2923 j3-0.2923 j4 + 0.5869 j5
e5=-6.9549 : Y5=0.3717 j2-0.6015 j3+0.6015 j4 - 0.3717 j5

Dalam keadaan dasar molekul Pyrolle memiliki konfigurasi elektron-p Y12 Y22 Y31 seperti pada gambar berikut ini


Selain itu, molekul pyrolle pada atom N terhibridisasi sp2 sehingga membentuk tiga buah ikatan sigma yang koplanar termasuk pula lone pair yang mengarah keluar bidang cincin.




Metode Huckel memungkinkan untuk mengetahui kerapatan elektron dari suatu molekul termasuk pada molekul pyrrole. Hasil komputasi perhitungan kerapatan elektron yang diperoleh dapat dilihat dari hasil program. Jika diilustrasikan dalam suatu molekul pyrolle maka hasil perhitungan tersebut digambarkan sebagai berikut, 


Terlihat bahwa kerapatan elektron molekul pyrolle paling besar terletak pada atom N. Hal ini menunjukan bahwa pada molekul pyrolle terjadi delokalisasi yang mengalirkan sebagian muatan dari atom-atom Karbon ke atom N.

Dari nilai orde ikatan yang diperoleh, maka dapat ditentukan jarak antara dua atom yang berdekatan. Hasil komputasi perhitungan jarak ikatan antar atom pada molekul pyrrole dapat dilihat pada hasil perhitungan program Jika diilustrasikan dalam molekul pyrolle maka jarak ikatan tersebut digambarkan sebagai berikut,


Terlihat bahwa jarak ikatan antara atom r12=r51= 1.4541 Å dan r23=r45= 1.4164 Å serta r34= 1.4350 Å. Hal ini menunjukan bahwa molekul pyrrole memiliki struktur yang simetris dengan jarak ikatan rangkap dan jarak ikatan tunggal yang identik dikedua belah sisi.


Catatan : ini adalah sedikit penjelasan berdasarkan sedikit referensi-referensi yang baru dibaca, untuk hasilnya saya tidak menjamin analisis saya ini tepat 100% (kalo tepat Alhamdulillah), untuk lebih mendapat penjelasan yang lebih baik, bisa dicari dari referensi lain.


Referensi
Rustam E. Siregar. 2009. Mekanika Kuantum Molekul. Universitas Padjadjaran.
...dll

Tuesday, 4 February 2014

Metode (Extended) Huckel dan Pyrolle

Tuesday, 4 February 2014 | by Riza | | No comments

A. GENERAL EXPLANATION : METODE HUCKEL

Metoda Huckel atau metoda orbital molekul Huckel (HMO), diusulkan oleh Erich Huckel pada tahun 1930, adalah cara yang sangat sederhana pada kombinasi linear dari orbital atom - orbital molekul (linear combination of atomic orbitals molecular orbitals/ LCAO MO) untuk menentukan energi orbital molekul elektron pi dalam sistem hidrokarbon terkonjugasi, seperti etena, benzena dan butadiena. Metode extended Hückel yang dikembangkan oleh Roald Hoffmann merupakan metode komputasi tiga dimensi yang digunakan untuk menguji aturan Woodward-Hoffmann, kemudian metode ini diperluas pada molekul terkonjugasi seperti piridin, pirol dan furan yang mengandung atom selain karbon, yang dikenal sebagai komponen heteroatomik.

Kondisi normalisasi orbital molekul pada metode Huckel yang disederhanakan adalah


Besaran-Besaran Molekul yang Dapat Dihitung Dengan Metode Hückel
  • Rapat Elektron-π 
Persamaan diatas mempunyai makna bahwa crimerupakan kerapatan parsial elektron-π di atom karbon ke-i karena sebuah elektron-π menempati orbital molekul ѱr. Jika nr adalah jumlah elektron-π yang menempati orbital moleku ѱr maka total kerapatan elektron-π di atom karbon ke-i adalah


  • Order Ikatan Antar Atom Karbon 
Order-ikatan antar atom-atom karbon ke-i dan ke-j adalah 


Order-ikatan mempunyai hubungan dengan panjang ikatan. Semakin besar order-ikatan, semakin kuat pula ikatan tersebut sehingga panjang ikatannya semakin pendek. 
  • Panjang Ikatan Antara Atom Karbon 
Hubungan antara order-ikatan dan panjang ikatan dapat mengikuti rumusan empiris dari Coulson (Proc. R. Soc. 169A, 413 (1939)):



B. KOMPONEN HETEROATOMIK

Senyawa Heterotaomik Merupakan Senyawa organik yang di dalam lingkar siklisnya terdapat atom-atom selain atom karbon. Misalnya : atom N, O, S. Contoh Senyawa heteratomik adalah Furan, Pyrrole, dan Tiofen. Ada beberapa cicin yang terdapat pada senyawa heteroatomik ini seperti cicin lingkar tiga, empat, lima dan sebagainya. Namun pada bagian ini hanya akan dibahas mengenai struktur yang yang bercinicin lima, termasuk senyawa pyrrolle yang dibahas pada postingan ini.

  • Komponen Heteromatomik Bercincin lima
Anggota-anggota heterosiklik bercincin lima dinterpretasikan sebagai turunan butadiena

Anggota-anggota aromatik yang memiliki struktur heterosiklik cincin lingkar lima merupakan turunan dari struktur 1,3-butadiena. suatu cincin beranggota lima mempunyai dua ikatan rangkap dan atom yang kelima mempunyai pasangan elektron bebas maka cincin tersebut mempunyai lima orbital p yang dapat overlap menghasilkan lima orbital baru (tiga orbital ikatan dan dua orbital anti ikatan). Ada enam elektron yang akan menempati orbital tersebut: empat dari orbital p ikatan rangkap-dua (masing-masing orbital p menyumbangkan satu elektron), dan orbital yang terisi penuh menyumbangkan dua elektron. Keenam elektron menempati orbital ikatan dan menyusun sekstet aromatik. Beberapa contoh penting untuk sistem ini adalah senyawa heterosiklik pirol, tiofen, dan furan; meskipun di sini furan mempunyai derajat aromatisitas lebih rendah daripada dua senyawa yang lain.

Siklopentadiena merupakan senyawa bercincin lima yang tidak memiliki gugus heteroatomik (semua atom atom nya merupakan atom C) dan juga tidak menampilkan perilaku seperti aromatik. Jadi, apakah perbedaan antara siklopentadiena dan anggota heterosiklik aromatik bercincin lima lainnya?

Perbandingan antara siklopentana dengan anggota-anggota heterosiklik bercincin lima

Berbeda dengan sp3 karbon siklopentadiena. Heterosiklik aromatik Nitrogen, Oksigen atau Belerang memiliki setidaknya satu pasangan elektron mandiri yang menempati orbital p yang tegak lurus terhadap bidang cincin. Dengan demikian, pasangan elektron bebas ini sesuai dengan orbital p yang dapat berpartisipasi dalam sistem π dari diena terkonjugasi. Sebagai hasilnya, heterosiklik mengandung sistem siklus π yang terus menerus dan memenuhi aturan Huckel, karena mereka memiliki enam elektron π. Selain itu, mereka berbentuk planar. Pasangan elektron Second lone dari oksigen dan sulfur dalam furan dan tiofena terletak di orbital sp2 yang sejajar terhadap bidang cincin.

Perbandingan siklopentana dan pyrrole 

  • Reaktivitas Pyrrole
Ilustrasi Senyawa Pyrrole

Penjelasan Struktur berdasarkan Teori Ikatan Valensi pada Pyrrole

Dibandingkan dengan furan dan tiofena, momen dipol dari pirol memiliki arah yang berlawanan. Hal ini mengejutkan, karena kutub positif dipol pirol berlokasi di nitrogen, meskipun nitrogen lebih elektronegatif dari karbon.
Momen dipol dari pyrrole, furan, dan thiophene 

Mengapa kerapatan elektron tertinggi pirol tidak terletak pada nitrogen? Ilustrasi struktur resonansi pirol menjelaskan bahwa muatan negatif muncul di empat karbon, sedangkan muatan positif hanya muncul pada nitrogen. 

Struktur Resonansi Pyrrole 

Sifat kimia pirol yang sesuai dengan distribusi elektron ditunjukkan oleh struktur resonansi masing-masing. Melalui asam yang relatif lemah, hampir hanya karbon yang diprotonasi. Momen dipol dari pirolidin yang merupakan senyawa jenuh tidak dipengaruhi oleh resonansi. Sehingga dalam hal ini, kutub negatif terletak pada nitrogen.

Momen dipol aromatik dan Anggota-anggota heterosiklik bercincin lima jenuh (satturated) 

Dalam furan dan tiofena, momen dipol dipengaruhi oleh resonansi dengan cara yang sama seperti pada pirol. Namun, efek resonansi jelas tidak cukup untuk melebihi pengaruh elektronegativitas heteroatom ini, maka kutub negatif terletak pada heteroatom (karena resonansi, momen dipol dari furan dan tiofena lebih kecil dibandingkan dengan heterosiklik jenuh, tetrahidrofuran dan tetrahydrothiophene). Dalam kasus pirol, pengaruh resonansi pada momen dipol begitu kuat, dibandingkan dengan heterosilkik jenuh, pirolidin.

2. PENGARUH HETEROATOMIK DAN SUBSTITUEN PADA METODE HUCKEL

Dalam suatu molekul heterosiklik, suatu atom karbon bisa diganti dengan atom lain, dan di dalam molekul yang tersubstitusi atom hidrogen diganti dengan atom lain. Kehadiran atom lain dalam molekul heterosiklis menyebabkan elemen matriks Hii untuk heteroatom berbeda dengan atom karbon yang masih ada. Demikian pula Hij juga berubah.

Secara umum besaran α dan β untuk heteroatom dirumuskan sebagai berikut:
ax = a + hxb
bxy = kxyb

Adapun nilai ax dan bxy untuk beberapa untuk molekul heteroatom dapat dilihat pada tabel berikut

Atom X
hx
Ikatan XY
kxy
-O-
2
C-O-
0.8
N-O-
0.7
O=
1
C=O
1.0
-N-
1.5
C-N-
0.8
-N=
0.5
C=N-
0.8
-F
3
C-F
0.7
-Cl
2
C-Cl
0.4
-Br
1.5
C-Br
0.3



Ok cukup segitu, sebenarnya ini adalah tugas mata kuliah Mekanika Kuantum Molekul waktu kuliah S1 dulu, ya sharing-sharing dikit lah (walaupun bacaanya masih acak-adut) hehe

Bacaan Selanjutnya nih :  Metode Huckel Pyrolle (Script Matlab)

Referensi
Rustam E. Siregar. 2009. Mekanika Kuantum Molekul. Universitas Padjadjaran
...dll