Changeset 3703


Ignore:
Timestamp:
05/11/10 08:28:39 (15 years ago)
Author:
Eric.Larour
Message:

Big commit

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

Legend:

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

    r3673 r3703  
    2222
    2323        /*Recover numberofelements: */
    24         found= parameters->FindParam(&numberofelements,"numberofelements");
     24        found= parameters->FindParam(&numberofelements,NumberOfElementsEnum);
    2525        if (!found) ISSMERROR("numberofelements not provided in parameters");
    2626
  • issm/trunk/src/c/ComputePressurex/ComputePressurex.cpp

    r3673 r3703  
    2222
    2323        /*Recover numberofnodes: */
    24     parameters->FindParam(&numberofnodes,"numberofnodes");
     24    parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    2525
    2626        /*Allocate p_g on numberofnodes (only 1 dof): */
  • issm/trunk/src/c/ComputeStrainRatex/ComputeStrainRatex.cpp

    r3673 r3703  
    2222
    2323        /*Recover numberofelements: */
    24         parameters->FindParam(&numberofelements,"numberofelements");
     24        parameters->FindParam(&numberofelements,NumberOfElementsEnum);
    2525
    2626        /*Allocate eps on numberofelements (only 1 dof): */
  • issm/trunk/src/c/Dofx/Dofx.cpp

    r3673 r3703  
    3636
    3737        /*First, recover number of vertices and nodes from parameters: */
    38         found=parameters->FindParam(&numberofvertices,"numberofvertices");
     38        found=parameters->FindParam(&numberofvertices,NumberOfVerticesEnum);
    3939        if(!found)ISSMERROR(" could not find numberofvertices in parameters");
    4040       
    41         found=parameters->FindParam(&numberofnodes,"numberofnodes");
     41        found=parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    4242        if(!found)ISSMERROR(" could not find numberofnodes in parameters");
    4343
    4444        /*Recover number of dofs per node: */
    45         found=parameters->FindParam(&numberofdofspernode,"numberofdofspernode");
     45        found=parameters->FindParam(&numberofdofspernode,NumberOfDofsPerNodeEnum);
    4646        if(!found)ISSMERROR(" could not find numberofdofspernode in parameters");
    4747
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r3701 r3703  
    222222        IsStokesEnum,
    223223        VerboseEnum,
    224         EpsRes,
    225         EpsRel,
    226         EpsAbs,
     224        EpsResEnum,
     225        EpsRelEnum,
     226        EpsAbsEnum,
    227227        EpsCmEnum,
    228228        MaxNonlinearIterationsEnum,
  • issm/trunk/src/c/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp

    r3673 r3703  
    2424
    2525        /*Initioalize intermediary*/
    26         found=parameters->FindParam(&numberofvertices,"numberofvertices");
     26        found=parameters->FindParam(&numberofvertices,NumberOfVerticesEnum);
    2727        connectivity=NewVec(numberofvertices);
    2828        fieldsum    =NewVec(numberofvertices);
  • issm/trunk/src/c/Makefile.am

    r3701 r3703  
    121121                                        ./objects/NodeSets.cpp\
    122122                                        ./objects/NodeSets.h\
     123                                        ./DataSet/DataSet.h\
    123124                                        ./DataSet/DataSet.cpp\
    124                                         ./DataSet/DataSet.h\
     125                                        ./DataSet/Parameters.cpp\
     126                                        ./DataSet/Inputs.cpp\
    125127                                        ./shared/shared.h\
    126128                                        ./shared/Alloc/alloc.h\
     
    544546                                        ./objects/NodeSets.cpp\
    545547                                        ./objects/NodeSets.h\
     548                                        ./DataSet/DataSet.h\
    546549                                        ./DataSet/DataSet.cpp\
    547                                         ./DataSet/DataSet.h\
     550                                        ./DataSet/Parameters.cpp\
     551                                        ./DataSet/Inputs.cpp\
    548552                                        ./shared/shared.h\
    549553                                        ./shared/Threads/issm_threads.h\
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp

    r3633 r3703  
    44
    55#include "../../DataSet/DataSet.h"
     6#include "../../io/io.h"
    67#include "../../toolkits/toolkits.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp

    r3698 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateLoadsBalancedthickness.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateConstraintsBalancedthickness2.cpp

    r3633 r3703  
    88#include "../../objects/objects.h"
    99#include "../../shared/shared.h"
     10#include "../../io/io.h"
    1011#include "../ModelProcessorx.h"
    1112
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateElementsNodesAndMaterialsBalancedthickness2.cpp

    r3698 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedthickness2/CreateLoadsBalancedthickness2.cpp

    r3673 r3703  
    33
    44#include "../../DataSet/DataSet.h"
     5#include "../../io/io.h"
    56#include "../../toolkits/toolkits.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateConstraintsBalancedvelocities.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateElementsNodesAndMaterialsBalancedvelocities.cpp

    r3696 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateLoadsBalancedvelocities.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Control/CreateParametersControl.cpp

    r3697 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/CreateParameters.cpp

    r3697 r3703  
    99#include "../shared/shared.h"
    1010#include "../MeshPartitionx/MeshPartitionx.h"
     11#include "../io/io.h"
    1112
    1213void CreateParameters(Parameters** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle){
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp

    r3692 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp

    r3673 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateConstraintsDiagnosticStokes.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp

    r3692 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp

    r3679 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp

    r3692 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Melting/CreateConstraintsMelting.cpp

    r3633 r3703  
    44
    55#include "../../DataSet/DataSet.h"
     6#include "../../io/io.h"
    67#include "../../toolkits/toolkits.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp

    r3673 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../include/typedefs.h"
  • issm/trunk/src/c/ModelProcessorx/Melting/CreateLoadsMelting.cpp

    r3679 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp

    r3633 r3703  
    66#include "../../toolkits/toolkits.h"
    77#include "../../EnumDefinitions/EnumDefinitions.h"
     8#include "../../io/io.h"
    89#include "../../objects/objects.h"
    910#include "../../shared/shared.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp

    r3696 r3703  
    88#include "../../objects/objects.h"
    99#include "../../shared/shared.h"
     10#include "../../io/io.h"
    1011#include "../../MeshPartitionx/MeshPartitionx.h"
    1112#include "../../include/typedefs.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp

    r3633 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateConstraintsPrognostic2.cpp

    r3633 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp

    r3696 r3703  
    77#include "../../EnumDefinitions/EnumDefinitions.h"
    88#include "../../objects/objects.h"
     9#include "../../io/io.h"
    910#include "../../shared/shared.h"
    1011#include "../../include/macros.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateLoadsPrognostic2.cpp

    r3646 r3703  
    66#include "../../EnumDefinitions/EnumDefinitions.h"
    77#include "../../objects/objects.h"
     8#include "../../io/io.h"
    89#include "../../shared/shared.h"
    910#include "../../include/macros.h"
  • issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp

    r3697 r3703  
    55
    66#include "../../DataSet/DataSet.h"
     7#include "../../io/io.h"
    78#include "../../toolkits/toolkits.h"
    89#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Qmu/CreateParametersQmu.cpp

    r3697 r3703  
    88#include "../../objects/objects.h"
    99#include "../../shared/shared.h"
     10#include "../../io/io.h"
    1011#include "../../include/macros.h"
    1112#include "../../MeshPartitionx/MeshPartitionx.h"
  • issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateConstraintsSlopeCompute.cpp

    r3633 r3703  
    44
    55#include "../../DataSet/DataSet.h"
     6#include "../../io/io.h"
    67#include "../../toolkits/toolkits.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp

    r3633 r3703  
    44
    55#include "../../DataSet/DataSet.h"
     6#include "../../io/io.h"
    67#include "../../toolkits/toolkits.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateLoadsSlopeCompute.cpp

    r3633 r3703  
    33
    44#include "../../DataSet/DataSet.h"
     5#include "../../io/io.h"
    56#include "../../toolkits/toolkits.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp

    r3633 r3703  
    44
    55#include "../../DataSet/DataSet.h"
     6#include "../../io/io.h"
    67#include "../../toolkits/toolkits.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
  • issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp

    r3696 r3703  
    55#include "../../DataSet/DataSet.h"
    66#include "../../toolkits/toolkits.h"
     7#include "../../io/io.h"
    78#include "../../EnumDefinitions/EnumDefinitions.h"
    89#include "../../objects/objects.h"
  • issm/trunk/src/c/ModelProcessorx/Thermal/CreateLoadsThermal.cpp

    r3679 r3703  
    44#include "../../DataSet/DataSet.h"
    55#include "../../toolkits/toolkits.h"
     6#include "../../io/io.h"
    67#include "../../EnumDefinitions/EnumDefinitions.h"
    78#include "../../objects/objects.h"
  • issm/trunk/src/c/PenaltyConstraintsx/PenaltyConstraintsx.cpp

    r3673 r3703  
    2525
    2626        /*recover parameters: */
    27         parameters->FindParam(&min_mechanical_constraints,"min_mechanical_constraints");
     27        parameters->FindParam(&min_mechanical_constraints,MinMechanicalConstraintsEnum);
    2828
    2929        /*First, get nodes and loads configured: */
  • issm/trunk/src/c/ProcessParamsx/ProcessParamsx.cpp

    r3673 r3703  
    3232
    3333        /*Some parameters needed: */
    34         parameters->FindParam(&numberofvertices,"numberofvertices");
     34        parameters->FindParam(&numberofvertices,NumberOfVerticesEnum);
    3535
    3636        /*serialize partition vector: */
  • issm/trunk/src/c/Qmux/DakotaResponses.cpp

    r3673 r3703  
    2525
    2626        /*some data needed across the responses: */
    27         model->FindParam(&numberofnodes,"numberofnodes");
     27        model->FindParam(&numberofnodes,NumberOfNodesEnum);
    2828
    2929
     
    233233
    234234                        /*retrieve active fem model: */
    235                         model->FindParam(&isstokes,"isstokes");
    236                         model->FindParam(&ismacayealpattyn,"ismacayealpattyn");
    237                         model->FindParam(&ishutter,"ishutter");
     235                        model->FindParam(&isstokes,IsStokesEnum);
     236                        model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     237                        model->FindParam(&ishutter,IsHutterEnum);
    238238
    239239                        if(isstokes){
     
    249249
    250250                        /*Recover some parameters: */
    251                         femmodel->parameters->FindParam(&numberofdofspernode,"numberofdofspernode");
    252                         femmodel->parameters->FindParam(&numberofnodes,"numberofnodes");
    253                         femmodel->parameters->FindParam(&fit,NULL,NULL,"fit");
     251                        femmodel->parameters->FindParam(&numberofdofspernode,NumberOfDofsPernodeEnum);
     252                        femmodel->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
     253                        femmodel->parameters->FindParam(&fit,NULL,NULL,FitEnum);
    254254
    255255                        /*Recover velocity: */
     
    299299               
    300300                        /*retrieve active fem model: */
    301                         model->FindParam(&isstokes,"isstokes");
    302                         model->FindParam(&ismacayealpattyn,"ismacayealpattyn");
    303                         model->FindParam(&ishutter,"ishutter");
     301                        model->FindParam(&isstokes,IsStokesEnum);
     302                        model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
     303                        model->FindParam(&ishutter,IsHutterEnum);
    304304
    305305                        if(isstokes){
     
    314314
    315315                        /*retrieve qmu_mass_flux_segments: */
    316                         param=(Param*)femmodel->parameters->FindParamObject("qmu_mass_flux_segments");
     316                        param=(Param*)femmodel->parameters->FindParamObject(QmuMassFluxSegmentsEnum);
    317317                        if(!param)ISSMERROR(" could not find qmu_mass_flux_segments to compute mass_flux");
    318318                       
  • issm/trunk/src/c/Qmux/SpawnCoreParallel.cpp

    r3673 r3703  
    5757       
    5858        /*some parameters needed: */
    59         model->FindParam(&verbose,"verbose");
     59        model->FindParam(&verbose,VerboseEnum);
    6060               
    6161        /*First off, recover the response descriptors for the response functions: */
    62         param=(Param*)model->GetFormulation(DiagnosticAnalysisEnum,HorizAnalysisEnum)->parameters->FindParamObject("responsedescriptors");
     62        param=(Param*)model->GetFormulation(DiagnosticAnalysisEnum,HorizAnalysisEnum)->parameters->FindParamObject(ResponseDescriptorsEnum);
    6363        if(!param)ISSMERROR(" could not find response descriptors!");
    6464
     
    6666
    6767        /*Recover partitioning for dakota: */
    68         model->FindParam(&qmu_npart,"qmu_npart");
    69         model->FindParam(&qmu_part,NULL,NULL,"qmu_part");
     68        model->FindParam(&qmu_npart,QmuNpartEnum);
     69        model->FindParam(&qmu_part,NULL,NULL,QmuPartEnum);
    7070
    7171        /*broadcast variables: only cpu 0 has correct values*/
  • issm/trunk/src/c/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.cpp

    r3699 r3703  
    99#include "../EnumDefinitions/EnumDefinitions.h"
    1010
    11 int UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type){
     11void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type){
    1212
    13         int noerr=1;
    14         int i;
     13        double* serial_solution=NULL;
    1514
    16         int  found=0;
    17         extern int num_procs;
    18         extern int my_rank;
    19         double* serial_solution=NULL;
     15        /*Serialize solution, so that elements can index into it on every CPU: */
     16        VecToMPISerial(&serial_solution,solution);
    2017
    2118        /*First, get elements and loads configured: */
     
    2522        parameters->Configure(elements,loads, nodes,vertices, materials,parameters);
    2623
    27         /*Serialize solution, so that elements can index into it on every CPU: */
    28         VecToMPISerial(&serial_solution,solution);
    29 
    30         /*Update elements, nodes, loads and materials from inputs: */
     24       
     25        /*Elements drive the update: */
    3126        elements->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    32         nodes->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    33         vertices->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    34         loads->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    35         materials->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    36         parameters->UpdateInputsFromSolution(serial_solution,analysis_type,sub_analysis_type);
    3727
    3828        /*Free ressources:*/
    3929        xfree((void**)&serial_solution);
    4030
    41         return noerr;
    42 
    4331}
  • issm/trunk/src/c/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.h

    r3699 r3703  
    1010
    1111/* local prototypes: */
    12 int             UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type);
     12void            UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type);
    1313
    1414#endif  /* _UPDATEINPUTSXX_H */
  • issm/trunk/src/c/UpdateInputsFromVectorx/UpdateInputsFromVectorx.cpp

    r3699 r3703  
    99#include "../EnumDefinitions/EnumDefinitions.h"
    1010
    11 int UpdateInputsFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
     11void UpdateInputsFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* vector, int NameEnum, int TypeEnum){
    1212
    1313        /*First, get elements and loads configured: */
     
    1818
    1919        /*Update elements, nodes, loads and materials from inputs: */
    20         elements->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    21         nodes->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    22         vertices->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    23         loads->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    24         materials->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    25         parameters->UpdateInputsFromVector(serial_solution,analysis_type,sub_analysis_type);
    26 
    27         return noerr;
     20        elements->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
     21        nodes->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
     22        vertices->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
     23        loads->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
     24        materials->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
     25        parameters->UpdateInputsFromVector(vector,NameEnum,TypeEnum);
    2826
    2927}
  • issm/trunk/src/c/UpdateInputsFromVectorx/UpdateInputsFromVectorx.h

    r3699 r3703  
    1010
    1111/* local prototypes: */
    12 int             UpdateInputsFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
     12void    UpdateInputsFromVectorx( DataSet* elements,DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials,  Parameters* parameters,double* vector, int NameEnum,int TypeEnum);
    1313
    1414#endif  /* _UPDATEINPUTSXX_H */
  • issm/trunk/src/c/objects/Constraints/Rgb.h

    r3683 r3703  
    3434                int    Id();
    3535                int    MyRank();
     36                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     37                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     38
    3639
    3740                /*non virtual: */
  • issm/trunk/src/c/objects/Constraints/Spc.h

    r3683 r3703  
    3939                double GetValue();
    4040                Object* copy();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144
    4245};
  • issm/trunk/src/c/objects/DofVec.h

    r3673 r3703  
    4747                int   MyRank();
    4848                int   Size();
    49        
    50 
     49                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     50                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
    5151                Object* copy();
    5252
     
    6262               
    6363                double* GetValuesFromIndex(int index_size,int* index);
    64                
     64                               
    6565
    6666};
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r3699 r3703  
    139139                nodeinputs[0]=iomodel->weights[index];
    140140                nodeinputs[1]=iomodel->weights[(int)(iomodel->uppernodes[index]-1)];
    141                 this->inputs->AddInput(new BeamVertexInput(WeightszEnum,nodeinputs));
     141                this->inputs->AddInput(new BeamVertexInput(WeightsEnum,nodeinputs));
    142142        }       
    143143        if (iomodel->gridonbed) this->inputs->AddInput(new BoolInput(ElementOnBedEnum,(IssmBool)iomodel->gridonbed[index]));
  • issm/trunk/src/c/objects/Elements/Beam.h

    r3699 r3703  
    5353                Object* copy();
    5454                void  SetClone(int* minranks);
     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);
     57
    5558
    5659                /*}}}*/
     
    5861                void  CreateKMatrix(Mat Kgg,int analysis_type,int sub_analysis_type);
    5962                void  CreatePVector(Vec pg,  int analysis_type,int sub_analysis_type);
    60                 void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    6163                void  GetDofList(int* doflist,int* pnumberofdofs);
    6264                void  GetDofList1(int* doflist);
  • issm/trunk/src/c/objects/Elements/Element.h

    r3699 r3703  
    2828                virtual void   CreateKMatrix(Mat Kgg,int analysis_type,int sub_analysis_type)=0;
    2929                virtual void   CreatePVector(Vec pg,  int analysis_type,int sub_analysis_type)=0;
    30                 virtual void   UpdateInputsFromSolutionFromSolution(double* solution, int analysis_type, int sub_analysis_type)=0;
    3130                virtual void   GetNodes(void** nodes)=0;
    3231                virtual void*  GetMatPar()=0;
  • issm/trunk/src/c/objects/Elements/Penta.h

    r3699 r3703  
    140140                void  UpdateInputsFromSolutionBalancedthickness2( double* solution,int analysis_type,int sub_analysis_type);
    141141                void  UpdateInputsFromSolutionBalancedvelocities( double* solution,int analysis_type,int sub_analysis_type);
     142                void  UpdateInputsFromVector(double* vector, int name, int type);
    142143                void AddInput(double value, int enum_type){ISSMERROR("not supporte yet!");}
    143144
  • issm/trunk/src/c/objects/Elements/Sing.h

    r3699 r3703  
    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);
     57
    5558                /*}}}*/
    5659                /*numerics: {{{1*/
    5760                void  CreateKMatrix(Mat Kgg,int analysis_type,int sub_analysis_type);
    5861                void  CreatePVector(Vec pg,  int analysis_type,int sub_analysis_type);
    59                 void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    60                 void  GetDofList(int* doflist,int* pnumberofdofs);
     62                                void  GetDofList(int* doflist,int* pnumberofdofs);
    6163                void  GetDofList1(int* doflist);
    6264                void  CreateKMatrixDiagnosticHutter(Mat Kgg,int analysis_type,int sub_analysis_type);
  • issm/trunk/src/c/objects/Elements/Tria.h

    r3699 r3703  
    5050                int   MyRank();
    5151                void  SetClone(int* minranks);
     52                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     53                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
     54
    5255                /*}}}*/
    5356                /*FUNCTION element numerical routines {{{1*/
     
    117120                /*updates:*/
    118121                void  UpdateFromDakota(void* inputs);
    119                 void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
    120122                void  UpdateInputsFromSolutionDiagnosticHoriz( double* solution,int analysis_type,int sub_analysis_type);
    121123                void  UpdateInputsFromSolutionSlopeCompute( double* solution,int analysis_type,int sub_analysis_type);
  • issm/trunk/src/c/objects/FemModel.cpp

    r3681 r3703  
    305305}
    306306/*}}}*/
     307/*FUNCTION FemModel::UpdateInputsFromVector(double* vector, int name, int type){{{1*/
     308void FemModel::UpdateInputsFromVector(double* vector, int name, int type){
     309
     310        elements->UpdateInputsFromVector(vector,name,type);
     311        nodes->UpdateInputsFromVector(vector,name,type);
     312        vertices->UpdateInputsFromVector(vector,name,type);
     313        loads->UpdateInputsFromVector(vector,name,type);
     314        materials->UpdateInputsFromVector(vector,name,type);
     315        parameters->UpdateInputsFromVector(vector,name,type);
     316
     317}
     318/*}}}*/
     319/*FUNCTION FemModel::UpdateInputsFromSolution(double* vector, int name, int type){{{1*/
     320void FemModel::UpdateInputsFromSolution(double* vector, int name, int type){
     321
     322        elements->UpdateInputsFromSolution(vector,name,type);
     323        nodes->UpdateInputsFromSolution(vector,name,type);
     324        vertices->UpdateInputsFromSolution(vector,name,type);
     325        loads->UpdateInputsFromSolution(vector,name,type);
     326        materials->UpdateInputsFromSolution(vector,name,type);
     327        parameters->UpdateInputsFromSolution(vector,name,type);
     328
     329}
     330/*}}}*/
  • issm/trunk/src/c/objects/FemModel.h

    r3699 r3703  
    7979                Mat      get_Gmn(void);
    8080
     81                void    UpdateInputsFromVector(double* vector, int name, int type);
     82                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
     83
    8184};
    8285
  • issm/trunk/src/c/objects/Inputs/BeamVertexInput.h

    r3683 r3703  
    3838                Object* copy();
    3939                int   EnumType();
     40                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     41                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     42
    4043
    4144                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/BoolInput.h

    r3683 r3703  
    3838                Object* copy();
    3939                int   EnumType();
     40                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     41                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     42
    4043
    4144                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/DoubleInput.h

    r3683 r3703  
    3838                Object* copy();
    3939                int   EnumType();
     40                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     41                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     42
    4043
    4144                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/IntInput.h

    r3683 r3703  
    3838                Object* copy();
    3939                int   EnumType();
     40                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     41                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     42
    4043
    4144                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/PentaVertexInput.h

    r3683 r3703  
    3737                Object* copy();
    3838                int   EnumType();
     39                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     40                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     41
    3942
    4043                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/SingVertexInput.h

    r3683 r3703  
    3737                Object* copy();
    3838                int   EnumType();
     39                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     40                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     41
    3942
    4043                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/TriaVertexInput.h

    r3683 r3703  
    3737                Object* copy();
    3838                int   EnumType();
     39                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     40                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     41
    3942
    4043                /*}}}*/
  • issm/trunk/src/c/objects/IoModel.cpp

    r3682 r3703  
    6060        xfree((void**)&this->vx_obs);
    6161        xfree((void**)&this->vy_obs);
     62        xfree((void**)&this->vz_obs);
    6263        xfree((void**)&this->vx);
    6364        xfree((void**)&this->vy);
     
    254255        this->vx_obs=NULL;
    255256        this->vy_obs=NULL;
     257        this->vz_obs=NULL;
    256258        this->vx=NULL;
    257259        this->vy=NULL;
  • issm/trunk/src/c/objects/IoModel.h

    r3682 r3703  
    6161                double*  vx_obs;
    6262                double*  vy_obs;
     63                double*  vz_obs;
    6364
    6465                /*qmu: */
  • issm/trunk/src/c/objects/Loads/Icefront.h

    r3683 r3703  
    5050                int   MarshallSize();
    5151                int   MyRank();
     52                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     53                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     54
    5255
    5356                /*}}}*/
  • issm/trunk/src/c/objects/Loads/Numericalflux.h

    r3683 r3703  
    4545                int   MarshallSize();
    4646                int   MyRank();
     47                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     48                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     49
    4750                /*}}}*/
    4851                /*Numerics: {{{1*/
  • issm/trunk/src/c/objects/Loads/Pengrid.h

    r3683 r3703  
    5151                int   MarshallSize();
    5252                int   MyRank();
     53                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     54                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     55
    5356                /*}}}*/
    5457                /*FUNCTION element numerical routines {{{1*/
  • issm/trunk/src/c/objects/Loads/Penpair.h

    r3683 r3703  
    4343                void  PenaltyCreatePVector(Vec pg,double kmax,int analysis_type,int sub_analysis_type);
    4444                Object* copy();
     45                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     46                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     47
    4548
    4649};
  • issm/trunk/src/c/objects/Loads/Riftfront.h

    r3683 r3703  
    6060                int   MarshallSize();
    6161                int   MyRank();
     62                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     63                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     64
    6265
    6366                /*}}}*/
  • issm/trunk/src/c/objects/Materials/Material.h

    r3683 r3703  
    2626                virtual void  Demarshall(char** pmarshalled_dataset)=0;
    2727                virtual void  UpdateFromInputs(void* inputs)=0;
     28                virtual void  UpdateInputsFromVector(double* vector, int name, int type)=0;
     29                virtual void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type)=0;
     30
    2831                int           Enum();
    2932               
  • issm/trunk/src/c/objects/Materials/Matice.h

    r3683 r3703  
    4545                double GetB();
    4646                double GetN();
     47                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     48                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     49
    4750
    4851};
  • issm/trunk/src/c/objects/Materials/Matpar.h

    r3683 r3703  
    5757                double GetMeltingPoint();
    5858                Object* copy();
     59                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     60                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     61
    5962
    6063};
  • issm/trunk/src/c/objects/Model.cpp

    r3681 r3703  
    454454}
    455455/*}}}1*/
     456/*FUNCTION Model::UpdateInputsFromVector(double* vector,int name, int type);{{{1*/
     457void  Model::UpdateInputsFromVector(double* vector,int name, int type){
     458
     459        int i;
     460        FemModel* femmodel=NULL;
     461
     462        for(i=0;i<this->femmodels->Size();i++){
     463                femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i);
     464                femmodel->UpdateInputsFromVector(vector,name,type);
     465        }
     466
     467}
     468/*}}}1*/
     469/*FUNCTION Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type);{{{1*/
     470void  Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type){
     471
     472        int i;
     473        FemModel* femmodel=NULL;
     474
     475        for(i=0;i<this->femmodels->Size();i++){
     476                femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i);
     477                femmodel->UpdateInputsFromSolution(vector,analysis_type,sub_analysis_type);
     478        }
     479
     480}
     481/*}}}1*/
  • issm/trunk/src/c/objects/Model.h

    r3673 r3703  
    5353                FemModel* GetFormulation(int analysis_type);
    5454
     55                void    UpdateInputsFromVector(double* vector, int name, int type);
     56                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
     57
    5558                FemModel* GetActiveFormulation();
    5659                void* SetActiveFormulation(FemModel* femmodel);
  • issm/trunk/src/c/objects/Node.h

    r3681 r3703  
    1010#include "./Object.h"
    1111#include "./DofObject.h"
     12#include "../shared/shared.h"
    1213class  Inputs;
    1314class  Hook;
     
    5051                int   MyRank(void);
    5152                void  SetVertexDof(int in_dof);
     53                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     54                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     55
    5256                /*}}}*/
    5357                /*FUNCTION numerical routines {{{1*/
  • issm/trunk/src/c/objects/Object.h

    r3673 r3703  
    2525                virtual int   Enum()=0;
    2626                virtual Object* copy()=0;
    27                
     27                virtual void  UpdateInputsFromVector(double* vector, int name, int type)=0;
     28                virtual void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type)=0;
    2829       
    2930};
  • issm/trunk/src/c/objects/Params/BoolParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/DoubleMatParam.h

    r3683 r3703  
    4141                int   MarshallSize();
    4242                int   MyRank();
     43                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     44                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     45
    4346                /*}}}*/
    4447                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/DoubleParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/DoubleVecParam.h

    r3683 r3703  
    4040                int   MarshallSize();
    4141                int   MyRank();
     42                void  UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     43                void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
    4244                /*}}}*/
    4345                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/IntParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/Param.h

    r3683 r3703  
    3232                virtual char* GetParameterName(void)=0;
    3333                virtual void  SetMatlabField(mxArray* dataref)=0;
     34
    3435                /*}}}*/
    3536
  • issm/trunk/src/c/objects/Params/PetscMatParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/PetscVecParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/StringArrayParam.h

    r3683 r3703  
    4141                int   MarshallSize();
    4242                int   MyRank();
     43                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     44                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     45
    4346                /*}}}*/
    4447                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Params/StringParam.h

    r3683 r3703  
    3939                int   MarshallSize();
    4040                int   MyRank();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
     43
    4144                /*}}}*/
    4245                /*Param methods: {{{1*/
  • issm/trunk/src/c/objects/Result.h

    r3673 r3703  
    4343                int   Enum();
    4444                Object* copy();
     45                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     46                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
    4547
    4648                double GetTime();
     
    5254                char*  GetFieldName();
    5355
     56       
    5457};
    5558
  • issm/trunk/src/c/objects/SolPar.h

    r3673 r3703  
    3939                int   Enum();
    4040                Object* copy();
     41                void    UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     42                void    UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
    4143
    4244                /*functionality: */
    4345                void  Configure(void* parameters,int analysis_type,int sub_analysis_type);
    44                
     46
     47                       
    4548};
    4649#endif  /* _SOLPAR_H */
  • issm/trunk/src/c/objects/Vertex.h

    r3681 r3703  
    1111#include "./DofObject.h"
    1212class IoModel;
     13#include "../shared/Exceptions/exceptions.h"
     14#include "../include/macros.h"
     15
    1316/*}}}*/
     17
    1418
    1519class Vertex: public Object,public DofObject{
     
    4650                void  UpdateFromDakota(void* vinputs);
    4751                void  UpdatePosition(double* thickness,double* bed);
     52                void  UpdateInputsFromVector(double* vector, int name, int type){ISSMERROR("Not implemented yet!");}
     53                void  UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type){ISSMERROR("Not implemented yet!");}
    4854
    4955
  • issm/trunk/src/c/parallel/ProcessResults.cpp

    r3588 r3703  
    112112       
    113113        /*some flags needed: */
    114         model->FindParam(&dim,"dim");
    115         model->FindParam(&ishutter,"ishutter");
    116         model->FindParam(&isstokes,"isstokes");
    117         model->FindParam(&ismacayealpattyn,"ismacayealpattyn");
     114        model->FindParam(&dim,DimEnum);
     115        model->FindParam(&ishutter,IsHutterEnum);
     116        model->FindParam(&isstokes,IsStokesEnum);
     117        model->FindParam(&ismacayealpattyn,IsMacayealPattynEnum);
    118118
    119119        /*Recover femmodels first: */
     
    158158                                /*ok, 2 dofs, on number of nodes: */
    159159                                if(ismacayealpattyn){
    160                                         fem_dh->parameters->FindParam(&numberofnodes,"numberofnodes");
     160                                        fem_dh->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    161161                                        VecToMPISerial(&partition,fem_dh->partition->vector);
    162                                         fem_dh->parameters->FindParam(&yts,"yts");
     162                                        fem_dh->parameters->FindParam(&yts,YtsEnum);
    163163                                }
    164164                                else{
    165                                         fem_dhu->parameters->FindParam(&numberofnodes,"numberofnodes");
     165                                        fem_dhu->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    166166                                        VecToMPISerial(&partition,fem_dhu->partition->vector);
    167                                         fem_dhu->parameters->FindParam(&yts,"yts");
     167                                        fem_dhu->parameters->FindParam(&yts,YtsEnum);
    168168                                }
    169169                                vx=(double*)xmalloc(numberofnodes*sizeof(double));
     
    184184                                        /*ok, 3 dofs, on number of nodes: */
    185185                                        if(ismacayealpattyn){
    186                                                 fem_dh->parameters->FindParam(&numberofnodes,"numberofnodes");
     186                                                fem_dh->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    187187                                                VecToMPISerial(&partition,fem_dh->partition->vector);
    188                                                 fem_dh->parameters->FindParam(&yts,"yts");
     188                                                fem_dh->parameters->FindParam(&yts,YtsEnum);
    189189                                        }
    190190                                        else{
    191                                                 fem_dhu->parameters->FindParam(&numberofnodes,"numberofnodes");
     191                                                fem_dhu->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    192192                                                VecToMPISerial(&partition,fem_dhu->partition->vector);
    193                                                 fem_dhu->parameters->FindParam(&yts,"yts");
     193                                                fem_dhu->parameters->FindParam(&yts,YtsEnum);
    194194                                        }
    195195                                        vx=(double*)xmalloc(numberofnodes*sizeof(double));
     
    207207                                else{
    208208                                        /* 4 dofs on number of nodes. discard pressure: */
    209                                         fem_ds->parameters->FindParam(&numberofnodes,"numberofnodes");
     209                                        fem_ds->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    210210                                        VecToMPISerial(&partition,fem_ds->partition->vector);
    211                                         fem_ds->parameters->FindParam(&yts,"yts");
     211                                        fem_ds->parameters->FindParam(&yts,YtsEnum);
    212212                                        vx=(double*)xmalloc(numberofnodes*sizeof(double));
    213213                                        vy=(double*)xmalloc(numberofnodes*sizeof(double));
     
    252252                        if(!isstokes){
    253253                                if(ismacayealpattyn){
    254                                         fem_dh->parameters->FindParam(&numberofnodes,"numberofnodes");
     254                                        fem_dh->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    255255                                        VecToMPISerial(&partition,fem_dh->partition->vector);
    256256                                }
    257257                                else{
    258                                         fem_dhu->parameters->FindParam(&numberofnodes,"numberofnodes");
     258                                        fem_dhu->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    259259                                        VecToMPISerial(&partition,fem_dhu->partition->vector);
    260260                                }
    261261                        }
    262262                        else{
    263                                 fem_ds->parameters->FindParam(&numberofnodes,"numberofnodes");
     263                                fem_ds->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    264264                                VecToMPISerial(&partition,fem_ds->partition->vector);
    265265                        }
     
    285285                        result->GetField(&t_g);
    286286                        VecToMPISerial(&t_g_serial,t_g);
    287                         fem_t->parameters->FindParam(&numberofnodes,"numberofnodes");
     287                        fem_t->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    288288                        VecToMPISerial(&partition,fem_t->partition->vector);
    289289
     
    309309                        result->GetField(&grad_g);
    310310                        VecToMPISerial(&grad_g_serial,grad_g);
    311                         fem_c->parameters->FindParam(&numberofnodes,"numberofnodes");
     311                        fem_c->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    312312                        VecToMPISerial(&partition,fem_c->partition->vector);
    313313
     
    332332                        result->GetField(&m_g);
    333333                        VecToMPISerial(&m_g_serial,m_g);
    334                         fem_t->parameters->FindParam(&numberofnodes,"numberofnodes");
    335                         fem_t->parameters->FindParam(&yts,"yts");
     334                        fem_t->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
     335                        fem_t->parameters->FindParam(&yts,YtsEnum);
    336336                        VecToMPISerial(&partition,fem_t->partition->vector);
    337337
     
    356356                        result->GetField(&h_g);
    357357                        VecToMPISerial(&h_g_serial,h_g);
    358                         fem_p->parameters->FindParam(&numberofvertices,"numberofvertices");
     358                        fem_p->parameters->FindParam(&numberofvertices,NumberOfVerticesEnum);
    359359                        VecToMPISerial(&partition,fem_p->partition->vector);
    360360
     
    379379                        result->GetField(&v_g);
    380380                        VecToMPISerial(&v_g_serial,v_g);
    381                         fem_p->parameters->FindParam(&numberofnodes,"numberofnodes");
     381                        fem_p->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    382382                        VecToMPISerial(&partition,fem_p->partition->vector);
    383383
     
    402402                        result->GetField(&s_g);
    403403                        VecToMPISerial(&s_g_serial,s_g);
    404                         fem_p->parameters->FindParam(&numberofnodes,"numberofnodes");
     404                        fem_p->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    405405                        VecToMPISerial(&partition,fem_p->partition->vector);
    406406
     
    425425                        result->GetField(&sx_g);
    426426                        VecToMPISerial(&sx_g_serial,sx_g);
    427                         fem_sl->parameters->FindParam(&numberofnodes,"numberofnodes");
     427                        fem_sl->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    428428                        VecToMPISerial(&partition,fem_sl->partition->vector);
    429429
     
    448448                        result->GetField(&sy_g);
    449449                        VecToMPISerial(&sy_g_serial,sy_g);
    450                         fem_sl->parameters->FindParam(&numberofnodes,"numberofnodes");
     450                        fem_sl->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    451451                        VecToMPISerial(&partition,fem_sl->partition->vector);
    452452
     
    471471                        result->GetField(&b_g);
    472472                        VecToMPISerial(&b_g_serial,b_g);
    473                         fem_p->parameters->FindParam(&numberofnodes,"numberofnodes");
     473                        fem_p->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    474474                        VecToMPISerial(&partition,fem_p->partition->vector);
    475475
     
    493493                        /*easy, param_g is of size numberofnodes, on 1 dof, just repartition: */
    494494                        result->GetField(&param_g);
    495                         fem_dh->parameters->FindParam(&numberofnodes,"numberofnodes");
     495                        fem_dh->parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    496496                        VecToMPISerial(&partition,fem_dh->partition->vector);
    497497
     
    513513                else if(strcmp(result->GetFieldName(),"riftproperties")==0){
    514514                        result->GetField(&riftproperties);
    515                         fem_dh->parameters->FindParam(&numrifts,"numrifts");
     515                        fem_dh->parameters->FindParam(&numrifts,NumRiftsEnum);
    516516                        VecToMPISerial(&riftproperties_serial,riftproperties);
    517517                       
     
    524524                else if(strcmp(result->GetFieldName(),"sigma_zz")==0){
    525525                        /*easy, param_g is of size numberofelements, on 1 dof, just repartition: */
    526                         fem_ds->parameters->FindParam(&numberofelements,"numberofelements");
     526                        fem_ds->parameters->FindParam(&numberofelements,NumberOfElementsEnum);
    527527                        result->GetField(&sigma_zz);
    528528                        VecToMPISerial(&sigma_zz_serial,sigma_zz);
  • issm/trunk/src/c/parallel/convergence.cpp

    r3673 r3703  
    3131
    3232        /*get convergence options*/
    33         parameters->FindParam(&eps_res,"eps_res");
    34         parameters->FindParam(&eps_rel,"eps_rel");
    35         parameters->FindParam(&eps_abs,"eps_abs");
    36         parameters->FindParam(&yts,"yts");
    37         parameters->FindParam(&verbose,"verbose");
     33        parameters->FindParam(&eps_res,EpsResEnum);
     34        parameters->FindParam(&eps_rel,EpsRelEnum);
     35        parameters->FindParam(&eps_abs,EpsAbsEnum);
     36        parameters->FindParam(&yts,YtsEnum);
     37        parameters->FindParam(&verbose,VerboseEnum);
    3838
    3939        /*Display solver caracteristics*/
  • issm/trunk/src/c/parallel/diagnostic_core.cpp

    r3699 r3703  
    8383        //for qmu analysis, be sure the velocity input we are starting from  is the one in the parameters: */
    8484        if(qmu_analysis){
    85                 model->FindParam(&vx,VxEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputs(vx,VxEnum,VertexEnum);
    86                 model->FindParam(&vy,VyEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputs(vy,VyEnum,VertexEnum);
    87                 model->FindParam(&vz,VzEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputs(vz,VzEnum,VertexEnum);
     85                model->FindParam(&vx,VxEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
     86                model->FindParam(&vy,VyEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
     87                model->FindParam(&vz,VzEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vz,VzEnum,VertexEnum);
    8888        }
    8989
  • issm/trunk/src/c/parallel/steadystate.cpp

    r3567 r3703  
    9999
    100100        /*recover parameters: */
    101         model->FindParam(&waitonlock,"waitonlock");
    102         model->FindParam(&control_analysis,"control_analysis");
    103         model->FindParam(&qmu_analysis,"qmu_analysis");
     101        model->FindParam(&waitonlock,WaitOnLockEnum);
     102        model->FindParam(&control_analysis,ControlAnalysisEnum);
     103        model->FindParam(&qmu_analysis,QmuAnalysisEnum);
    104104
    105105        _printf_("initialize inputs:\n");
Note: See TracChangeset for help on using the changeset viewer.