From af0781e61a1621f7abaf5a54bdf71e93b2a89f55 Mon Sep 17 00:00:00 2001
From: kevin <kevin-spilker@hotmail.de>
Date: Thu, 19 Jan 2023 15:50:23 +0100
Subject: [PATCH] cleaning

---
 NonLinearSolver/modelReduction/Clustering.cpp | 156 +-----------------
 NonLinearSolver/modelReduction/Clustering.h   |  14 +-
 2 files changed, 10 insertions(+), 160 deletions(-)

diff --git a/NonLinearSolver/modelReduction/Clustering.cpp b/NonLinearSolver/modelReduction/Clustering.cpp
index 68f61e4be..c79eca2fe 100644
--- a/NonLinearSolver/modelReduction/Clustering.cpp
+++ b/NonLinearSolver/modelReduction/Clustering.cpp
@@ -756,7 +756,8 @@ void Clustering::setNumberOfClustersForMaterialHierarchical(int matNum, int nbCl
 }
 
 void Clustering::solveStrainConcentration(nonLinearMechSolver& solver, 
-                                          int computeHomStiffness, int homStiffnessFromLocal, 
+                                          int computeHomStiffness, 
+                                          int homStiffnessFromLocal, 
                                           int getLocalOrientation,
                                           bool saveToFile, const std::string strainConcentrationFileName, 
                                           bool saveLocalOrientationDataToFile, const std::string localOrientationFileName)
@@ -1280,7 +1281,7 @@ void Clustering::solveStrainConcentration(nonLinearMechSolver& solver,
     fclose(f);
     printf("done writing strain concentration tensor to file\n");
   }
