Changeset 23240


Ignore:
Timestamp:
09/10/18 20:34:10 (7 years ago)
Author:
Mathieu Morlighem
Message:

CHG: integrating changes from CoDiPack's branche

Location:
issm/trunk-jpl/src/c
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Numberedcostfunction.cpp

    r23066 r23240  
    149149                                 _error_("not supported");
    150150                 }
     151                 _printf0_("#"<<i+1<<": "<<value<<" ");
    151152                 value_sum += value;
    152153 }
     154         _printf0_("\n");
    153155
    154156         /*done:*/
  • issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp

    r23066 r23240  
    163163        /*Turning off trace tape*/
    164164        trace_off();
    165 time_t now = time(NULL);
    166 if(my_rank==0) _printf_("\nTIME: "<<now<<"\n");
     165        //time_t now = time(NULL);
     166        //if(my_rank==0) _printf_("\nTIME: "<<now<<"\n");
     167
    167168        /*Print tape statistics so that user can kill this run if something is off already:*/
    168169        if(VerboseAutodiff()){ /*{{{*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

    r23066 r23240  
    99#include "../ModelProcessorx.h"
    1010
    11 #if !defined(_HAVE_ADOLC_)
    1211void    UpdateElementsAndMaterialsControl(Elements* elements,Parameters* parameters,Materials* materials, IoModel* iomodel){
    1312        /*Intermediary*/
     
    2019        char     **controls         = NULL;
    2120        char     **cost_functions   = NULL;
     21
     22        /*Fetch parameters: */
     23        bool isautodiff;
     24        iomodel->FindConstant(&isautodiff,"md.autodiff.isautodiff");
     25        if(isautodiff){
     26                UpdateElementsAndMaterialsControlAD(elements,parameters,materials,iomodel);
     27                return;
     28        }
    2229
    2330        /*Fetch parameters: */
     
    126133        xDelete<char*>(controls);
    127134}
    128 #else
    129 void UpdateElementsAndMaterialsControl(Elements* elements,Parameters* parameters,Materials* materials, IoModel* iomodel){
    130 
     135void UpdateElementsAndMaterialsControlAD(Elements* elements,Parameters* parameters,Materials* materials, IoModel* iomodel){
     136
     137        #if defined(_HAVE_ADOLC_)
    131138        /*Intermediaries*/
    132139        int                             num_independent_objects,M,N,M_par,N_par;
     
    225232
    226233        return;
     234#else
     235        _error_("ADOLC not compiled");
     236#endif
    227237}
    228 #endif
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h

    r23167 r23240  
    1919void CreateOutputDefinitions(Elements* elements, Parameters* parameters,IoModel* iomodel);
    2020void UpdateElementsAndMaterialsControl(Elements* elements,Parameters* parameters,Materials* materials, IoModel* iomodel);
     21void UpdateElementsAndMaterialsControlAD(Elements* elements,Parameters* parameters,Materials* materials, IoModel* iomodel);
    2122void UpdateElementsAndMaterialsDakota(Elements* elements,Materials* materials, IoModel* iomodel);
    2223void UpdateElementsTransient(Elements* elements,Parameters* parameters,IoModel* iomodel,int analysis_type);
  • issm/trunk-jpl/src/c/shared/MemOps/MemOps.cpp

    r21615 r23240  
    1616#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
    1717template <> adouble*  xNew(unsigned int size, const char* const contig) {
    18         if (*contig == 't')
     18        if (contig[0] == 't' || contig[0] == 'c')
    1919                ensureContiguousLocations(size);
    2020
  • issm/trunk-jpl/src/c/toolkits/issm/IssmMpiSparseMat.h

    r22737 r23240  
    264264
    265265                        for(i=0;i<num_procs;i++){
    266                                 ISSM_MPI_Scatterv( row_indices_forcpu, sendcnts, displs, ISSM_MPI_INT, row_indices_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
    267                                 ISSM_MPI_Scatterv( col_indices_forcpu, sendcnts, displs, ISSM_MPI_INT, col_indices_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
    268                                 ISSM_MPI_Scatterv( values_forcpu, sendcnts, displs, ISSM_MPI_DOUBLE, values_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_DOUBLE, i, comm);
    269                                 ISSM_MPI_Scatterv( modes_forcpu, sendcnts, displs, ISSM_MPI_INT, modes_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
     266                                if(row_indices_fromcpu[i]) ISSM_MPI_Scatterv( row_indices_forcpu, sendcnts, displs, ISSM_MPI_INT, row_indices_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
     267                                if(col_indices_fromcpu[i]) ISSM_MPI_Scatterv( col_indices_forcpu, sendcnts, displs, ISSM_MPI_INT, col_indices_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
     268                                if(values_fromcpu[i])      ISSM_MPI_Scatterv( values_forcpu, sendcnts, displs, ISSM_MPI_DOUBLE, values_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_DOUBLE, i, comm);
     269                                if(modes_fromcpu[i])       ISSM_MPI_Scatterv( modes_forcpu, sendcnts, displs, ISSM_MPI_INT, modes_fromcpu[i], numvalues_fromcpu[i], ISSM_MPI_INT, i, comm);
    270270                        }
    271271                        /*}}}*/
Note: See TracChangeset for help on using the changeset viewer.