From 13987f0ba3fd58ce9a61ba174b63a8ee68f10ecc Mon Sep 17 00:00:00 2001 From: Thomas Lichtenegger Date: Thu, 22 Jun 2017 09:13:48 +0200 Subject: [PATCH] Basics for statistical analysis of recurrence matrix. --- applications/solvers/rStatAnalysis/Make/files | 3 + .../solvers/rStatAnalysis/Make/options | 25 +++++++ .../solvers/rStatAnalysis/createFields.H | 0 .../solvers/rStatAnalysis/rStatAnalysis.C | 70 +++++++++++++++++++ .../cfdemParticle/etc/solver-list.txt | 1 + .../standardRecStatAnalysis.C | 1 + .../standardRecStatAnalysis.H | 4 +- 7 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 applications/solvers/rStatAnalysis/Make/files create mode 100644 applications/solvers/rStatAnalysis/Make/options create mode 100644 applications/solvers/rStatAnalysis/createFields.H create mode 100644 applications/solvers/rStatAnalysis/rStatAnalysis.C diff --git a/applications/solvers/rStatAnalysis/Make/files b/applications/solvers/rStatAnalysis/Make/files new file mode 100644 index 00000000..7f43b8f6 --- /dev/null +++ b/applications/solvers/rStatAnalysis/Make/files @@ -0,0 +1,3 @@ +rStatAnalysis.C + +EXE=$(CFDEM_APP_DIR)/rStatAnalysis diff --git a/applications/solvers/rStatAnalysis/Make/options b/applications/solvers/rStatAnalysis/Make/options new file mode 100644 index 00000000..4d0890e2 --- /dev/null +++ b/applications/solvers/rStatAnalysis/Make/options @@ -0,0 +1,25 @@ +include $(CFDEM_ADD_LIBS_DIR)/additionalLibs + +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ + -I$(LIB_SRC)/transportModels \ + -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/lnInclude \ + -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/cfdTools \ + -I$(CFDEM_SRC_DIR)/recurrence/lnInclude \ + -I$(CFDEM_SRC_DIR)/lagrangian/cfdemParticle/derived/cfdemCloudRec \ + +EXE_LIBS = \ + -L$(CFDEM_LIB_DIR)\ + -lrecurrence \ + -lturbulenceModels \ + -lincompressibleTurbulenceModels \ + -lincompressibleTransportModels \ + -lfiniteVolume \ + -lmeshTools \ + -l$(CFDEM_LIB_NAME) \ + $(CFDEM_ADD_LIB_PATHS) \ +$(CFDEM_ADD_LIBS) diff --git a/applications/solvers/rStatAnalysis/createFields.H b/applications/solvers/rStatAnalysis/createFields.H new file mode 100644 index 00000000..e69de29b diff --git a/applications/solvers/rStatAnalysis/rStatAnalysis.C b/applications/solvers/rStatAnalysis/rStatAnalysis.C new file mode 100644 index 00000000..722b3020 --- /dev/null +++ b/applications/solvers/rStatAnalysis/rStatAnalysis.C @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + CFDEMcoupling academic - Open Source CFD-DEM coupling + + Contributing authors: + Thomas Lichtenegger + Copyright (C) 2015- Johannes Kepler University, Linz +------------------------------------------------------------------------------- +License + This file is part of CFDEMcoupling academic. + + CFDEMcoupling academic 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. + + CFDEMcoupling academic 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 CFDEMcoupling academic. If not, see . + +Application + rStatAnalysis + +Description + Creates and analyzes a recurrence statistics + + +\*---------------------------------------------------------------------------*/ + +// #include "fvCFD.H" +// #include "singlePhaseTransportModel.H" +// #include "turbulentTransportModel.H" +// #include "fvOptions.H" + +#include "recBase.H" +#include "recStatAnalysis.H" + + + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "postProcess.H" + #include "setRootCase.H" + #include "createTime.H" + #include "createMesh.H" + #include "createControl.H" + + + recBase recurrenceBase(mesh); + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + Info<< "\nAnalyzing recurrence statistics\n" << endl; + + recurrenceBase.recStatA().init(); + recurrenceBase.recStatA().statistics(); + + Info<< "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/src/lagrangian/cfdemParticle/etc/solver-list.txt b/src/lagrangian/cfdemParticle/etc/solver-list.txt index 095f265a..ca81e35f 100644 --- a/src/lagrangian/cfdemParticle/etc/solver-list.txt +++ b/src/lagrangian/cfdemParticle/etc/solver-list.txt @@ -1,4 +1,5 @@ rcfdemSolverHeattransfer/dir +rStatAnalysis/dir rcfdemSolverBase/dir rtfmSolverSpecies/dir cfdemSolverRhoPimple/dir diff --git a/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.C b/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.C index e24c65ef..3ae8b6bc 100644 --- a/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.C +++ b/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.C @@ -78,6 +78,7 @@ void standardRecStatAnalysis::init() { label size = base_.recM().numRecFields() - ignoreStepsInit_; aveSimilarity_.resize(size,0.0); + correlationSum_.resize(size,0.0); mostDistinct_.resize(size,0.0); } diff --git a/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.H b/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.H index 993b72ea..08efddc6 100644 --- a/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.H +++ b/src/recurrence/recStatAnalysis/standardRecStatAnalysis/standardRecStatAnalysis.H @@ -81,6 +81,8 @@ private: scalarList aveSimilarity_; + scalarList correlationSum_; + scalarList mostDistinct_; void aveSimGeneral(); @@ -88,7 +90,7 @@ private: void aveSimSpecial(); void mostDistinct(); - + };