Changeset 25584


Ignore:
Timestamp:
09/17/20 19:33:48 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: reverting changes to independents

Location:
issm/trunk-jpl/src/m/classes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/autodiff.m

    r25582 r25584  
    125125                        if(num_independent_objects),
    126126                                names=cell(num_independent_objects,1);
     127                                types=zeros(num_independent_objects,1);
    127128
    128129                                max_parameters_pre = [];
     
    140141
    141142                                        names{i}=indep.name;
     143                                        types(i)=indep.typetoscalar();
     144                                       
    142145                                        if indep.control_size == 1 && M_size == true
    143146                                                indep.min_parameters = [indep.min_parameters;NaN];
     
    155158
    156159                                WriteData(fid,prefix,'data',names,'name','md.autodiff.independent_object_names','format','StringArray');
     160                                WriteData(fid,prefix,'data',types,'name','md.autodiff.independent_object_types','format','IntMat','mattype',3);
    157161                                WriteData(fid,prefix,'data',min_parameters,'name','md.autodiff.independent_min_parameters','format','DoubleMat','mattype',3);
    158162                 WriteData(fid,prefix,'data',max_parameters,'name','md.autodiff.independent_max_parameters','format','DoubleMat','mattype',3);
     
    172176                                                break;
    173177                                        else
    174                                                 index=index+1;
     178                                                if strcmpi(indep.type,'scalar'),
     179                                                        index=index+1;
     180                                                else
     181                                                        index=index+indep.nods;
     182                                                end
    175183                                        end
    176184                                end
     
    189197                                                break;
    190198                                        else
    191                                                 index=index+1;
     199                                                if strcmpi(dep.type,'scalar'),
     200                                                        index=index+1;
     201                                                else
     202                                                        index=index+dep.nods;
     203                                                end
    192204                                        end
    193205                                end
     
    206218                                                break;
    207219                                        else
    208                                                 indices=indices+1;
     220                                                if strcmpi(indep.type,'scalar'),
     221                                                        indices=indices+1;
     222                                                else
     223                                                        indices=indices+indep.nods;
     224                                                end
    209225                                        end
    210226                                end
  • issm/trunk-jpl/src/m/classes/autodiff.py

    r25582 r25584  
    126126        if num_independent_objects:
    127127            names = [None] * num_independent_objects
     128            types = np.zeros(num_independent_objects)
    128129
    129130            for i, indep in enumerate(self.independents):
    130131                names[i] = indep.name
     132                types[i] = indep.typetoscalar()
    131133
    132134            WriteData(fid, prefix, 'data', names, 'name', 'md.autodiff.independent_object_names', 'format', 'StringArray')
     135            WriteData(fid, prefix, 'data', types, 'name', 'md.autodiff.independent_object_types', 'format', 'IntMat', 'mattype', 3)
    133136            #}}}
    134137        #if driver is fos_forward, build index:  {{{
     
    141144                    break
    142145                else:
    143                     index += 1
     146                    if strcmpi(indep.type, 'scalar'):
     147                        index += 1
     148                    else:
     149                        index += indep.nods
    144150
    145151            index -= 1  #get c - index numbering going
     
    155161                    break
    156162                else:
    157                     index += 1
     163                    if strcmpi(dep.type, 'scalar'):
     164                        index += 1
     165                    else:
     166                        index += dep.nods
    158167
    159168            index -= 1  #get c - index numbering going
     
    169178                    break
    170179                else:
    171                     indices += 1
     180                    if strcmpi(indep.type, 'scalar'):
     181                        indices += 1
     182                    else:
     183                        indices += indep.nods
    172184
    173185            indices -= 1  #get c - indices numbering going
Note: See TracChangeset for help on using the changeset viewer.