(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 19454, 496] NotebookOptionsPosition[ 19203, 483] NotebookOutlinePosition[ 19540, 498] CellTagsIndexPosition[ 19497, 495] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"poidsModes", "[", RowBox[{ "kLambdaDebye_", ",", "parametresBags_", ",", "parametresSysteme_", ",", "abscisse_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "kb", ",", "epsilonZero", ",", "e", ",", "me", ",", "k", ",", "fo", ",", "wb", ",", "vTe", ",", "epsilon", ",", "lambdaDebyeElectron", ",", "omegaPlasmaElectron", ",", "parametreGrainElectron", ",", "Mm", ",", "aMax", ",", "no", ",", "Te", ",", "deltaA", ",", "aListe", ",", "aMajListe", ",", "FListe", ",", "aListePrime", ",", "aMajListePrime", ",", "disp", ",", "omeganListePrime", ",", "omeganListe", ",", "bnListePrime", ",", "cnListe", ",", "cnListePrime", ",", "listeDesCn", ",", "champEavec", ",", "maxChampAvec"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"d\[EAcute]finition", " ", "des", " ", "constantes"}], ",", " ", RowBox[{ "et", " ", "de", " ", "divers", " ", "param\[EGrave]tres", " ", "utils", " ", "pour", " ", "d\[EAcute]terminer", " ", RowBox[{"l", "'"}], "\[EAcute]quation", " ", "de", " ", "dispersion"}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Off", "[", RowBox[{"General", "::", "\"\\""}], "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"kb", "=", RowBox[{"1.38065", "*", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "23"}], ")"}]}]}]}], ";", "\[IndentingNewLine]", RowBox[{"epsilonZero", "=", RowBox[{"8.85419", "*", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "12"}], ")"}]}]}]}], ";", "\[IndentingNewLine]", RowBox[{"e", "=", RowBox[{"1.60218", "*", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "19"}], ")"}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"me", "=", RowBox[{"9.10939", "*", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "31"}], ")"}]}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"epsilon", "=", "0.001"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"no", "=", RowBox[{"10", "^", "18"}]}], ";", "\[IndentingNewLine]", RowBox[{"Te", "=", RowBox[{"10", "^", "10"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"lambdaDebyeElectron", "=", RowBox[{"Sqrt", "[", RowBox[{"epsilonZero", "*", "kb", "*", RowBox[{"Te", "/", RowBox[{"(", RowBox[{"no", "*", RowBox[{"e", "^", "2"}]}], ")"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"parametreGrainElectron", "=", RowBox[{"1", "/", RowBox[{"(", RowBox[{"no", "*", RowBox[{"lambdaDebyeElectron", "^", "3"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"vTe", "=", RowBox[{"Sqrt", "[", RowBox[{"kb", "*", RowBox[{"Te", "/", "me"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"omegaPlasmaElectron", "=", RowBox[{"Sqrt", "[", RowBox[{"no", "*", RowBox[{ RowBox[{"e", "^", "2"}], "/", RowBox[{"(", RowBox[{"epsilonZero", "*", "me"}], ")"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"k", "=", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"0.5", "/", "lambdaDebyeElectron"}], ",", "100"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Mm", "=", RowBox[{"parametresBags", "[", RowBox[{"[", "1", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"aMax", "=", RowBox[{ RowBox[{"parametresBags", "[", RowBox[{"[", "2", "]"}], "]"}], "*", "vTe"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"fo", "[", RowBox[{"v_", ",", "noo_", ",", "vt_"}], "]"}], ":=", RowBox[{"noo", "*", RowBox[{ RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"v", "^", "2"}]}], "/", RowBox[{"(", RowBox[{"2.", "*", RowBox[{"vt", "^", "2"}]}], ")"}]}], "]"}], "/", RowBox[{"(", RowBox[{"vt", "*", RowBox[{"Sqrt", "[", RowBox[{"2.", "*", "Pi"}], "]"}]}], ")"}]}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"wb", "[", RowBox[{"v_", ",", RowBox[{"carac", ":", RowBox[{"{", RowBox[{"_", ",", "_"}], "}"}]}]}], "]"}], ":=", RowBox[{"Plus", "@@", RowBox[{"(", RowBox[{ RowBox[{"carac", "[", RowBox[{"[", "1", "]"}], "]"}], "*", RowBox[{"(", RowBox[{ RowBox[{"UnitStep", "[", RowBox[{"v", "+", RowBox[{"carac", "[", RowBox[{"[", "2", "]"}], "]"}]}], "]"}], "-", RowBox[{"UnitStep", "[", RowBox[{"v", "-", RowBox[{"carac", "[", RowBox[{"[", "2", "]"}], "]"}]}], "]"}]}], ")"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox[ RowBox[{"param\[EGrave]tres", " ", "waterbag"}], FontColor->RGBColor[0, 0, 1]], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"deltaA", "=", RowBox[{"aMax", "/", RowBox[{"(", RowBox[{"Mm", "-", RowBox[{"1", "/", "2"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"aListe", "=", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"j", "-", RowBox[{"1", "/", "2"}]}], ")"}], "*", "deltaA"}], ",", RowBox[{"{", RowBox[{"j", ",", "Mm"}], "}"}]}], "]"}], ",", "100"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"FListe", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"fo", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"j", "-", "1"}], ")"}], "*", "deltaA"}], ",", "no", ",", "vTe"}], "]"}], "/", "no"}], ",", RowBox[{"{", RowBox[{"j", ",", "1", ",", "Mm"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"aMajListe", "=", RowBox[{"FListe", "-", RowBox[{"ReplacePart", "[", RowBox[{ RowBox[{"RotateLeft", "[", RowBox[{"FListe", ",", "1"}], "]"}], ",", "0", ",", "Mm"}], "]"}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", StyleBox[ RowBox[{ "liste", " ", "utilis\[EAcute]es", " ", "pour", " ", "les", " ", "sommations", " ", "prime"}], FontColor->RGBColor[0, 0, 1]], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"aListePrime", "=", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"Join", "[", RowBox[{ RowBox[{ RowBox[{"-", "aListe"}], "//", "Reverse"}], ",", "aListe"}], "]"}], ",", "100"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"aMajListePrime", "=", RowBox[{"Join", "[", RowBox[{ RowBox[{ RowBox[{"-", "aMajListe"}], "//", "Reverse"}], ",", "aMajListe"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", StyleBox[ RowBox[{"fonction", " ", "de", " ", "dispersion"}], FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"disp", "[", RowBox[{ RowBox[{"{", RowBox[{"w_", ",", "kk_"}], "}"}], ",", "aMaj_List", ",", "aLis_List"}], "]"}], ":=", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"1", "-", RowBox[{ RowBox[{"omegaPlasmaElectron", "^", "2"}], "*", RowBox[{"Plus", "@@", RowBox[{"(", RowBox[{"2", "*", "aMaj", "*", RowBox[{"aLis", "/", RowBox[{"(", RowBox[{ RowBox[{"w", "^", "2"}], "-", RowBox[{ RowBox[{"kk", "^", "2"}], "*", RowBox[{"aLis", "^", "2"}]}]}], ")"}]}]}], ")"}]}]}]}], ",", "100"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", StyleBox[ RowBox[{ RowBox[{"calcul", " ", "des", " ", "lis", RowBox[{ StyleBox["te", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], SubscriptBox["\[Omega]", "n"]}]}], ",", " ", RowBox[{ SubscriptBox["b", "n"], " ", "et", " ", SubscriptBox["c", "n"]}]}], FontColor->RGBColor[0, 0, 1]], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"omeganListePrime", "=", RowBox[{"(", RowBox[{"w", "/.", RowBox[{"NSolve", "[", RowBox[{ RowBox[{"Numerator", "@", RowBox[{"Together", "@", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"disp", "[", RowBox[{ RowBox[{"{", RowBox[{"w", ",", "k"}], "}"}], ",", "aMajListe", ",", "aListe"}], "]"}], ",", "100"}], "]"}]}]}], ",", "w"}], "]"}]}], ")"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"bnListePrime", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"omegaPlasmaElectron", "^", "2"}], "/", "k"}], ")"}], "*", RowBox[{"Plus", "@@", RowBox[{"(", RowBox[{"aMajListePrime", "/", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"omeganListePrime", "[", RowBox[{"[", "n", "]"}], "]"}], "-", RowBox[{"k", "*", "aListePrime"}]}], ")"}], "^", "2"}]}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"n", ",", "1", ",", RowBox[{"Length", "[", "omeganListePrime", "]"}]}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"cnListePrime", "=", RowBox[{"epsilon", "*", RowBox[{"omeganListePrime", "/", RowBox[{"(", RowBox[{"2", "*", RowBox[{"omegaPlasmaElectron", "^", "2"}], "*", "bnListePrime"}], ")"}]}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"omeganListe", "=", RowBox[{"Select", "[", RowBox[{"omeganListePrime", ",", RowBox[{ RowBox[{"#", ">", "0"}], "&"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"cnListe", "=", RowBox[{"Drop", "[", RowBox[{"cnListePrime", ",", "Mm"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", StyleBox[" ", FontColor->RGBColor[0, 0, 1]], RowBox[{ StyleBox["champ", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["electrique", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["avec", FontColor->RGBColor[1, 0, 0]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["le", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["mode", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["de", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["Landau", FontColor->RGBColor[0, 0, 1]]}], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"champEavec", "[", "t_", "]"}], ":=", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "2"}], "*", "e", "*", "no"}], ")"}], "/", RowBox[{"(", RowBox[{"epsilonZero", "*", "k"}], ")"}]}], ")"}], "*", RowBox[{"Plus", "@@", RowBox[{"(", RowBox[{"cnListe", "*", RowBox[{"Cos", "[", RowBox[{"omeganListe", "*", "t"}], "]"}]}], ")"}]}]}], ",", "100"}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox[ RowBox[{"graphes", " ", "amortissement", " ", "Landau"}], FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontColor->RGBColor[0, 0, 1]], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"c", "'"}], "est", " ", "ici", " ", "que", " ", RowBox[{"j", "'"}], "utilise", " ", "FindMaximum", " ", "en", " ", "tabulant", " ", "sur", " ", "un", " ", "ensemble", " ", "de", " ", "points", " ", "initiaux", " ", "pour", " ", "trouver", " ", "tous", " ", "les", " ", "maximums"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "le", " ", "SameTest", " ", "sert", " ", "\[AGrave]", " ", "\[EAcute]viter", " ", RowBox[{"d", "'"}], "obtenur", " ", "plusieurs", " ", "fois", " ", "la", " ", "m\[EHat]me", " ", "solution"}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"maxChampAvec", "=", RowBox[{"Union", "[", RowBox[{ RowBox[{"Select", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"FindMaximum", "[", RowBox[{ RowBox[{ RowBox[{"champEavec", "[", "t", "]"}], "/", RowBox[{"champEavec", "[", "0", "]"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "n"}], "}"}], ",", RowBox[{"WorkingPrecision", "\[Rule]", "50"}], ",", RowBox[{"Method", "\[Rule]", "\"\\""}]}], "]"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"2", "Pi", "*", RowBox[{"abscisse", "/", RowBox[{"(", RowBox[{"50", "*", "omegaPlasmaElectron"}], ")"}]}]}], ",", RowBox[{"2", "Pi", "*", " ", RowBox[{"abscisse", "/", "omegaPlasmaElectron"}]}], ",", RowBox[{"2", "Pi", "*", " ", RowBox[{"abscisse", "/", RowBox[{"(", RowBox[{"40", "*", "omegaPlasmaElectron"}], ")"}]}]}]}], "}"}]}], "]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], ">", "0"}], "&&", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"t", "/.", RowBox[{"#", "[", RowBox[{"[", RowBox[{"2", ",", "1"}], "]"}], "]"}]}], ")"}], "\[GreaterEqual]", "0"}], ")"}], "&&", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"t", "/.", RowBox[{"#", "[", RowBox[{"[", RowBox[{"2", ",", "1"}], "]"}], "]"}]}], ")"}], "<=", RowBox[{"2", "*", "Pi", "*", RowBox[{"abscisse", "/", "omegaPlasmaElectron"}]}]}], ")"}]}], ")"}], "&"}]}], "]"}], ",", RowBox[{"SameTest", "\[Rule]", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{ RowBox[{"#1", "[", RowBox[{"[", "1", "]"}], "]"}], "/", RowBox[{"#2", "[", RowBox[{"[", "1", "]"}], "]"}]}], "-", "1"}], "]"}], "<", "0.000001"}], "&"}], ")"}]}]}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.400316288619664*^9, 3.400316585660226*^9}, { 3.400316945825975*^9, 3.400317058897423*^9}, {3.400317098849372*^9, 3.4003171082700663`*^9}}] }, WindowSize->{1271, 725}, WindowMargins->{{-2, Automatic}, {31, Automatic}}, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[568, 21, 18631, 460, 1543, "Input"] } ] *) (* End of internal cache information *)