Changeset 1762


Ignore:
Timestamp:
08/18/09 15:52:22 (16 years ago)
Author:
Mathieu Morlighem
Message:

some renaming again

Location:
issm/trunk/src/c/ModelProcessorx
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp

    r786 r1762  
    3737        int grid1,grid2;
    3838       
    39         double* dirichletvalues_diag=NULL;
    40         double* gridondirichlet_diag=NULL;
     39        double* spcvelocity=NULL;
    4140        double* gridonhutter=NULL;
    4241       
     
    4847
    4948        /*Fetch data: */
    50         ModelFetchData((void**)&gridondirichlet_diag,NULL,NULL,model_handle,"gridondirichlet_diag","Matrix","Mat");
    51         ModelFetchData((void**)&dirichletvalues_diag,NULL,NULL,model_handle,"dirichletvalues_diag","Matrix","Mat");
     49        ModelFetchData((void**)&spcvelocity,NULL,NULL,model_handle,"spcvelocity","Matrix","Mat");
    5250        ModelFetchData((void**)&gridonhutter,NULL,NULL,model_handle,"gridonhutter","Matrix","Mat");
    5351
     
    6159        #endif
    6260
    63                 if ((int)gridondirichlet_diag[i] | (int)gridonhutter[i]){
     61                if ((int)spcvelocity[6*i+0] | (int)gridonhutter[i]){
    6462       
    65                         /*This grid needs to be spc'd to vx_obs and vy_obs:*/
     63                        /*This grid needs to be spc'd to vx_obs:*/
    6664
    6765                        spc_sid=count;
    6866                        spc_node=i+1;
    6967                        spc_dof=1; //we enforce first x translation degree of freedom
    70                         spc_value=*(dirichletvalues_diag+2*i+0)/model->yts;
     68                        spc_value=*(spcvelocity+6*i+3)/model->yts;
    7169
    7270                        spc = new Spc(spc_sid,spc_node,spc_dof,spc_value);
    7371                        constraints->AddObject(spc);
    7472                        count++;
     73                }
     74
     75                if ((int)spcvelocity[6*i+1] | (int)gridonhutter[i]){
     76
     77                        /*This grid needs to be spc'd to vy_obs:*/
    7578
    7679                        spc_sid=count;
    7780                        spc_node=i+1;
    7881                        spc_dof=2; //we enforce first y translation degree of freedom
    79                         spc_value=*(dirichletvalues_diag+2*i+1)/model->yts;
     82                        spc_value=*(spcvelocity+6*i+4)/model->yts;
    8083                       
    8184                        spc = new Spc(spc_sid,spc_node,spc_dof,spc_value);
     
    136139       
    137140        /*Free data: */
    138         xfree((void**)&gridondirichlet_diag);
    139         xfree((void**)&dirichletvalues_diag);
     141        xfree((void**)&spcvelocity);
    140142        xfree((void**)&gridonhutter);
    141143       
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r1651 r1762  
    7575        /*Create pressure loads as boundary conditions. Pay attention to the partitioning if we are running in parallel (the grids
    7676         * referenced by a certain load must belong to the cluster node): */
    77         ModelFetchData((void**)&model->segmentonneumann_diag,&model->numberofsegs_diag,NULL,model_handle,"segmentonneumann_diag","Matrix","Mat");
     77        ModelFetchData((void**)&model->pressureload,&model->numberofpressureloads,NULL,model_handle,"pressureload","Matrix","Mat");
    7878        ModelFetchData((void**)&model->elements_type,NULL,NULL,model_handle,"elements_type","Matrix","Mat");
    7979        ModelFetchData((void**)&model->thickness,NULL,NULL,model_handle,"thickness","Matrix","Mat");
     
    8181
    8282        /*First load data:*/
    83         for (i=0;i<model->numberofsegs_diag;i++){
     83        for (i=0;i<model->numberofpressureloads;i++){
    8484               
    8585                if (strcmp(model->meshtype,"2d")==0){
     
    9393
    9494
    95                 element=(int)(*(model->segmentonneumann_diag+segment_width*i+segment_width-1)-1); //element is in the last column
     95                element=(int)(*(model->pressureload+segment_width*i+segment_width-1)-1); //element is in the last column
    9696
    9797                #ifdef _PARALLEL_
     
    105105                icefront_mparid=model->numberofelements+1; //matlab indexing
    106106                icefront_sid=i+1; //matlab indexing
    107                 icefront_eid=(int)*(model->segmentonneumann_diag+segment_width*i+segment_width-1); //matlab indexing
     107                icefront_eid=(int)*(model->pressureload+segment_width*i+segment_width-1); //matlab indexing
    108108                icefront_element_type=element_type;
    109109
    110                 i1=(int)*(model->segmentonneumann_diag+segment_width*i+0);
    111                 i2=(int)*(model->segmentonneumann_diag+segment_width*i+1);
     110                i1=(int)*(model->pressureload+segment_width*i+0);
     111                i2=(int)*(model->pressureload+segment_width*i+1);
    112112                       
    113113                icefront_node_ids[0]=i1;
     
    125125                else if ((int)*(model->elements_type+2*element+0)==PattynFormulationEnum()){ //this is a real 3d element, icefront will be 3d.
    126126                        strcpy(icefront_type,"quad");
    127                         i3=(int)*(model->segmentonneumann_diag+segment_width*i+2);
    128                         i4=(int)*(model->segmentonneumann_diag+segment_width*i+3);
     127                        i3=(int)*(model->pressureload+segment_width*i+2);
     128                        i4=(int)*(model->pressureload+segment_width*i+3);
    129129                        icefront_node_ids[2]=i3;
    130130                        icefront_node_ids[3]=i4;
     
    146146        }
    147147        /*Free data: */
    148         xfree((void**)&model->segmentonneumann_diag);
     148        xfree((void**)&model->pressureload);
    149149        xfree((void**)&model->elements_type);
    150150        xfree((void**)&model->thickness);
  • issm/trunk/src/c/ModelProcessorx/Model.cpp

    r1666 r1762  
    8888        model->numberofsegs_diag=0;
    8989        model->numberofsegs_diag_stokes=0;
    90         model->segmentonneumann_diag=NULL;
    91         model->segmentonneumann_diag_stokes=NULL;
    92         model-> neumannvalues_diag=NULL;
    93         model-> gridondirichlet_diag=NULL;
    94         model-> dirichletvalues_diag=NULL;
    95         //prognostic
    96         model-> segmentonneumann_prog=NULL;
    97         model-> neumannvalues_prog=NULL;
    98         model-> gridondirichlet_prog=NULL;
    99         model-> dirichletvalues_prog=NULL;
    100         //prognostic2
    101         model-> segmentonneumann_prog2=NULL;
    102         model-> neumannvalues_prog2=NULL;
    103         //thermal
    104         model-> gridondirichlet_thermal=NULL;
    105         model-> dirichletvalues_thermal=NULL;
    106         model-> geothermalflux=NULL;
     90        model->pressureload=NULL;
     91        model->pressureload_stokes=NULL;
     92        model-> spcvelocity=NULL;
     93        model-> spctemperature=NULL;
     94        model-> spcthickness=NULL;
    10795       
    10896        /*!materials: */
     
    239227        xfree((void**)&model->gridonicesheet);
    240228        xfree((void**)&model->gridoniceshelf);
    241         xfree((void**)&model->segmentonneumann_diag);
    242         xfree((void**)&model->segmentonneumann_diag_stokes);
    243         xfree((void**)&model->neumannvalues_diag);
    244         xfree((void**)&model->gridondirichlet_diag);
    245         xfree((void**)&model->dirichletvalues_diag);
    246         xfree((void**)&model->segmentonneumann_prog);
    247         xfree((void**)&model->neumannvalues_prog);
    248         xfree((void**)&model->gridondirichlet_prog);
    249         xfree((void**)&model->dirichletvalues_prog);
    250         xfree((void**)&model->segmentonneumann_prog2);
    251         xfree((void**)&model->neumannvalues_prog2);
    252         xfree((void**)&model->gridondirichlet_thermal);
    253         xfree((void**)&model->dirichletvalues_thermal);
     229        xfree((void**)&model->pressureload);
     230        xfree((void**)&model->pressureload_stokes);
     231        xfree((void**)&model->spcvelocity);
     232        xfree((void**)&model->spcthickness);
     233        xfree((void**)&model->spctemperature);
    254234        xfree((void**)&model->geothermalflux);
    255235        xfree((void**)&model->melting);
  • issm/trunk/src/c/ModelProcessorx/Model.h

    r1666 r1762  
    8484
    8585        /*boundary conditions: */
    86         //diagnostic
    87         int     numberofsegs_diag;
    88         int     numberofsegs_diag_stokes;
    89         double* segmentonneumann_diag;
    90         double* neumannvalues_diag;
    91         double* gridondirichlet_diag;
    92         double* dirichletvalues_diag;
    93         double* segmentonneumann_diag_stokes;
    94 
    95         //prognostic
    96         double* segmentonneumann_prog;
    97         double* neumannvalues_prog;
    98         double* gridondirichlet_prog;
    99         double* dirichletvalues_prog;
    100         //prognostic2
    101         double* segmentonneumann_prog2;
    102         double* neumannvalues_prog2;
    103         //thermal
    104         double* gridondirichlet_thermal;
    105         double* dirichletvalues_thermal;
     86        int     numberofpressureloads;
     87        int     numberofpressureloads_stokes;
     88        double* pressureload;
     89        double* pressureload_stokes;
     90        double* spcvelocity;
     91        double* spctemperature;
     92        double* spcthickness;
    10693        double* geothermalflux;
    10794       
Note: See TracChangeset for help on using the changeset viewer.