-  if (saveLocalOrientationDataToFile and getLocalOrientation)
+  if (saveLocalOrientationDataToFile)
   {
     printf("start writing local orientation to file\n");
     FILE* f = fopen(localOrientationFileName.c_str(),"w");
@@ -2298,8 +2299,6 @@ bool Clustering::computeClustersElasticity(int minNumberElementEachCluster, int
                                  bool saveToFile, std::string clusterFileName,
                                  bool saveSummaryFile, std::string summaryFileName,
                                  bool saveMostStrainIPFile, const std::string saveMostStrainIPFileName,
-                                 bool saveStrainConcStDFile, const std::string saveStrainConcStDFileName,
-                                 bool saveClusterPositionFile, const std::string saveClusterPositionFileName,
                                  bool saveClusterMeanFiberOrientationFile, const std::string saveClusterMeanFiberOrientationFileName
                                  )
 {
@@ -2368,17 +2367,7 @@ bool Clustering::computeClustersElasticity(int minNumberElementEachCluster, int
 
         // most strain IP
         mostStrainIP[clusterNum] = clutering_impls::maxConcentrationCluster(cluster);
-        Msg::Info("most strain in cluster = %d is IP %d",clusterNum,mostStrainIP[clusterNum]);
-        
-        /*fullVector<double> cluster_position(3);
-        double x_mean(0.), y_mean(0.), z_mean(0.);
-        clutering_impls::meanClusterPosition(cluster,_mapGaussPoints,x_mean,y_mean,z_mean);
-        cluster_position(0) = x_mean;
-        cluster_position(1) = y_mean;
-        cluster_position(2) = z_mean;
-        _clusterPositionMap[clusterNum] = cluster_position;
-        Msg::Info("position of cluster = %d is %.16g,%.16g,%.16g ",clusterNum,x_mean,y_mean,z_mean);*/
-        
+        Msg::Info("most strain in cluster = %d is IP %d",clusterNum,mostStrainIP[clusterNum]);       
         
         /*fullVector<double> cluster_fiberOrientation(3);
         double E1_mean(0.), E2_mean(0.), E3_mean(0.);
@@ -2417,28 +2406,7 @@ bool Clustering::computeClustersElasticity(int minNumberElementEachCluster, int
     fclose(f);
     printf("done writing data to file: %s \n",fname.c_str());
   }
-  
-  if (saveClusterPositionFile)
-  {
-    std::vector<std::string> splitFileName = SplitFileName(saveClusterPositionFileName);
-    std::string fname = splitFileName[1]+"_nbClusters_"+std::to_string(_totalNumberOfClusters)+splitFileName[2];
-    FILE* f = fopen(fname.c_str(),"w");
-    printf("start writing cluster position to file: %s\n",fname.c_str());
-    std::string str ="CLUSTER_ID X Y Z";
-    fprintf(f,"%s\n",str.c_str());
-    for (std::map<int, fullVector<double> >::const_iterator it = _clusterPositionMap.begin();  it!= _clusterPositionMap.end(); it++)
-    { 
-      int clusterId = it->first;
-      fullVector<double> xyz = it->second;
-      double x = xyz(0);
-      double y = xyz(1);
-      double z = xyz(2);
-      fprintf(f, "%d %.16g %.16g %.16g\n",clusterId,x,y,z);
-    }
-    fclose(f);
-    printf("done writing cluster position to file: %s \n",fname.c_str());
-  }
-  
+
   if (saveClusterMeanFiberOrientationFile)
   {
     std::vector<std::string> splitFileName = SplitFileName(saveClusterMeanFiberOrientationFileName);
@@ -2523,48 +2491,6 @@ bool Clustering::computeClustersElasticity(int minNumberElementEachCluster, int
     fclose(f);
     printf("done writing cluster summary to file: %s \n",fname.c_str());
   }
-  
-  
-  if(saveStrainConcStDFile)
-  {
-    std::vector<std::string> splitFileName = SplitFileName(saveStrainConcStDFileName);
-    std::string fname = splitFileName[1]+"_nbClusters_"+std::to_string(_totalNumberOfClusters)+splitFileName[2];
-    FILE* f = fopen(fname.c_str(),"w");
-    printf("start writing cluster std to file: %s\n",fname.c_str());
-    std::string str ="CLUSTER_ID MAT_NUM VOLUME";
-    // write data
-    for (int i=0; i<6; i++)
-    {
-      for (int j=0; j<6; j++)
-      {
-        str += " STD_A_"+std::to_string(i)+std::to_string(j);
-      }
-    }
-    fprintf(f,"%s\n",str.c_str());
-    // write data
-    for (std::map<int, STensor43>::const_iterator it = _clusterSTDTensorMap.begin();  it!= _clusterSTDTensorMap.end(); it++)
-    { 
-      int cluster = it->first;
-      int matNum = _clusterMaterialMap[cluster];
-      double volume = _clusterVolumeMap[cluster];
-      fprintf(f,"%d %d %.16g",cluster, matNum, volume);
-      const STensor43& Astd = it->second;
-      static fullMatrix<double> mat(6,6);
-      STensorOperation::fromSTensor43ToFullMatrix(Astd,mat);
-      printf("writing data for cluster %d\n",cluster);
-      mat.print("std strain concentration tensor");
-      for (int i=0; i<6; i++)
-      {
-        for (int j=0; j<6; j++)
-        {
-          fprintf(f, " %.16g",mat(i,j));
-        }
-      }
-      fprintf(f, "\n");
-    }
-    fclose(f);
-    printf("done writing cluster std to file: %s \n",fname.c_str());  
-  }  
   return true;
 };
 
@@ -2846,9 +2772,6 @@ bool Clustering::computeClustersPlasticity(int minNumberElementEachCluster, int
                                  bool saveSummaryFile, std::string summaryFileName,
                                  bool savePlastStrainConcFile, std::string plastStrainconcFileName,
                                  bool savePlastEqStrainConcFile, std::string plastEqstrainconcFileName,
-                                 bool savePlastStrainConcSTDFile, std::string plastStrainconcstdevFileName,
-                                 bool saveMostStrainIPFile, const std::string saveMostStrainIPFileName,
-                                 bool saveClusterPositionFile, const std::string saveClusterPositionFileName,
                                  bool saveClusterMeanFiberOrientationFile, const std::string saveClusterMeanFiberOrientationFileName
                                  )
 {
@@ -3040,45 +2963,6 @@ bool Clustering::computeClustersPlasticity(int minNumberElementEachCluster, int
     }
   }
   //
-  if (saveMostStrainIPFile)
-  {
-    std::vector<std::string> splitFileName = SplitFileName(saveMostStrainIPFileName);
-    std::string fname = splitFileName[1]+"_nbClusters_"+std::to_string(_totalNumberOfClusters)+splitFileName[2];
-    FILE* f = fopen(fname.c_str(),"w");
-    std::string str ="CLUSTER_ID ELE_NUM GP_NUM";
-    fprintf(f,"%s\n",str.c_str());
-    for (std::map<int, int >::const_iterator it = mostStrainIP.begin();  it!= mostStrainIP.end(); it++)
-    { 
-      int clusterId = it->first;
-      int ipType = it->second;
-      int ele, gp;
-      numericalMaterialBase::getTwoIntsFromType(ipType,ele,gp);
-      fprintf(f, "%d %d %d\n",clusterId, ele, gp);
-    }
-    fclose(f);
-    printf("done writing data to file: %s \n",fname.c_str());
-  }
-  
-  if (saveClusterPositionFile)
-  {
-    std::vector<std::string> splitFileName = SplitFileName(saveClusterPositionFileName);
-    std::string fname = splitFileName[1]+"_nbClusters_"+std::to_string(_totalNumberOfClusters)+splitFileName[2];
-    FILE* f = fopen(fname.c_str(),"w");
-    printf("start writing cluster position to file: %s\n",fname.c_str());
-    std::string str ="CLUSTER_ID X Y Z";
-    fprintf(f,"%s\n",str.c_str());
-    for (std::map<int, fullVector<double> >::const_iterator it = _clusterPositionMap.begin();  it!= _clusterPositionMap.end(); it++)
-    { 
-      int clusterId = it->first;
-      fullVector<double> xyz = it->second;
-      double x = xyz(0);
-      double y = xyz(1);
-      double z = xyz(2);
-      fprintf(f, "%d %.16g %.16g %.16g\n",clusterId,x,y,z);
-    }
-    fclose(f);
-    printf("done writing cluster position to file: %s \n",fname.c_str());
-  }
   
   if (saveClusterMeanFiberOrientationFile)
   {
@@ -3288,36 +3172,6 @@ bool Clustering::computeClustersPlasticity(int minNumberElementEachCluster, int
     fclose(fplPowMean);
     printf("done writing cluster plastic eq. power mean summary to file: %s \n",fnamePlPowMean.c_str());
   }
-
-  if (savePlastStrainConcSTDFile)
-  {
-    std::vector<std::string> splitFileNameSTD = SplitFileName(plastStrainconcstdevFileName);
-    std::string fnamePlStd = splitFileNameSTD[1]+"_nbClusters_"+std::to_string(_totalNumberOfClusters)+splitFileNameSTD[2];
-    FILE* fplstd = fopen(fnamePlStd.c_str(),"w");
-    std::string strPlSTD ="CLUSTER_ID MAT_NUM VOLUME";
-    // write data
-    for (int i=0; i<36; i++)
-    {
-      strPlSTD += " STD_A_pl_"+std::to_string(i);
-    }
-    fprintf(fplstd,"%s\n",strPlSTD.c_str());
-    // write data
-    for (std::map<int, fullVector<double>>::const_iterator it = _clusterPlSTDVectorMap.begin();  it!= _clusterPlSTDVectorMap.end(); it++)
-    { 
-      int cluster = it->first;
-      int matNum = _clusterMaterialMap[cluster];
-      double volume = _clusterVolumeMap[cluster];
-      fprintf(fplstd,"%d %d %.16g",cluster, matNum, volume);
-      const fullVector<double>& plasticSTD = it->second;
-      for (int i=0; i<36; i++)
-      {
-        fprintf(fplstd, " %.16g",plasticSTD(i));
-      }
-      fprintf(fplstd, "\n");
-    }
-    fclose(fplstd);
-    printf("done writing cluster plastic eq. std to file: %s \n",fnamePlStd.c_str());
-  }
   return true;
 };
 
diff --git a/NonLinearSolver/modelReduction/Clustering.h b/NonLinearSolver/modelReduction/Clustering.h
index 0288a3466..7fa9082f8 100644
--- a/NonLinearSolver/modelReduction/Clustering.h
+++ b/NonLinearSolver/modelReduction/Clustering.h
@@ -217,8 +217,9 @@ class Clustering
     Clustering();
     // solve strain concentrartion tensor at gauss points and save to file
     void solveStrainConcentration(nonLinearMechSolver& solver,
-                                  int computeHomStiffness = 0, int homStiffnessFromLocal=0, 
-                                  int getLocalOrientation = 0,
+                                  int computeHomStiffness = 0,   // compute homogenized elastic stiffness: 0=no; 1=yes
+                                  int homStiffnessFromLocal=0,   // 0= compute hom el. stiffness from hom. stress, strain; 1=compute hom. el. stiffness as local average over C(x):A(x)
+                                  int getLocalOrientation = 0,   // for materials with microstructure, e.g. woven composite
                                   bool saveToFile=true, const std::string strainConcentrationFileName = "strainConcentrationData.csv", 
                                   bool saveLocalOrientationDataToFile=true, const std::string localOrientationFileName = "orientationData.csv");
     void solveStrainConcentrationInelastic(nonLinearMechSolver& solverInelastic,bool saveToFile=true, 
@@ -249,10 +250,8 @@ class Clustering
     
     bool computeClustersElasticity(int minNumberElementEachCluster, int maxNbIterations=10000,
                                  bool saveToFile=true, const std::string clusterFileName = "ClusterData.csv", 
-                                 bool saveSummaryFile=true, const std::string summaryFileName = "ClusterDataSummary.csv", 
-                                 bool saveMostStrainIPFile = true, const std::string saveMostStrainIPFileName = "MostStrainingIPSummary.csv",
-                                 bool saveStrainConcStDFile = true, const std::string saveStrainConcStDFileName = "ClusterStrainConcStD.csv",
-                                 bool saveClusterPositionFile = true, const std::string saveClusterPositionFileName = "ClusterPosition.csv",
+                                 bool saveSummaryFile=true, const std::string summaryFileName = "ClusterDataSummary.csv",
+                                 bool saveMostStrainIPFile=true, const std::string saveMostStrainIPFileName = "MostStrainingIPSummary.csv",
                                  bool saveClusterMeanFiberOrientationFile=true, const std::string saveClusterMeanFiberOrientationFileName = "ClusterMeanFiberOrientation.csv"
                                  );
                                  
@@ -266,9 +265,6 @@ class Clustering
                                  bool saveSummaryFile=true, const std::string summaryFileName = "ClusterDataSummary.csv", 
                                  bool savePlastStrainConcFile=true, std::string plastStrainconcFileName = "ClusterPlasticSummary.csv",
                                  bool savePlastEqStrainConcFile=true, std::string plastEqstrainconcFileName = "ClusterPlasticEqSummary.csv",
-                                 bool savePlastStrainConcSTDFile=true, std::string plastStrainconcstdevFileName = "ClusterPlasticStrainTensorSTD.csv",
-                                 bool saveMostStrainIPFile = true, const std::string saveMostStrainIPFileName = "MostStrainingIPSummary.csv",
-                                 bool saveClusterPositionFile = true, const std::string saveClusterPositionFileName = "ClusterPosition.csv",
                                  bool saveClusterMeanFiberOrientationFile=true, const std::string saveClusterMeanFiberOrientationFileName = "ClusterMeanFiberOrientation.csv"
                                  );
                                  
-- 
GitLab