Changeset 3752


Ignore:
Timestamp:
05/17/10 07:16:51 (15 years ago)
Author:
Eric.Larour
Message:

Started migration of serial solution

Location:
issm/trunk/src
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/parallel/diagnostic_core.cpp

    r3751 r3752  
    9191        //for qmu analysis, be sure the velocity input we are starting from  is the one in the parameters: */
    9292        if(qmu_analysis){
    93                 model->FindParamByAnalysisAndSub(&vx,&dummy,VxEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
    94                 model->FindParamByAnalysisAndSub(&vy,&dummy,VyEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
    95                 model->FindParamByAnalysisAndSub(&vz,&dummy,VzEnum,DiagnosticAnalysisEnum,HorizAnalysisEnum); model->UpdateInputsFromVector(vz,VzEnum,VertexEnum);
     93                fem_dh->FindParam(&vx,&dummy,VxEnum); model->UpdateInputsFromVector(vx,VxEnum,VertexEnum);
     94                fem_dh->FindParam(&vy,&dummy,VyEnum); model->UpdateInputsFromVector(vy,VyEnum,VertexEnum);
     95                fem_dh->FindParam(&vz,&dummy,VzEnum); model->UpdateInputsFromVector(vz,VzEnum,VertexEnum);
    9696        }
    9797
  • issm/trunk/src/m/solutions/jpl/diagnostic.m

    r3715 r3752  
    2929        md.dof=modelsize(models);
    3030
    31         %initialize inputs
    32         inputs=inputlist;
    33         inputs=add(inputs,'velocity',models.dh.parameters.u_g,'doublevec',3,models.dh.parameters.numberofnodes);
    34         if md.control_analysis,
    35                 inputs=add(inputs,'velocity_obs',models.dh.parameters.u_g_obs,'doublevec',2,models.dh.parameters.numberofnodes);
    36                 inputs=add(inputs,'weights',models.dh.parameters.weights,'doublevec',1,models.dh.parameters.numberofnodes);
    37         end
    38 
    3931        %compute solution
    4032        if ~models.dh.parameters.qmu_analysis,
  • issm/trunk/src/m/solutions/jpl/diagnostic_core.m

    r3529 r3752  
    1 function results=diagnostic_core(models,inputs);
     1function results=diagnostic_core(model);
    22%DIAGNOSTIC_CORE - compute the core velocity field
    33%
    44%   Usage:
    5 %      results=diagnostic_core(models,inputs);
     5%      results=diagnostic_core(models);
    66%
    77
     
    2020isstokes=m_ds.parameters.isstokes;
    2121numrifts=m_dhu.parameters.numrifts;
     22qmu_analysis=m_dh.parameters.qmu_analysis;
    2223
    23 debug=1;
     24       
     25%for qmu analysis, be sure the velocity input we are starting from  is the one in the parameters:
     26if qmu_analysis,
     27        UpdateInputsFromVector(models,m_dh.vx,VxEnum,VertexEnum);
     28        UpdateInputsFromVector(models,m_dh.vy,VyEnum,VertexEnum);
     29        UpdateInputsFromVector(models,m_dh.vz,VzEnum,VertexEnum);
     30end
     31
     32%Compute slopes:
     33[surfaceslopex,surfaceslopey]=slope_core(m_sl,SurfaceAnalysisEnum);
     34[bedslopex,bedslopey]=slope_core(m_sl,BedAnalysisEnum);
     35
     36%Update:
     37UpdateInputsFromVector(models,surfaceslopex,SurfaceSlopexEnum,VertexEnum);
     38UpdateInputsFromVector(models,surfaceslopey,SurfaceSlopeyEnum,VertexEnum);
     39UpdateInputsFromVector(models,bedslopex,BedSlopexEnum,VertexEnum);
     40UpdateInputsFromVector(models,bedslopey,BedSlopeyEnum,VertexEnum);
     41
     42
    2443
    2544if ishutter,
    2645
    27         displaystring(verbose,'\n%s',['computing surface slope (x and y derivatives)...']);
    28         slopex=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceXAnalysisEnum());
    29         slopey=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceYAnalysisEnum());
    30 
    31         if dim==3,
    32                 displaystring(verbose,'\n%s',['extruding slopes in 3d...']);
    33                 slopex=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.vertices,m_sl.loads,m_sl.materials,m_sl.parameters,slopex,'slopex',0);
    34                 slopey=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.vertices,m_sl.loads,m_sl.materials,m_sl.parameters,slopey,'slopey',0);
    35         end
    36 
    37         displaystring(verbose,'\n%s',['computing slopes...']);
    38         inputs=add(inputs,'surfaceslopex',slopex,'doublevec',m_sl.parameters.numberofdofspernode,m_sl.parameters.numberofnodes);
    39         inputs=add(inputs,'surfaceslopey',slopey,'doublevec',m_sl.parameters.numberofdofspernode,m_sl.parameters.numberofnodes);
    40 
    4146        displaystring(verbose,'\n%s',['computing hutter velocities...']);
    42         u_g=diagnostic_core_linear(m_dhu,inputs,DiagnosticAnalysisEnum(),HutterAnalysisEnum());
     47        u_g=diagnostic_core_linear(m_dhu,DiagnosticAnalysisEnum(),HutterAnalysisEnum());
    4348
    4449        displaystring(verbose,'\n%s',['computing pressure according to MacAyeal...']);
    45         p_g=ComputePressure(m_dhu.elements,m_dhu.nodes,m_dhu.vertices,m_dhu.loads,m_dhu.materials,m_dhu.parameters,inputs,DiagnosticAnalysisEnum(),HutterAnalysisEnum());
     50        p_g=ComputePressure(m_dhu.elements,m_dhu.nodes,m_dhu.vertices,m_dhu.loads,m_dhu.materials,m_dhu.parameters,DiagnosticAnalysisEnum(),HutterAnalysisEnum());
    4651
    4752        displaystring(verbose,'\n%s',['update boundary conditions for macyeal pattyn using hutter results...']);
     
    5661
    5762        displaystring(verbose,'\n%s',['computing horizontal velocities...']);
    58         [u_g m_dh.loads]=diagnostic_core_nonlinear(m_dh,inputs,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
     63        [u_g m_dh.loads]=diagnostic_core_nonlinear(m_dh,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
    5964
    60         displaystring(verbose,'\n%s',['computing pressure according to MacAyeal...']);
    61         p_g=ComputePressure(m_dh.elements,m_dh.nodes,m_dh.vertices,m_dh.loads,m_dh.materials,m_dh.parameters,inputs,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
     65        if dim==2,
     66                displaystring(verbose,'\n%s',['computing pressure according to MacAyeal...']);
     67                p_g=ComputePressure(m_dh.elements,m_dh.nodes,m_dh.vertices,m_dh.loads,m_dh.materials,m_dh.parameters,DiagnosticAnalysisEnum(),HorizAnalysisEnum());
     68        end
    6269end
    6370       
Note: See TracChangeset for help on using the changeset viewer.