Changeset 8430


Ignore:
Timestamp:
05/25/11 17:23:14 (14 years ago)
Author:
Mathieu Morlighem
Message:

merged the transients 2D and 3D

Location:
issm/trunk/src/m
Files:
2 added
4 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/enum/EnumToModelField.m

    r8399 r8430  
    2121                case VyObsEnum(), string='vy_obs'; return
    2222                case GroundingLineMigrationEnum(), string='gl_migration'; return
    23                 case BasalMeltingRateEnum(), string='basal_melting_rate'; return
    24       case SurfaceAccumulationRateEnum(), string='surface_accumulation_rate'; return
    25                 case SurfaceAblationRateEnum(), string='surface_ablation_rate'; return
    26                 case SurfaceMassBalanceEnum(), string='surface_mass_balance'; return
     23                case BasalMeltingRateEnum: string='basal_melting_rate'; return
     24      case SurfaceAccumulationRateEnum: string='surface_accumulation_rate'; return
     25                case SurfaceAblationRateEnum: string='surface_ablation_rate'; return
     26                case SurfaceMassBalanceEnum: string='surface_mass_balance'; return
    2727                otherwise, error(['Enum ' num2str(enum)  ' not found associated to any model field']);
    2828
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r8421 r8430  
    268268%Solution specific check
    269269%TRANSIENT {{{1
    270 if (md.solution_type==Transient2DSolutionEnum | md.solution_type==Transient3DSolutionEnum),
     270if (md.solution_type==TransientSolutionEnum),
    271271
    272272        if md.dt<=0,
     
    484484                        %EXTRUSION
    485485                        if (md.dim==2),
    486                                 error(['model not consistent: for a ' md.solution_type ' computation, the model must be 3d, extrude it first!'])
     486                                if md.solution_type==TransientSolutionEnum,
     487                                        return;
     488                                else
     489                                        error(['model not consistent: for a ' EnumToString(md.solution_type) ' computation, the model must be 3d, extrude it first!'])
     490                                end
    487491                        end
    488492
  • issm/trunk/src/m/model/isresultconsistent.m

    r8298 r8430  
    154154end
    155155
    156 if (solution_type==Transient2DSolutionEnum() | solution_type==Transient3DSolutionEnum()),
     156if (solution_type==TransientSolutionEnum()),
    157157
    158158        for iter=1:length(md.results.TransientAnalysis)
  • issm/trunk/src/m/model/plot/plot_transient_field.m

    r6134 r8430  
    88
    99%Check that they are transient results
    10 if (~isfield(md.results,'Transient2DSolution') && ~isfield(md.results,'Transient3DSolution')),
     10if (~isfield(md.results,'TransientSolution')),
    1111        error('plot_transient_field error message: no transient results in the model');
    1212end
    1313
    14 if md.dim==2,
    15         transient=md.results.Transient2DSolution;
    16 else
    17         transient=md.results.Transient3DSolution;
    18 end
    19 
    2014%Figure out the iterations to plot and check if it is possible
     15transient=md.results.TransientSolution;
    2116maxiteration=size(transient,2);
    2217steps=getfieldvalue(options,'steps',1:1:maxiteration);
  • issm/trunk/src/m/model/plot/plot_transient_movie.m

    r6815 r8430  
    1616        end
    1717
    18         if md.dim==2,
    19                 results=md.results.Transient2DSolution;
    20         else
    21                 results=md.results.Transient3DSolution;
    22         end
    23 
    2418        %loop over the time steps
     19        results=md.results.TransientSolution;
    2520        for i=1:length(results)
    2621
  • issm/trunk/src/m/model/process_solve_options.m

    r8296 r8430  
    1111if ischar(solution_type), error(['only Enums are supported as ''solution_type''. For example: md=solve(md,''solution_type'',DiagnosticSolutionEnum); ']); end
    1212if ~ismember(solution_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,...
    13                 SteadystateSolutionEnum,ParametersSolutionEnum,Transient2DSolutionEnum,Transient3DSolutionEnum...
     13                SteadystateSolutionEnum,ParametersSolutionEnum,TransientSolutionEnum,...
    1414                BalancethicknessSolutionEnum,BalancevelocitiesSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]),
    1515        error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']);
  • issm/trunk/src/m/model/solve.m

    r8343 r8430  
    1212%               SteadystateSolutionEnum
    1313%               ParametersSolutionEnum
    14 %               Transient2DSolutionEnum
    15 %               Transient3DSolutionEnum...
     14%               TransientSolutionEnum...
    1615%               BalancethicknessSolutionEnum
    1716%               BalancevelocitiesSolutionEnum
  • issm/trunk/src/m/model/tres.m

    r8392 r8430  
    5353
    5454elseif strcmpi(string,'transient'),
    55         results=md.results.Transient2DSolution;
     55        results=md.results.TransientSolution;
    5656        results2.Vel=NaN;
    5757        count=1;
    5858        for i=1:length(results),
    59                 if ~isempty(md.results.Transient2DSolution(i).Vel),
    60                         results2(count).Vel=PatchToVec(md.results.Transient2DSolution(i).Vel);
    61                         results2(count).Surface=PatchToVec(md.results.Transient2DSolution(i).Surface);
    62                         results2(count).Thickness=PatchToVec(md.results.Transient2DSolution(i).Thickness);
    63                         results2(count).Bed=PatchToVec(md.results.Transient2DSolution(i).Bed);
    64                         results2(count).Vx=PatchToVec(md.results.Transient2DSolution(i).Vx);
    65                         results2(count).Vy=PatchToVec(md.results.Transient2DSolution(i).Vy);
    66                         results2(count).time=md.results.Transient2DSolution(i).time;
    67                         results2(count).step=md.results.Transient2DSolution(i).step;
     59                if ~isempty(md.results.TransientSolution(i).Vel),
     60                        results2(count).Vel=PatchToVec(md.results.TransientSolution(i).Vel);
     61                        results2(count).Surface=PatchToVec(md.results.TransientSolution(i).Surface);
     62                        results2(count).Thickness=PatchToVec(md.results.TransientSolution(i).Thickness);
     63                        results2(count).Bed=PatchToVec(md.results.TransientSolution(i).Bed);
     64                        results2(count).Vx=PatchToVec(md.results.TransientSolution(i).Vx);
     65                        results2(count).Vy=PatchToVec(md.results.TransientSolution(i).Vy);
     66                        results2(count).time=md.results.TransientSolution(i).time;
     67                        results2(count).step=md.results.TransientSolution(i).step;
    6868                        if md.gl_migration~=NoneEnum,
    69                                 results2(count).ElementOnIceShelf=md.results.Transient2DSolution(i).ElementOnIceShelf;
     69                                results2(count).ElementOnIceShelf=md.results.TransientSolution(i).ElementOnIceShelf;
    7070                        end
    7171                        count=count+1;
    7272                end
    7373        end
    74         md.results.Transient2DSolution=results2;
     74        md.results.TransientSolution=results2;
    7575        clear results,results2;
    7676elseif strcmpi(string,'steadystate'),
  • issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m

    r8353 r8430  
    1515        case SurfaceSlopeSolutionEnum,             solutioncore='surfaceslope_core';
    1616        case BedSlopeSolutionEnum,                 solutioncore='bedslope_core';
    17         case Transient2DSolutionEnum,              solutioncore='transient2d_core';
    18         case Transient3DSolutionEnum,              solutioncore='transient3d_core';
     17        case TransientSolutionEnum,                solutioncore='transient_core';
    1918        case FlaimSolutionEnum,                    solutioncore='flaim_core';
    2019        case GroundingLineMigration2DSolutionEnum, solutioncore='DUMMYDUMMY'; %not working in serial mode
  • issm/trunk/src/m/solutions/SolutionConfiguration.m

    r8353 r8430  
    4242                analyses=[BedSlopeAnalysisEnum];
    4343
    44         case Transient2DSolutionEnum,
    45                 numanalyses=6;
    46                 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum];
    47 
    48         case Transient3DSolutionEnum,
     44        case TransientSolutionEnum,
    4945                numanalyses=8;
    50                 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
     46                analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum;PrognosticAnalysisEnum];
    5147
    5248        case FlaimSolutionEnum,
Note: See TracChangeset for help on using the changeset viewer.