Commit a4a5ce77 authored by DeAn Wei's avatar DeAn Wei
Browse files

define indepnedent variable in AverageLines.

parent 0a28681c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -292,6 +292,7 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)
            }
            swap(bakInps, inArgs->auxFiles);
        }
        sort(inArgs->auxFiles.begin(), inArgs->auxFiles.end());
#if 0
        if(inArgs->inpFiles.size()>1){
            printf("Input files are:\n");
+46 −10
Original line number Diff line number Diff line
@@ -10,12 +10,12 @@ using namespace std;

void AverageLines(InArgs_t *inArgs)
{
    int     index, i, j, k, colX, colY;
    int     index, i, j, k, colX = -1, colY;
    int     readState;
    bool    firstFile = 1, calTau = 0;
    real8   rsize = 20, min, max, effNums = 0, value;
    string  rsizeName("rsize"), varsName("vars");
    string  str("Ave_"), secLine, tauName("tau");
    string  rsizeName("rsize"), varsName("vars"), overName("over");
    string  str("Ave_"), secLine, tauName("tau"), overVar;

    LineList_t  list;
    Curve_t     curve;
@@ -41,6 +41,8 @@ void AverageLines(InArgs_t *inArgs)
    }

    if((index = GetValID(inArgs->priVars, varsName)) < inArgs->priVars.size()){
        int index2;        

        if(inArgs->priVars[index].vals.size() < 2){
            Fatal("variables is not enough for aveage line");
        }
@@ -49,11 +51,28 @@ void AverageLines(InArgs_t *inArgs)
        varID.resize(inArgs->priVars[index].vals.size());

        printf("The variables (vars) are ");
        if((index2 = GetValID(inArgs->priVars, overName)) < inArgs->priVars.size()){
            overVar = inArgs->priVars[index2].vals[0];
        }else{
            overVar = inArgs->priVars[index].vals[0];
        }

        for(i=0; i<inArgs->priVars[index].vals.size(); i++){
            list.variables[i] = inArgs->priVars[index].vals[i];
            printf("%s ", list.variables[i].c_str());
            if(overVar == list.variables[i]){
                colX = i;
            }
        }
        printf(", averaged over through %s (over).\n", overVar.c_str());

        if(colX < 0){
            Fatal("no %s in the variables.", overVar.c_str());
        }

        if(colX != 0){
            swap(list.variables[0], list.variables[colX]);
        }
        printf("\n");
    }

    if(inArgs->help)return;
@@ -77,11 +96,30 @@ void AverageLines(InArgs_t *inArgs)
                varID.resize(list.variables.size());
            
                printf("The average variables (vars) are: ");

                if((index = GetValID(inArgs->priVars, overName)) < inArgs->priVars.size()){
                    overVar = inArgs->priVars[index].vals[0];   
                }else{
                    overVar = tables[i].variables[0];
                }

                for(j=0; j<tables[i].variables.size(); j++){
                    list.variables[j] = tables[i].variables[j];

                    if(overVar == list.variables[j]){
                        colX = j;
                    }
                    printf("%s ",list.variables[j].c_str());
                }
                printf("\n");
                printf(", averaged over through %s (over).\n", overVar.c_str());

                if(colX < 0){
                    Fatal("no %s in the variables.", overVar.c_str());
                }

                if(colX != 0){
                    swap(list.variables[0], list.variables[colX]);
                }
            }
            min = tables[i].data[0][colX];
            max = tables[i].data[tables[i].data.size()-1][colX];
@@ -93,7 +131,7 @@ void AverageLines(InArgs_t *inArgs)
            }
        }
    }
    printf("The effective range of %s is [%f,%f]\n", list.variables[0].c_str(), min, max);
    printf("The effective range of %s is [%f,%f]\n", overVar.c_str(), min, max);
    printf("%d files was read\n", (int)effNums);

    seq = GenerateSequence(min, max, rsize);
@@ -146,7 +184,6 @@ void AverageLines(InArgs_t *inArgs)
                    }
                }
            }

        }
    }

@@ -158,7 +195,6 @@ void AverageLines(InArgs_t *inArgs)
        list.variables.resize(2*list.variables.size()-1);
        list.data.resize(list.variables.size());


        for(i=oriVals; i<list.variables.size(); i++){
            list.data[i].resize(seq.size());
            list.variables[i] = head + list.variables[i-oriVals+1];
+3 −1
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ int ReadTecplotNormalData(string &file, Table_t &table, string &secLine)
        }
        vector<string>().swap(line);
        col.resize(table.variables.size());

    }else{
        line = split(str, " ");
        table.variables.resize(line.size());
@@ -78,6 +79,7 @@ int ReadTecplotNormalData(string &file, Table_t &table, string &secLine)
        vector<string>().swap(line);
    }
    infile.close();

//    printf("Finsish reading input file %s\n", file.c_str());    
    return 1;            
}
+2 −1
Original line number Diff line number Diff line
@@ -296,7 +296,6 @@ void StitchTecplotData(vector<Table_t> &tables, Table_t &table, int eigenID)
{
    int         i, j, startID = 0;

    if(tables.size() < 2)return;

    vector<string>().swap(table.variables);
    vector<vector<double> >().swap(table.data);
@@ -310,6 +309,8 @@ void StitchTecplotData(vector<Table_t> &tables, Table_t &table, int eigenID)
        table.data.push_back(tables[0].data[i]);
    }    

    if(tables.size() == 1)return;

    for(i=1; i<tables.size(); i++){
        if(tables[i].variables.size() != tables[0].variables.size())continue;