00001 /* 00002 This file belongs to Aeneas. Aeneas is a GNU package released under GPL 3 license. 00003 This code is a simulator for Submicron 3D Semiconductor Devices. 00004 It implements the Monte Carlo transport in 3D tetrahedra meshes 00005 for the simulation of the semiclassical Boltzmann equation for both electrons. 00006 It also includes all the relevant quantum effects for nanodevices. 00007 00008 Copyright (C) 2007 Jean Michel Sellier <sellier@dmi.unict.it> 00009 00010 This program is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation; either version 3, or (at your option) 00013 any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 // Created on : 06 june 2007, Siracusa, Jean Michel Sellier 00025 // Last modified : 06 june 2007, Siracusa, Jean Michel Sellier 00026 00027 // see french book pag.319 tab.9.3 00028 // Gauss Formula in 4 points and 3 dimensions 00029 // ******** 00030 // xi[0][i] reppresents the local coordinate \xi 00031 // xi[1][i] reppresents the local coordinate \eta 00032 // xi[2][i] reppresents the local coordinate \xeta 00033 // ******** 00034 00035 void initialize_GAUSS(void) 00036 { 00037 double a=(5.-sqrt(5))/20.; 00038 00039 // the local coordinate \xi 00040 xi[0][0] =1.-3.*a; 00041 xi[0][1] =a; 00042 xi[0][2] =a; 00043 xi[0][3] =a; 00044 00045 // the local coordinate \eta 00046 xi[1][0] =a; 00047 xi[1][1] =1.-3.*a; 00048 xi[1][2] =a; 00049 xi[1][3] =a; 00050 00051 // the local coordinate \xeta 00052 xi[2][0] =a; 00053 xi[2][1] =a; 00054 xi[2][2] =1.-3.*a; 00055 xi[2][3] =a; 00056 00057 // the gaussian weights 00058 omega[0] =0.25; 00059 omega[1] =0.25; 00060 omega[2] =0.25; 00061 omega[4] =0.25; 00062 00063 printf("Gauss integration formula points and weights initialised...\n"); 00064 } 00065