Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "azizChen.H"
00027 #include <OpenFOAM/addToRunTimeSelectionTable.H>
00028
00029
00030
00031 namespace Foam
00032 {
00033 namespace pairPotentials
00034 {
00035
00036
00037
00038 defineTypeNameAndDebug(azizChen, 0);
00039
00040 addToRunTimeSelectionTable
00041 (
00042 pairPotential,
00043 azizChen,
00044 dictionary
00045 );
00046
00047
00048
00049
00050 azizChen::azizChen
00051 (
00052 const word& name,
00053 const dictionary& azizChen
00054 )
00055 :
00056 pairPotential(name, azizChen),
00057 azizChenCoeffs_(azizChen.subDict(typeName + "Coeffs")),
00058 epsilon_(readScalar(azizChenCoeffs_.lookup("epsilon"))),
00059 rm_(readScalar(azizChenCoeffs_.lookup("rm"))),
00060 A_(readScalar(azizChenCoeffs_.lookup("A"))),
00061 alpha_(readScalar(azizChenCoeffs_.lookup("alpha"))),
00062 C6_(readScalar(azizChenCoeffs_.lookup("C6"))),
00063 C8_(readScalar(azizChenCoeffs_.lookup("C8"))),
00064 C10_(readScalar(azizChenCoeffs_.lookup("C10"))),
00065 D_(readScalar(azizChenCoeffs_.lookup("D"))),
00066 gamma_(readScalar(azizChenCoeffs_.lookup("gamma")))
00067 {
00068 setLookupTables();
00069 }
00070
00071
00072
00073
00074 scalar azizChen::unscaledEnergy(const scalar r) const
00075 {
00076 scalar x = r/rm_;
00077
00078 scalar F = 1.0;
00079
00080 if (x < D_)
00081 {
00082 F = exp(-pow(((D_ / x) - 1.0),2));
00083 }
00084
00085 return
00086 epsilon_
00087 *(
00088 A_ * Foam::pow(x, gamma_)*exp(-alpha_*x)
00089 - (
00090 (C6_/ Foam::pow(x, 6))
00091 + (C8_/ Foam::pow(x, 8))
00092 + (C10_/ Foam::pow(x, 10))
00093 )
00094 *F
00095 );
00096 }
00097
00098
00099 bool azizChen::read(const dictionary& azizChen)
00100 {
00101 pairPotential::read(azizChen);
00102
00103 azizChenCoeffs_ = azizChen.subDict(typeName + "Coeffs");
00104
00105 azizChenCoeffs_.lookup("epsilon") >> epsilon_;
00106 azizChenCoeffs_.lookup("rm") >> rm_;
00107 azizChenCoeffs_.lookup("A") >> A_;
00108 azizChenCoeffs_.lookup("alpha") >> alpha_;
00109 azizChenCoeffs_.lookup("C6") >> C6_;
00110 azizChenCoeffs_.lookup("C8") >> C8_;
00111 azizChenCoeffs_.lookup("C10") >> C10_;
00112 azizChenCoeffs_.lookup("D") >> D_;
00113 azizChenCoeffs_.lookup("gamma") >> gamma_;
00114
00115 return true;
00116 }
00117
00118
00119
00120
00121 }
00122 }
00123
00124