Changeset 4029


Ignore:
Timestamp:
06/09/10 17:02:30 (15 years ago)
Author:
Eric.Larour
Message:

New core solvers used by our solutions

Location:
issm/trunk/src/c
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r4028 r4029  
    2020        VerticesEnum,
    2121        /*}}}*/
     22        /*Solution types {{{1 */
     23        SolutionTypeEnum,
     24        DiagnosticSolutionEnum,
     25        SurfaceSlopeSolutionEnum,
     26        BedSlopeSolutionEnum,
     27        /*}}}*/
    2228        /*Analysis types {{{1 */
    23         SolutionTypeEnum,
    24         AnalysisEnum,
    2529        AnalysisTypeEnum,
    2630        SubAnalysisTypeEnum,
     
    4650        SteadyAnalysisEnum,
    4751        //slope
    48         SurfaceAnalysisEnum,
    4952        SlopeComputeAnalysisEnum,
    50         BedXAnalysisEnum,
    51         BedYAnalysisEnum,
    52         BedAnalysisEnum,
    53         SurfaceXAnalysisEnum,
    54         SurfaceYAnalysisEnum,
     53        BedSlopeXAnalysisEnum,
     54        BedSlopeYAnalysisEnum,
     55        SurfaceSlopeXAnalysisEnum,
     56        SurfaceSlopeYAnalysisEnum,
    5557        //prognostic
    5658        Balancedthickness2AnalysisEnum,
  • issm/trunk/src/c/solutions/diagnostic_core.cpp

    r4028 r4029  
    2222        double stokesreconditioning;
    2323
    24         //first recover parameters needed to drive the solution
     24        /* recover parameters: */
    2525        femmodel->parameters->FindParam(&verbose,VerboseEnum);
    2626        femmodel->parameters->FindParam(&dim,DimEnum);
     
    4040
    4141        /*Compute slopes: */
    42         if(ishutter){
    43                 slope_core(femmodel,SurfaceXAnalysisEnum);
    44                 slope_core(femmodel,SurfaceYAnalysisEnum);
    45         }
    46         if(isstokes){
    47                 slope_core(femmodel,BedSlopeXAnalysisEnum);
    48                 slope_core(femmodel,BedSlopeYAnalysisEnum);
    49         }
     42        if(ishutter) surfaceslope_core(femmodel);
     43        if(isstokes) bedslope_core(femmodel);
    5044               
    5145        if(ishutter){
    5246                       
    5347                if(verbose)_printf_("%s\n"," computing hutter velocities...");
    54                 solve_linear(NULL,femmodel,DiagnosticAnalysisEnum,HutterAnalysisEnum);
     48                solver_linear(NULL,femmodel,DiagnosticAnalysisEnum,HutterAnalysisEnum);
    5549               
    5650                if (ismacayealpattyn) ResetBoundaryConditions(femmodel,DiagnosticAnalysisEnum,HorizAnalysisEnum);
     
    6054               
    6155                if(verbose)_printf_("%s\n"," computing horizontal velocities...");
    62                 diagnostic_core_nonlinear(NULL,NULL,NULL,femmodel,false,DiagnosticAnalysisEnum,HorizAnalysisEnum); //false means we expose loads to changes inside the solution
     56                solver_diagnostic_nonlinear(NULL,NULL,NULL,femmodel,false,DiagnosticAnalysisEnum,HorizAnalysisEnum); //false means we expose loads to changes inside the solution
    6357        }
    6458       
     
    6761
    6862                if(verbose)_printf_("%s\n"," computing vertical velocities...");
    69                 solve_linear(NULL,femmodel,DiagnosticAnalysisEnum,VertAnalysisEnum);
     63                solver_linear(NULL,femmodel,DiagnosticAnalysisEnum,VertAnalysisEnum);
    7064
    7165                if (isstokes){
     
    7973
    8074                        if(verbose)_printf_("%s\n"," computing stokes velocities and pressure ...");
    81                         diagnostic_core_nonlinear(NULL,NULL,NULL,NULL,fem_ds,DiagnosticAnalysisEnum,StokesAnalysisEnum);
     75                        solver_diagnostic_nonlinear(NULL,NULL,NULL,NULL,fem_ds,DiagnosticAnalysisEnum,StokesAnalysisEnum);
    8276                }
    8377        }
  • issm/trunk/src/c/solutions/solutions.h

    r4023 r4029  
    33 */
    44
    5 #ifndef PARALLEL_H_
    6 #define PARALLEL_H_
     5#ifndef SOLUTIONS_H_
     6#define SOLUTIONS_H_
    77
    88#include "../objects/objects.h"
     
    2929void slope_core(FemModel* fem,int sub_analysis_type);
    3030
    31 /*computational cores: */
    32 void thermal_core_nonlinear(Vec* ptg,double* pmelting_offset,FemModel* fem,int analysis_type,int sub_analysis_type);
    33 void diagnostic_core_nonlinear(Vec* pug,Mat* pK_ff0,Mat* pK_fs0, FemModel* fem,bool conserve_loads,int analysis_type,int sub_analysis_type);
    34 void diagnostic_core_linear(Vec* ppg,FemModel* fem,int  analysis_type,int sub_analysis_type);
    35 void solver_linear(Vec* pug, FemModel* femmodel,int  analysis_type,int sub_analysis_type);
    36 
    37 
    3831//int GradJOrth(WorkspaceParams* workspaceparams);
    3932void convergence(int* pconverged, Mat K_ff,Vec p_f,Vec u_f,Vec u_f_old,Parameters* parameters);
Note: See TracChangeset for help on using the changeset viewer.