|
gimme-alpha 0.1
|
00001 /** @file */ 00002 /* 00003 ** gimme-alpha_structs.h 00004 ** 00005 ** Made by Johnny Q. Hacker 00006 ** Login <solarion@borkborkbork> 00007 ** 00008 00009 Copyright (C) 2008 Joseph Pingenot 00010 00011 This program is free software: you can redistribute it and/or modify 00012 it under the terms of the GNU Affero General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 This program is distributed in the hope that it will be useful, 00017 but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 GNU Affero General Public License for more details. 00020 00021 You should have received a copy of the GNU Affero General Public License 00022 along with this program. If not, see <http://www.gnu.org/licenses/>. 00023 00024 ** Started on Mon Sep 29 16:21:29 2008 Johnny Q. Hacker 00025 ** Last update Mon Sep 29 16:31:48 2008 Johnny Q. Hacker 00026 */ 00027 00028 #ifndef GIMME_ALPHA_STRUCTS_H_ 00029 # define GIMME_ALPHA_STRUCTS_H_ 00030 00031 #include <complex.h> 00032 00033 #ifdef __cplusplus 00034 extern "C" { 00035 #endif 00036 00037 /*In the following structs, EITHER x OR spacing may defined. If 00038 x is non-null, it will be used and spacing will be ignored. 00039 Otherwise, spacing will be used.*/ 00040 struct potential { 00041 double *potential; 00042 int N; 00043 double *x; 00044 double spacing; 00045 }; 00046 00047 struct band { 00048 double *bandedge; 00049 int N; 00050 double *x; 00051 double spacing; 00052 }; 00053 00054 struct efield { 00055 /*Just one component; the potential is 1D.*/ 00056 double *field; 00057 int N; 00058 double *x; 00059 double spacing; 00060 }; 00061 00062 enum kp_wavefunc_type { 00063 KP8X8_WAVEFUNC, 00064 MSTAR_WAVEFUNC 00065 }; 00066 00067 #ifdef __cplusplus 00068 } 00069 #endif 00070 00071 #endif /* !GIMME-ALPHA_STRUCTS_H_ */