Changeset 3717


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

Getting there

Location:
issm/trunk/src/c
Files:
41 edited

Legend:

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

    r3673 r3717  
    3131
    3232        /*add surface area to elements :*/
    33         elements->AddInput(S,SurfaceAreaEnum);
     33        elements->UpdateInputsFromVector(&S,SurfaceAreaEnum,ConstantEnum);
    3434       
    3535        /*Compute gradients: */
  • issm/trunk/src/c/DataSet/DataSet.cpp

    r3702 r3717  
    14131413}
    14141414/*}}}*/
    1415 /*FUNCTION DataSet::AddInput{{{1*/
    1416 void  DataSet::AddInput(double value, int enum_type){
    1417 
    1418         vector<Object*>::iterator object;
    1419         Element* element=NULL;
    1420 
    1421         for ( object=objects.begin() ; object < objects.end(); object++ ){
    1422 
    1423                 if(EnumIsElement((*object)->Enum())){
    1424 
    1425                         element=(Element*)(*object);
    1426                         element->AddInput(value,enum_type);
    1427                 }
    1428                 else ISSMERROR("%s%i%s"," object with id: ",(*object)->Id()," is not an element, in a function that deals only with elements!");
    1429         }
    1430 }
    1431 /*}}}*/
    14321415/*FUNCTION DataSet::UpdateVertexPositions{{{1*/
    14331416void  DataSet::UpdateVertexPositions(double* thickness,double* bed){
  • issm/trunk/src/c/DataSet/DataSet.h

    r3699 r3717  
    7373                void  UpdateInputsFromVector(double* vector,int name, int type);
    7474                void  UpdateInputsFromSolution(double* solution,int analysis_type,int sub_analysis_type);
    75                 void  AddInput(double value, int enum_type);
    7675                void  PenaltyCreateKMatrix(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type);
    7776                void  PenaltyCreatePVector(Vec pg,double kmax,int analysis_type,int sub_analysis_type);
  • issm/trunk/src/c/Dux/Dux.cpp

    r3673 r3717  
    3333
    3434        /*add surface area to elements :*/
    35         elements->AddInput(S,SurfaceAreaEnum);
     35        elements->UpdateInputsFromVector(&S,SurfaceAreaEnum,ConstantEnum);
    3636       
    3737        /*Get size of matrix: */
  • issm/trunk/src/c/Misfitx/Misfitx.cpp

    r3673 r3717  
    3131
    3232        /*add surface area to elements :*/
    33         elements->AddInput(S,SurfaceAreaEnum);
     33        elements->UpdateInputsFromVector(&S,SurfaceAreaEnum,ConstantEnum);
    3434       
    3535
  • issm/trunk/src/c/PenaltyConstraintsx/RiftConstraints.cpp

    r3673 r3717  
    308308
    309309        /*feed max_penetration to inputs: */
    310         loads->AddInput(max_penetration,MaxPenetrationEnum);
     310        loads->UpdateInputsFromVector(&max_penetration,MaxPenetrationEnum,ConstantEnum);
    311311}
    312312
  • issm/trunk/src/c/Qmux/DakotaResponses.cpp

    r3703 r3717  
    230230                        Vec u_g=NULL;
    231231                        double* u_g_double=NULL;
     232                        double* vx=NULL;
     233                        double* vy=NULL;
     234                        double* vz=NULL;
    232235                        double* fit=NULL;
    233236
    234237                        /*retrieve active fem model: */
    235238                        model->FindParam(&isstokes,IsStokesEnum);
    236                         model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     239                        model->FindParam(&ismacayealpattyn,IsMacAyealPattynEnum);
    237240                        model->FindParam(&ishutter,IsHutterEnum);
    238241
     
    258261                        if(!found)ISSMERROR(" could not find velocity to compute misfit");
    259262
    260                         SplitSolutionVector(&vx,&vy,&vz,u_g,numberofnodes*numberofdofspernode);
     263                        SplitSolutionVector(&vx,&vy,&vz,u_g,numberofnodes,numberofdofspernode);
    261264
    262265                        /*Add to inputs: */
    263                         femmodel->elements->AddInput(vx,VxEnum);
    264                         femmodel->elements->AddInput(vy,VyEnum);
    265                         femmodel->elements->AddInput(vz,VzEnum);
    266                         femmodel->elements->AddInput(fit[0],FitEnum);
     266                        femmodel->elements->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
     267                        femmodel->elements->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
     268                        femmodel->elements->UpdateInputsFromVector(vz,VzEnum,VertexEnum);
     269                        femmodel->elements->UpdateInputsFromVector(fit[0],FitEnum,ConstantEnum);
    267270
    268271                        /*Compute misfit: */
     
    300303                        /*retrieve active fem model: */
    301304                        model->FindParam(&isstokes,IsStokesEnum);
    302                         model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     305                        model->FindParam(&ismacayealpattyn,IsMacAyealPattynEnum);
    303306                        model->FindParam(&ishutter,IsHutterEnum);
    304307
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r3707 r3717  
    749749}
    750750/*}}}1*/
    751 
     751/*FUNCTION Beam::UpdateInputsFromVector(double* vector, int name, int type);{{{1*/
     752void  Beam::UpdateInputsFromVector(double* vector, int name, int type){
     753        ISSMERROR(" not supported yet!");
     754}
     755/*}}}*/
     756
  • issm/trunk/src/c/objects/Elements/Beam.h

    r3703 r3717  
    5353                Object* copy();
    5454                void  SetClone(int* minranks);
    55                 void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     55                void    UpdateInputsFromVector(double* vector, int name, int type);
    5656                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    5757
     
    8989                void  GetJacobianDeterminant(double* pJdet,double* z_list, double gauss_coord);
    9090                double MassFlux(double* segment,double* ug);
    91                 void AddInput(double value, int enum_type){ISSMERROR("not supporte yet!");}
    9291                /*}}}*/
    9392
  • issm/trunk/src/c/objects/Elements/Element.h

    r3703 r3717  
    4545                virtual void   ComputeStrainRate(Vec eps,     int analysis_type,int sub_analysis_type)=0;
    4646                virtual double MassFlux(double* segment,double* ug)=0;
    47                 virtual void   AddInput(double value, int enum_type)=0;
    4847
    4948                /*Implementation: */
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r3715 r3717  
    44584458}
    44594459/*}}}*/
     4460/*FUNCTION Penta::UpdateInputsFromVector(double* vector, int name, int type);{{{1*/
     4461void  Penta::UpdateInputsFromVector(double* vector, int name, int type){
     4462        ISSMERROR(" not supported yet!");
     4463}
     4464/*}}}*/
  • issm/trunk/src/c/objects/Elements/Penta.h

    r3715 r3717  
    141141                void  UpdateInputsFromSolutionBalancedvelocities( double* solution,int analysis_type,int sub_analysis_type);
    142142                void  UpdateInputsFromVector(double* vector, int name, int type);
    143                 void  AddInput(double value, int enum_type){ISSMERROR("not supported yet!");}
    144143
    145144                /*}}}*/
  • issm/trunk/src/c/objects/Elements/Sing.cpp

    r3707 r3717  
    544544}
    545545/*}}}1*/
     546/*FUNCTION Sing::UpdateInputsFromVector(double* vector, int name, int type);{{{1*/
     547void  Sing::UpdateInputsFromVector(double* vector, int name, int type){
     548        ISSMERROR(" not supported yet!");
     549}
     550/*}}}*/
  • issm/trunk/src/c/objects/Elements/Sing.h

    r3703 r3717  
    5353                void  SetClone(int* minranks);
    5454                int   MyRank();
    55                 void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
    56                 void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
     55                void  UpdateInputsFromVector(double* vector, int name, int type);
     56                void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    5757
    5858                /*}}}*/
     
    8484                double CostFunction(int,int);
    8585                double MassFlux(double* segment,double* ug);
    86                 void AddInput(double value, int enum_type){ISSMERROR("not supporte yet!");}
    8786                /*}}}*/
    8887
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r3715 r3717  
    51495149}
    51505150/*}}}*/
     5151/*FUNCTION Tria::UpdateInputsFromVector(double* vector, int name, int type);{{{1*/
     5152void  Tria::UpdateInputsFromVector(double* vector, int name, int type){
     5153        ISSMERROR(" not supported yet!");
     5154}
     5155/*}}}*/
  • issm/trunk/src/c/objects/Elements/Tria.h

    r3703 r3717  
    5050                int   MyRank();
    5151                void  SetClone(int* minranks);
    52                 void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     52                void    UpdateInputsFromVector(double* vector, int name, int type);
    5353                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    5454
     
    127127                void  UpdateInputsFromSolutionBalancedthickness2( double* solution,int analysis_type,int sub_analysis_type);
    128128                void  UpdateInputsFromSolutionBalancedvelocities( double* solution,int analysis_type,int sub_analysis_type);
    129                 void  AddInput(double value, int enum_type){ISSMERROR("not supporte yet!");}
    130129
    131130                /*}}}*/
  • issm/trunk/src/c/parallel/ControlInitialization.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void ControlInitialization(Model* model, ParameterInputs* inputs){
     
    5454        model->FindParam(&dim,DimEnum);
    5555        model->FindParam(&ishutter,IsHutterEnum);
    56         model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     56        model->FindParam(&ismacayealpattyn,IsMacAyealPattynEnum);
    5757        model->FindParam(&isstokes,IsStokesEnum);
    5858        model->FindParam(&numberofnodes,NumberOfNodesEnum);
  • issm/trunk/src/c/parallel/ControlRestart.cpp

    r3709 r3717  
    55
    66#include "./parallel.h"
    7 #include "../issm.h"
     7#include "../modules.h"
    88
    99void ControlRestart(Model* model,double* param_g){
  • issm/trunk/src/c/parallel/ProcessResults.cpp

    r3703 r3717  
    115115        model->FindParam(&ishutter,IsHutterEnum);
    116116        model->FindParam(&isstokes,IsStokesEnum);
    117         model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     117        model->FindParam(&ismacayealpattyn,IsMacAyealPattynEnum);
    118118
    119119        /*Recover femmodels first: */
  • issm/trunk/src/c/parallel/control_core.cpp

    r3709 r3717  
    44
    55#include "./parallel.h"
    6 #include "../issm.h"
     6#include "../modules.h"
    77
    88void control_core(DataSet* results,Model* model, ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/convergence.cpp

    r3703 r3717  
    44
    55#include "../objects/objects.h"
    6 #include "../issm.h"
     6#include "../modules.h"
    77
    88void convergence(int* pconverged, Mat Kff,Vec pf,Vec uf,Vec old_uf,Parameters* parameters){
  • issm/trunk/src/c/parallel/diagnostic_core.cpp

    r3703 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void diagnostic_core(DataSet* results,Model* model){
     
    6262        model->FindParam(&dim,DimEnum);
    6363        model->FindParam(&ishutter,IsHutterEnum);
    64         model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     64        model->FindParam(&ismacayealpattyn,IsMacAyealPattynEnum);
    6565        model->FindParam(&numberofnodes,NumberOfNodesEnum);
    6666        model->FindParam(&isstokes,IsStokesEnum);
  • issm/trunk/src/c/parallel/diagnostic_core_linear.cpp

    r3709 r3717  
    66#include "../objects/objects.h"
    77#include "../EnumDefinitions/EnumDefinitions.h"
    8 #include "../issm.h"
     8#include "../modules.h"
    99
    1010void diagnostic_core_linear(Vec* pug,FemModel* fem,ParameterInputs* inputs,int analysis_type,int sub_analysis_type){
  • issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp

    r3709 r3717  
    66#include "../objects/objects.h"
    77#include "../EnumDefinitions/EnumDefinitions.h"
    8 #include "../issm.h"
     8#include "../modules.h"
    99#include "./parallel.h"
    1010
  • issm/trunk/src/c/parallel/gradjcompute_core.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/objectivefunctionC.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/prognostic.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/prognostic2.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/prognostic2_core.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void prognostic2_core(DataSet* results,Model* model,ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/prognostic_core.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void prognostic_core(DataSet* results,Model* model,ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/slopecompute.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/slopecompute_core.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void slopecompute_core(DataSet* results,Model* model,ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/steadystate.cpp

    r3710 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/steadystate_core.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void steadystate_core(DataSet* results,Model* model, ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/thermal.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/thermal_core.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void thermal_core(DataSet* results,Model* model, ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/thermal_core_nonlinear.cpp

    r3709 r3717  
    66#include "../objects/objects.h"
    77#include "../EnumDefinitions/EnumDefinitions.h"
    8 #include "../issm.h"
     8#include "../modules.h"
    99
    1010void thermal_core_nonlinear(Vec* ptg,double* pmelting_offset,FemModel* fem,ParameterInputs* inputs,int analysis_type,int sub_analysis_type){
  • issm/trunk/src/c/parallel/transient.cpp

    r3709 r3717  
    33 */
    44
    5 #include "../issm.h"
     5#include "../modules.h"
    66#include "./parallel.h"
    77
  • issm/trunk/src/c/parallel/transient_core.cpp

    r3710 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void transient_core(DataSet* results,Model* model, ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/transient_core_2d.cpp

    r3709 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void transient_core_2d(DataSet* results,Model* model, ParameterInputs* inputs){
  • issm/trunk/src/c/parallel/transient_core_3d.cpp

    r3710 r3717  
    88#include "../EnumDefinitions/EnumDefinitions.h"
    99#include "./parallel.h"
    10 #include "../issm.h"
     10#include "../modules.h"
    1111
    1212void transient_core_3d(DataSet* results,Model* model, ParameterInputs* inputs){
Note: See TracChangeset for help on using the changeset viewer.