Changeset 4004


Ignore:
Timestamp:
06/02/10 20:06:37 (15 years ago)
Author:
Eric.Larour
Message:

Finished CreateFemModel with one model framework

Location:
issm/trunk/src
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/DataSet/DataSet.cpp

    r4003 r4004  
    550550/*Objects methods*/
    551551/*FUNCTION DataSet::Configure{{{1*/
    552 void DataSet::Configure(DataSet* elements,DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters){
     552void DataSet::Configure(DataSet* elements,DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters,analysis_counter,analysis_type){
    553553
    554554        vector<Object*>::iterator object;
     
    769769/*}}}*/
    770770/*FUNCTION DataSet::FlagNodeSets{{{1*/
    771 void DataSet::FlagNodeSets(Vec pv_g, Vec pv_m, Vec pv_n, Vec pv_f, Vec pv_s){
     771void DataSet::FlagNodeSets(Vec pv_g, Vec pv_m, Vec pv_n, Vec pv_f, Vec pv_s,int analysis_type){
    772772
    773773        vector<Object*>::iterator object;
     
    781781                        node=(Node*)(*object);
    782782
    783                         /*Plug set values intp our 4 set vectors: */
    784                         node->CreateVecSets(pv_g,pv_m,pv_n,pv_f,pv_s);
     783                        if (node->InAnalysis(analysis_type)){
     784
     785                                /*Plug set values intp our 4 set vectors: */
     786                                node->CreateVecSets(pv_g,pv_m,pv_n,pv_f,pv_s);
     787
     788                        }
    785789
    786790                }
  • issm/trunk/src/c/DataSet/DataSet.h

    r4003 r4004  
    6161                void  SetupSpcs(DataSet* nodes,Vec yg,int analysis_type);
    6262                void  SetupMpcs(Mat Rmg,DataSet* nodes,int analysis_type);
    63                 void  FlagNodeSets(Vec pv_g, Vec pv_m, Vec pv_n, Vec pv_f, Vec pv_s);
     63                void  FlagNodeSets(Vec pv_g, Vec pv_m, Vec pv_n, Vec pv_f, Vec pv_s,int analysis_type);
    6464                void  clear();
    65                 void Configure(DataSet* elements,DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters);
     65                void Configure(DataSet* elements,DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters,int analysis_counter,int analysis_type);
    6666                Object* GetObjectByOffset(int offset);
    6767                Object* GetObjectById(int* poffset,int eid);
  • issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.cpp

    r3913 r4004  
    1010#include "../../EnumDefinitions/EnumDefinitions.h"
    1111
    12 int BuildNodeSetsx( NodeSets** pnodesets, DataSet* nodes){
     12int BuildNodeSetsx( NodeSets** pnodesets, DataSet* nodes,int analysis_type){
    1313
    1414        int noerr=1;
     
    3535
    3636        /*Get gsize; */
    37         gsize=nodes->NumberOfDofs();
     37        gsize=nodes->NumberOfDofs(analysis_type);
    3838
    3939        if(gsize){
     
    4949                 * pv_m, pv_n, pv_f and pv_s, their own set flags, for each dof: */
    5050                nodes->FlagNodeSets(flag_pv_g,flag_pv_m,flag_pv_n,flag_pv_f,flag_pv_s);
    51 
    5251
    5352                /*Now, every cpu has 4 flag vectors, of size gsize. Create partition vectors (like a pos=find(flag_pv_g) in matlab*/
  • issm/trunk/src/c/modules/BuildNodeSetsx/BuildNodeSetsx.h

    r3913 r4004  
    1010
    1111/* local prototypes: */
    12 int             BuildNodeSetsx( NodeSets** pnodesets,DataSet* nodes);
     12int             BuildNodeSetsx( NodeSets** pnodesets,DataSet* nodes,int analysis_type);
    1313void PartitionSets(Vec* ppvb, Vec* ppvc,Vec flag_pva, Vec flag_pv_b, Vec flag_pv_c,int gsize);
    1414
  • issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp

    r3967 r4004  
    1010#include "../../EnumDefinitions/EnumDefinitions.h"
    1111
    12 int     ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters){
     12int     ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials,Parameters* parameters,int analysis_type){
    1313
    1414        /*Intermediary*/
     
    2222        for (i=0;i<elements->Size();i++){
    2323                element=(Element*)elements->GetObjectByOffset(i);
    24                 element->Configure(elements,loads,nodes,materials,parameters);
     24                element->Configure(elements,loads,nodes,materials,parameters,analysis_counter);
    2525        }
    2626        //_printf_("      Configuring loads...\n");
    2727        for (i=0;i<loads->Size();i++){
    2828                load=(Load*)loads->GetObjectByOffset(i);
    29                 load->Configure(elements,loads,nodes,vertices,materials,parameters);
     29                if (load->InAnalysis(analysis_type)){
     30                        load->Configure(elements,loads,nodes,vertices,materials,parameters);
     31                }
    3032        }
    3133        //_printf_("      Configuring nodes...\n");
    3234        for (i=0;i<nodes->Size();i++){
    3335                node=(Node*)nodes->GetObjectByOffset(i);
    34                 node->Configure(nodes,vertices);
     36                if(node->InAnalysis(analysis_type)){
     37                                node->Configure(nodes,vertices);
     38                }
    3539        }
    36         //_printf_("      Configuring parameters...\n");
    37         /*parameters ARE NOT configured!*/
    38         parameters->Configure(elements,loads,nodes,vertices,materials,parameters);
    3940
    4041        return noerr;
  • issm/trunk/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.h

    r3913 r4004  
    99
    1010/* local prototypes: */
    11 int             ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters);
     11int ConfigureObjectsx( DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,int analysis_type);
    1212
    1313#endif  /* _CONFIGUREOBJECTSX_H */
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r3956 r4004  
    164164/*Object management*/
    165165/*FUNCTION Beam::Configure{{{1*/
    166 void  Beam::Configure(DataSet* elementsin,DataSet* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
     166void  Beam::Configure(DataSet* elementsin,DataSet* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin,int analysis_counter){
    167167
    168168        int i;
  • issm/trunk/src/c/objects/Elements/Beam.h

    r3956 r4004  
    5050                bool  IsInput(int name);
    5151                int   MyRank();
    52                 void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
     52                void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters,int analysis_counter);
    5353                Object* copy();
    5454                void  SetClone(int* minranks);
  • issm/trunk/src/c/objects/Elements/Element.h

    r3956 r4004  
    2424               
    2525                virtual        ~Element(){};
    26                 virtual void   Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters)=0;
     26                virtual void   Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters,int analysis_counter)=0;
    2727               
    2828                virtual void   CreateKMatrix(Mat Kgg,int analysis_type,int sub_analysis_type)=0;
  • issm/trunk/src/c/objects/Elements/Sing.cpp

    r3956 r4004  
    105105/*Object management*/
    106106/*FUNCTION Sing::Configure {{{1*/
    107 void  Sing::Configure(DataSet* elementsin,DataSet* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin){
     107void  Sing::Configure(DataSet* elementsin,DataSet* loadsin, DataSet* nodesin, DataSet* materialsin, Parameters* parametersin,int analysis_counter){
    108108
    109109        int i;
  • issm/trunk/src/c/objects/Elements/Sing.h

    r3956 r4004  
    4141                /*}}}*/
    4242                /*object management: {{{1*/
    43                 void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
     43                void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters,int analysis_counter);
    4444                Object* copy();
    4545                void  DeepEcho();
  • issm/trunk/src/c/objects/Elements/Tria.h

    r4001 r4004  
    4141                /*}}}*/
    4242                /*FUNCTION object management {{{1*/
    43                 void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters);
     43                void  Configure(DataSet* elements,DataSet* loads,DataSet* nodes,DataSet* materials,Parameters* parameters,int analysis_counter);
    4444                void  Update(IoModel* iomodel,int analysis_counter,int analysis_type);
    4545                Object* copy();
  • issm/trunk/src/c/objects/FemModel.cpp

    r4003 r4004  
    2121/*Object constructors and destructor*/
    2222/*FUNCTION FemModel::constructor {{{1*/
    23 FemModel::FemModel(int in_nummodels){
     23FemModel::FemModel(ConstDataHandle IOMODEL,int* analyses, int nummodels){
    2424
    2525        /*intermediary*/
    2626        int i;
     27        IoModel* iomodel=NULL;
     28        int analysis_type;
    2729
    28         nummodels=in_nummodels;
    29         analysis_counter=-1;
     30        this->nummodels=nummodels;
     31        analysis_counter=nummodels-1; //point to last analysis_type carried out.
    3032       
    3133        /*Dynamically allocate whatever is a list of length nummodels: */
    3234        analysis_type_list=(int*)xmalloc(nummodels*sizeof(int));
    33         for(i=0;i<nummodels;i++)analysis_type_list[i]=NoneAnalysisEnum;
     35        Rmg=(Mat*)xmalloc(nummodels*sizeof(Mat));
     36        Gmn=(Mat*)xmalloc(nummodels*sizeof(Mat));
     37        nodesets=(NodeSets**)xmalloc(nummodels*sizeof(NodeSet*));
     38        yg=(Vec*)xmalloc(nummodels*sizeof(Vec));
     39        ys=(Vec*)xmalloc(nummodels*sizeof(Vec));
    3440
    35         Rmg=(Mat*)xmalloc(nummodels*sizeof(Mat));
     41        /*Initialize: */
     42        for(i=0;i<nummodels;i++)analysis_type_list[i]=analyses[i];
    3643        for(i=0;i<nummodels;i++)Rmg[i]=NULL;
    37 
    38         Gmn=(Mat*)xmalloc(nummodels*sizeof(Mat));
    3944        for(i=0;i<nummodels;i++)Gmn[i]=NULL;
    40 
    41         nodesets=(NodeSets**)xmalloc(nummodels*sizeof(NodeSet*));
    4245        for(i=0;i<nummodels;i++)nodesets[i]=NULL;
    43 
    44         yg=(Vec*)xmalloc(nummodels*sizeof(Vec));
    4546        for(i=0;i<nummodels;i++)yg[i]=NULL;
    46 
    47         ys=(Vec*)xmalloc(nummodels*sizeof(Vec));
    4847        for(i=0;i<nummodels;i++)ys[i]=NULL;
    4948
     49        _printf_("   fill model with matlab workspace data\n");
     50        iomodel = new IoModel(IOMODEL);
     51
     52        for(i=0;i<nummodels;i++){
     53
     54                analysis_type=analysis_type_list[i];
     55       
     56                _printf_("   create datasets:\n");
     57                CreateDataSets(&elements,&nodes,&vertices,&materials,&constraints,&loads,&parameters,iomodel,IOMODEL,analysis_type,nummodels,i);
     58
     59                _printf_("   create degrees of freedom: \n");
     60                VerticesDofx( &partition,&tpartition,vertices,parameters);
     61                NodesDofx( nodes,parameters);
     62
     63                _printf_("   create single point constraints: \n");
     64                SpcNodesx( &yg[i], nodes,constraints,analysis_type);
     65
     66                _printf_("   create rigid body constraints:\n");
     67                MpcNodesx( &Rmg[i], nodes,constraints,analysis_type);
     68
     69                _printf_("   create node sets:\n");
     70                BuildNodeSetsx(&nodesets[i], nodes,analysis_type);
     71
     72                _printf_("   reducing single point constraints vector:\n");
     73                Reducevectorgtosx(&ys[i], yg[i],nodesets[i]);
     74
     75                _printf_("   normalizing rigid body constraints matrix:\n");
     76                NormalizeConstraintsx(&Gmn[i], Rmg[i],nodesets[i]);
     77
     78                _printf_("   configuring element and loads:\n");
     79                ConfigureObjectsx(elements, loads, nodes, vertices, materials,parameters,i,analysis_type);
     80        }
     81
     82        _printf_("   free ressources:\n");
     83        delete iomodel;
    5084}
    5185/*}}}1*/
     
    107141
    108142/*Numerics: */
    109 /*FUNCTION FemModel::AddAnalysis(ConstDataHandle FEMMODEL, int analysis_type) {{{1*/
    110 void  FemModel::AddAnalysis(ConstDataHandle IOMODEL, int analysis_type){
    111 
    112         /*Set counter: */
    113         if (analysis_counter==-1)analysis_counter=0;
    114         else analysis_counter++;
    115 
    116         /*intermediary: */
    117         IoModel* iomodel=NULL;
    118        
    119         _printf_("   fill model with matlab workspace data\n");
    120         iomodel = new IoModel(IOMODEL);
    121 
    122         _printf_("   create datasets:\n");
    123         CreateDataSets(&elements,&nodes,&vertices,&materials,&constraints,&loads,&parameters,iomodel,IOMODEL,analysis_type,nummodels,analysis_counter);
    124 
    125         _printf_("   create degrees of freedom: \n");
    126         VerticesDofx( &partition,&tpartition,vertices,parameters);
    127         NodesDofx( nodes,parameters);
    128        
    129         _printf_("   create single point constraints: \n");
    130         SpcNodesx( &yg[analysis_counter], nodes,constraints,analysis_type);
    131        
    132         _printf_("   create rigid body constraints:\n");
    133         MpcNodesx( &Rmg[analysis_counter], nodes,constraints,analysis_counter);
    134        
    135         _printf_("   create node sets:\n");
    136         BuildNodeSetsx(&nodesets[analysis_counter], nodes);
    137 
    138         _printf_("   reducing single point constraints vector:\n");
    139         Reducevectorgtosx(&ys[analysis_counter], yg[analysis_counter],nodesets[analysis_counter]);
    140        
    141         _printf_("   normalizing rigid body constraints matrix:\n");
    142         NormalizeConstraintsx(&Gmn[analysis_counter], Rmg[analysis_counter],nodesets[analysis_counter]);
    143 
    144         _printf_("   configuring element and loads:\n");
    145         ConfigureObjectsx(elements, loads, nodes, vertices, materials,parameters);
    146 
    147         _printf_("   process parameters:\n");
    148         ProcessParamsx( parameters, partition->vector);
    149 
    150         _printf_("   free ressources:\n");
    151         delete iomodel;
    152 }
    153 /*}}}1*/
    154143/*FUNCTION FemModel::GetCurrentAnalysis {{{1*/
    155144int FemModel::GetCurrentAnalysis(){
  • issm/trunk/src/c/objects/FemModel.h

    r4001 r4004  
    4646
    4747                /*constructors, destructors: */
    48                 FemModel(int nummodels);
     48                FemModel(ConstDataHandle IOMODEL,int* analyses, int nummodels);
    4949                ~FemModel();
    5050
     
    5353
    5454                /*Fem: */
    55                 void  AddAnalysis(ConstDataHandle IOMODEL, int analysis_type);
    5655                void  SetCurrentAnalysis(int analysis_type);
    5756                int   GetCurrentAnalysis(void);
  • issm/trunk/src/c/objects/Loads/Load.h

    r3751 r4004  
    3434                virtual void  PenaltyCreateKMatrix(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type)=0;
    3535                virtual void  PenaltyCreatePVector(Vec pg,double kmax,int analysis_type,int sub_analysis_type)=0;
     36                virtual bool  InAnalysis(int analysis_type);
    3637};
    3738#endif
  • issm/trunk/src/c/objects/Loads/Numericalflux.cpp

    r3886 r4004  
    842842}
    843843/*}}}*/
     844/*FUNCTION Numericalflux::InAnalysis(int analysis_type){{{1*/
     845bool Numericalflux::InAnalysis(int in_analysis_type){
     846        if (in_analysis_type=this->analysis_type)return true;
     847        else return false;
     848}
     849/*}}}*/
  • issm/trunk/src/c/objects/Loads/Numericalflux.h

    r3751 r4004  
    5151                void    UpdateInputsFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
    5252                void    UpdateInputsFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
    53 
    5453                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     54                bool    InAnalysis(int analysis_type);
    5555
    5656                /*}}}*/
  • issm/trunk/src/c/objects/Loads/Pengrid.cpp

    r3877 r4004  
    776776}
    777777/*}}}*/
     778/*FUNCTION Pengrid::InAnalysis(int analysis_type){{{1*/
     779bool Pengrid::InAnalysis(int in_analysis_type){
     780        if (in_analysis_type=this->analysis_type)return true;
     781        else return false;
     782}
     783/*}}}*/
  • issm/trunk/src/c/objects/Loads/Pengrid.h

    r3871 r4004  
    5757                void  UpdateInputsFromConstant(int constant, int name);
    5858                void  UpdateInputsFromConstant(bool constant, int name);
    59 
    6059                void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
     60                bool  InAnalysis(int analysis_type);
    6161
    6262                /*}}}*/
  • issm/trunk/src/c/objects/Loads/Penpair.cpp

    r3784 r4004  
    191191}
    192192/*}}}1*/
     193/*FUNCTION Penpair::InAnalysis(int analysis_type){{{1*/
     194bool Penpair::InAnalysis(int in_analysis_type){
     195        if (in_analysis_type=this->analysis_type)return true;
     196        else return false;
     197}
     198/*}}}*/
  • issm/trunk/src/c/objects/Loads/Penpair.h

    r3751 r4004  
    4949                void    UpdateInputsFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
    5050                void    UpdateInputsFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
    51 
    5251                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     52                bool    InAnalysis(int analysis_type);
    5353
    5454
  • issm/trunk/src/c/solutions/diagnostic.cpp

    r3982 r4004  
    4040        double   start_init, finish_init;
    4141
     42        int analyses[5]={DiagnosticHorizAnalysisEnum,DiagnosticVertAnalysisEnum,DiagnosticStokesAnalysisEnum,DiagnosticHutterAnalysisEnum,SlopecomputeAnalysisEnum};
     43
    4244        MODULEBOOT();
    4345
     
    6163        /*Initialize femmodel structure: */
    6264        MPI_Barrier(MPI_COMM_WORLD); start_init=MPI_Wtime();
    63         femmodel=new FemModel(5);
    6465
    6566        /*Open handle to data on disk: */
    6667        fid=pfopen(inputfilename,"rb");
    6768
    68         _printf_("read and create finite element femmodel:\n");
    69         _printf_("\n   reading diagnostic horiz femmodel data:\n");
    70         femmodel->AddAnalysis(fid,DiagnosticHorizAnalysisEnum);
    71 
    72         _printf_("\n   reading diagnostic vert femmodel data:\n");
    73         femmodel->AddAnalysis(fid,DiagnosticVertAnalysisEnum);
     69        _printf_("create finite element model, using analyses types statically defined above:\n");
     70        femmodel=new FemModel(iomodel,analyses,5);
    7471       
    75         _printf_("\n   reading diagnostic stokes femmodel data:\n");
    76         femmodel->AddAnalysis(fid,DiagnosticStokesAnalysisEnum);
    77        
    78         _printf_("\n   reading diagnostic hutter femmodel data:\n");
    79         femmodel->AddAnalysis(fid,DiagnosticHutterAnalysisEnum);
    80        
    81         _printf_("\n   reading surface and bed slope computation femmodel data:\n");
    82         femmodel->AddAnalysis(fid,SlopecomputeAnalysisEnum);
    83 
    8472        /*get parameters: */
    8573        femmodel->parameters->FindParam(&qmu_analysis,QmuAnalysisEnum);
  • issm/trunk/src/c/solutions/diagnostic_core.cpp

    r3982 r4004  
    7979        femmodel->parameters->FindParam(&numberofdofspernode_ds,NumberOfDofsPerNodeEnum);
    8080
    81         //for qmu analysis, be sure the velocity input we are starting from  is the one in the parameters: */
     81        /*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/
    8282        if(qmu_analysis){
    83                 femmodel->parameters->FindParam(&vx,&dummy,VxEnum); femmodel->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
    84                 femmodel->parameters->FindParam(&vy,&dummy,VyEnum); femmodel->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
    85                 femmodel->parameters->FindParam(&vz,&dummy,VzEnum); femmodel->UpdateInputsFromVector(vz,VzEnum,VertexEnum);
     83                ReinitializeInputx(femmodel,VxEnum,QmuVxEnum);
     84                ReinitializeInputx(femmodel,VyEnum,QmuVyEnum);
     85                ReinitializeInputx(femmodel,VzEnum,QmuVzEnum);
    8686        }
    8787
  • issm/trunk/src/m/solutions/jpl/CreateFemModel.m

    r4002 r4004  
    1818
    1919                displaystring(md.verbose,'%s','   generating single point constraints...');
    20                 [m.nodes,m.yg]=SpcNodes(m.nodes,m.constraints);
     20                [m.nodes,m.yg(i)]=SpcNodes(m.nodes,m.constraints,analyses[i]);
    2121
    2222                displaystring(md.verbose,'%s','   generating rigid body constraints...');
    23                 [m.Rmg,m.nodes]=MpcNodes(m.nodes,m.constraints);
     23                [m.Rmg(i),m.nodes]=MpcNodes(m.nodes,m.constraints,analyses[i]);
    2424
    2525                displaystring(md.verbose,'%s','   generating node sets...');
    26                 m.nodesets=BuildNodeSets(m.nodes);
     26                m.nodesets(i)=BuildNodeSets(m.nodes,analyses[i]);
    2727
    2828                displaystring(md.verbose,'%s','   reducing single point constraints vector...');
    29                 m.ys=Reducevectorgtos(m.yg.vector,m.nodesets);
     29                m.ys(i)=Reducevectorgtos(m.yg(i).vector,m.nodesets(i));
    3030               
    3131                displaystring(md.verbose,'%s','   normalizing rigid body constraints matrix...');
    32                 m.Gmn = NormalizeConstraints(m.Rmg,m.nodesets);
     32                m.Gmn(i)= NormalizeConstraints(m.Rmg(i),m.nodesets(i));
    3333
    3434                displaystring(md.verbose,'%s','   configuring element and loads...');
    3535                [m.elements,m.loads,m.nodes,m.parameters] = ConfigureObjects( m.elements, m.loads, m.nodes, m.vertices,m.materials,m.parameters);
    36 
    37                 displaystring(md.verbose,'%s','   processing parameters...');
    38                 m.parameters= ProcessParams(m.parameters,m.part.vector);
    3936        end
    4037
  • issm/trunk/src/mex/BuildNodeSets/BuildNodeSets.cpp

    r2333 r4004  
    1313        /*input datasets: */
    1414        DataSet*     nodes=NULL;
     15        int analysis_type;
    1516
    1617        /* output datasets: */
     
    2526        /*Input datasets: */
    2627        FetchData(&nodes,NODES);
     28        FetchData(&analysis_type,ANALYSISTYPE);
    2729       
    2830        /*!Generate internal degree of freedom numbers: */
    29         BuildNodeSetsx(&nodesets, nodes);
     31        BuildNodeSetsx(&nodesets, nodes,analysis_type);
    3032
    3133        /*write output datasets: */
  • issm/trunk/src/mex/BuildNodeSets/BuildNodeSets.h

    r3913 r4004  
    2121/* serial input macros: */
    2222#define NODES (mxArray*)prhs[0]
     23#define ANALYSISTYPE (mxArray*)prhs[1]
    2324
    2425/* serial output macros: */
     
    2930#define NLHS  1
    3031#undef NRHS
    31 #define NRHS  1
     32#define NRHS  2
    3233
    3334
Note: See TracChangeset for help on using the changeset viewer.