Changeset 5999


Ignore:
Timestamp:
09/23/10 15:09:24 (14 years ago)
Author:
Mathieu Morlighem
Message:

prepared solvers for kff

Location:
issm/trunk/src/m/solvers
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solvers/solver_adjoint_linear.m

    r5776 r5999  
    55%      femmodel =solver_adjoint_linear(femmodel)
    66
    7         [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
    8        
    9         [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
    10         %K_ff=transpose(K_ff);
    11         p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters,true);
     7        %Get parameters
     8        kffpartitioning=femmodel.parameters.Kff;
     9
     10        if kffpartitioning,
     11                [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     12                p_f = Reduceload( p_f, K_fs, femmodel.ys);
     13        else
     14                [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     15                [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
     16                p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters,true);
     17        end
    1218
    1319        displaystring(femmodel.parameters.Verbose>1,'%s%g','      condition number of stiffness matrix: ',condest(K_ff));
    1420        u_f=Solver(K_ff,p_f,[],femmodel.parameters);
    15        
    1621        u_g= Mergesolutionfromftog( u_f, femmodel.ys, femmodel.nodesets,femmodel.parameters,true);
    1722
  • issm/trunk/src/m/solvers/solver_diagnostic_nonlinear.m

    r5998 r5999  
    2929
    3030                if kffpartitioning,
    31                         disp('-------------- file: solver_diagnostic_nonlinear.m line: 31');
    3231                        [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters);
    3332                        p_f = Reduceload( p_f, K_fs, femmodel.ys);
    3433                else
    35                         disp('-------------- file: solver_diagnostic_nonlinear.m line: 35');
    3634                        [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,loads,femmodel.materials,femmodel.parameters);
    3735                        [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
  • issm/trunk/src/m/solvers/solver_linear.m

    r5776 r5999  
    55%      femmodel =solver_linear(femmodel)
    66
    7         [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
    8        
    9         [K_ff, K_fs] = Reducematrixfromgtof( K_gg,  femmodel.nodesets,femmodel.parameters);
    10         p_f = Reduceloadfromgtof( p_g,  K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     7        %Get parameters
     8        kffpartitioning=femmodel.parameters.Kff;
     9
     10        if kffpartitioning,
     11                [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     12                p_f = Reduceload( p_f, K_fs, femmodel.ys);
     13        else
     14                [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     15                [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
     16                p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     17        end
    1118
    1219        displaystring(femmodel.parameters.Verbose>1,'%s%g','      condition number of stiffness matrix: ',condest(K_ff));
    1320        u_f=Solver(K_ff,p_f,[],femmodel.parameters);
    14        
    1521        u_g= Mergesolutionfromftog( u_f, femmodel.ys, femmodel.nodesets,femmodel.parameters);
    1622
  • issm/trunk/src/m/solvers/solver_stokescoupling_nonlinear.m

    r5927 r5999  
    44%   Usage:
    55%      [femmodel]=solver_couplingstokes_nonlinear(femmodel,conserve_loads)
     6
     7        %Get parameters
     8        kffpartitioning=femmodel.parameters.Kff;
    69
    710        %initialize solution vector
     
    3134                old_uf_horiz=uf_horiz;
    3235
    33                 [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
    34 
    35                 [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
    36                 p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     36                if kffpartitioning,
     37                        [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     38                        p_f = Reduceload( p_f, K_fs, femmodel.ys);
     39                else
     40                        [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     41                        [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
     42                        p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     43                end
    3744
    3845                uf_horiz=Solver(K_ff,p_f,old_uf_horiz,femmodel.parameters);
    39 
    4046                ug_horiz= Mergesolutionfromftog( uf_horiz, femmodel.ys, femmodel.nodesets,femmodel.parameters);
    4147
     
    4854%               %Then compute vertical velocity
    4955%               femmodel=SetCurrentConfiguration(femmodel,DiagnosticVertAnalysisEnum);
     56%       if kffpartitioning,
    5057%               [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
    51 %
    52 %               [K_ff, K_fs] = Reducematrixfromgtof( K_gg,  femmodel.nodesets,femmodel.parameters);
    53 %               p_f = Reduceloadfromgtof( p_g,  K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     58%               p_f = Reduceload( p_f, K_fs, femmodel.ys);
     59%       else
     60%               [K_gg,K_ff,K_fs,p_g,p_f,kmax]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     61%               [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
     62%               p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     63%       end
    5464%
    5565%               displaystring(femmodel.parameters.Verbose>1,'%s%g','      condition number of stiffness matrix: ',condest(K_ff));
     
    6171
    6272        end
    63 
    6473end
  • issm/trunk/src/m/solvers/solver_thermal_nonlinear.m

    r5776 r5999  
    88        count=1;
    99        converged=0;
     10
     11        %Get parameters
     12        kffpartitioning=femmodel.parameters.Kff;
    1013
    1114        %stiffness and load generation only:
     
    2023        while(~converged),
    2124
    22                 [K_gg,K_ff,K_fs,p_g,p_f,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
    23 
    24                 [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
    25                 p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     25                if kffpartitioning,
     26                        [K_gg,K_ff,K_fs,p_g,p_f,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     27                        p_f = Reduceload( p_f, K_fs, femmodel.ys);
     28                else
     29                        [K_gg,K_ff,K_fs,p_g,p_f,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
     30                        [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters);
     31                        p_f = Reduceloadfromgtof( p_g, K_fs, femmodel.ys, femmodel.nodesets,femmodel.parameters);
     32                end
    2633
    2734                displaystring(femmodel.parameters.Verbose,'%s%g','   condition number of stiffness matrix: ',condest(K_ff));
Note: See TracChangeset for help on using the changeset viewer.