diff --git a/src/combustionModels/EDM/EDM.C b/src/combustionModels/EDM/EDM.C
new file mode 100644
index 000000000..d672d2c06
--- /dev/null
+++ b/src/combustionModels/EDM/EDM.C
@@ -0,0 +1,188 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "EDM.H"
+#include "fvmSup.H"
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+
+template
+Foam::combustionModels::EDM::EDM
+(
+ const word& modelType,
+ const fvMesh& mesh,
+ const word& phaseName
+)
+:
+ Type(modelType, mesh, phaseName),
+ finiteRate_ (this->coeffs().lookupOrDefault("finiteRate", false)),
+ A_ (this->coeffs().lookupOrDefault("A", 4.0)),
+ B_ (this->coeffs().lookupOrDefault("B", 0.5))
+{
+ if (finiteRate_)
+ {
+ Info<< " using Finite-rate/Eddy Dissipation Model" << endl;
+ }
+ else
+ {
+ Info<< " using Eddy Dissipation Model" << endl;
+ }
+ Info<< " A = " << A_ << endl;
+ Info<< " B = " << B_ << endl;
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
+
+template
+Foam::combustionModels::EDM::~EDM()
+{}
+
+
+// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
+
+template
+Foam::tmp
+Foam::combustionModels::EDM::tc() const
+{
+ return this->chemistryPtr_->tc();
+}
+
+
+template
+void Foam::combustionModels::EDM::correct()
+{
+ if (this->active())
+ {
+ if (finiteRate_)
+ {
+ this->chemistryPtr_->calculate();
+ }
+ else
+ {
+ }
+ }
+}
+
+
+template
+Foam::tmp
+Foam::combustionModels::EDM::R(volScalarField& Y) const
+{
+ tmp tSu(new fvScalarMatrix(Y, dimMass/dimTime));
+
+ fvScalarMatrix& Su = tSu.ref();
+
+ if (this->active())
+ {
+ const label specieI =
+ this->thermo().composition().species()[Y.member()];
+
+ Su += this->chemistryPtr_->RR(specieI);
+ }
+
+ return tSu;
+}
+
+
+template
+Foam::tmp
+Foam::combustionModels::EDM::dQ() const
+{
+ tmp tdQ
+ (
+ new volScalarField
+ (
+ IOobject
+ (
+ IOobject::groupName(typeName + ":dQ", this->phaseName_),
+ this->mesh().time().timeName(),
+ this->mesh(),
+ IOobject::NO_READ,
+ IOobject::NO_WRITE,
+ false
+ ),
+ this->mesh(),
+ dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
+ )
+ );
+
+ if (this->active())
+ {
+ tdQ.ref() = this->chemistryPtr_->dQ();
+ }
+
+ return tdQ;
+}
+
+
+template
+Foam::tmp
+Foam::combustionModels::EDM::Sh() const
+{
+ tmp tSh
+ (
+ new volScalarField
+ (
+ IOobject
+ (
+ IOobject::groupName(typeName + ":Sh", this->phaseName_),
+ this->mesh().time().timeName(),
+ this->mesh(),
+ IOobject::NO_READ,
+ IOobject::NO_WRITE,
+ false
+ ),
+ this->mesh(),
+ dimensionedScalar("zero", dimEnergy/dimTime/dimVolume, 0.0)
+ )
+ );
+
+ if (this->active())
+ {
+ tSh.ref() = this->chemistryPtr_->Sh();
+ }
+
+ return tSh;
+}
+
+
+template
+bool Foam::combustionModels::EDM::read()
+{
+ if (Type::read())
+ {
+ this->coeffs().lookup("finiteRate") >> finiteRate_;
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/src/combustionModels/EDM/EDM.H b/src/combustionModels/EDM/EDM.H
new file mode 100644
index 000000000..8022bae24
--- /dev/null
+++ b/src/combustionModels/EDM/EDM.H
@@ -0,0 +1,147 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Class
+ Foam::combustionModels::EDM
+
+Description
+ Eddy dissipation model with finite-rate chemistry.
+ 28.Feb.2017
+ Combustion Lab. POSTECH
+ Karam Han
+ (Version upgraded by Jinwoo Park)
+
+SourceFiles
+ EDM.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef EDM_H
+#define EDM_H
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace combustionModels
+{
+
+/*---------------------------------------------------------------------------*\
+ Class EDM Declaration
+\*---------------------------------------------------------------------------*/
+
+template
+class EDM
+:
+ public Type
+{
+ // Private data
+
+ //- finite-rate/EDM using Arrhenius formula
+ bool finiteRate_;
+
+ //- EDM Parameter A
+ scalar A_;
+
+ //- EDM Parameter B
+ scalar B_;
+
+protected:
+
+ // Protected Member Functions
+
+ //- Return the chemical time scale
+ tmp tc() const;
+
+private:
+
+ // Private Member Functions
+
+ //- Disallow copy construct
+ EDM(const EDM&);
+
+ //- Disallow default bitwise assignment
+ void operator=(const EDM&);
+
+
+public:
+
+ //- Runtime type information
+ TypeName("EDM");
+
+
+ // Constructors
+
+ //- Construct from components
+ EDM
+ (
+ const word& modelType,
+ const fvMesh& mesh,
+ const word& phaseName
+ );
+
+
+ //- Destructor
+ virtual ~EDM();
+
+
+ // Member Functions
+
+ // Evolution
+
+ //- Correct combustion rate
+ virtual void correct();
+
+ //- Fuel consumption rate matrix.
+ virtual tmp R(volScalarField& Y) const;
+
+ //- Heat release rate calculated from fuel consumption rate matrix
+ virtual tmp dQ() const;
+
+ //- Return source for enthalpy equation [kg/m/s3]
+ virtual tmp Sh() const;
+
+
+ // IO
+
+ //- Update properties from given dictionary
+ virtual bool read();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace combustionModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+ #include "EDM.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/combustionModels/EDM/EDMs.C b/src/combustionModels/EDM/EDMs.C
new file mode 100644
index 000000000..f89e01382
--- /dev/null
+++ b/src/combustionModels/EDM/EDMs.C
@@ -0,0 +1,38 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "makeCombustionTypes.H"
+
+#include "psiChemistryCombustion.H"
+#include "rhoChemistryCombustion.H"
+#include "EDM.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makeCombustionTypes(EDM, psiChemistryCombustion, psiCombustionModel);
+makeCombustionTypes(EDM, rhoChemistryCombustion, rhoCombustionModel);
+
+
+// ************************************************************************* //
diff --git a/src/combustionModels/Make/files b/src/combustionModels/Make/files
index b68fbb742..97a885f31 100644
--- a/src/combustionModels/Make/files
+++ b/src/combustionModels/Make/files
@@ -13,6 +13,8 @@ rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.C
diffusion/diffusions.C
infinitelyFastChemistry/infinitelyFastChemistrys.C
+EDM/EDMs.C
+
PaSR/PaSRs.C
laminar/laminars.C