Changeset 10444


Ignore:
Timestamp:
11/03/11 08:53:02 (13 years ago)
Author:
seroussi
Message:

grounding line migration soft

Location:
issm/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/cron/cronfiles/linux_cronfile

    r10113 r10444  
    9930 12 * * 1-5 cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_daily
    101000 15 * * 1-5 cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_daily
    11 00 18 * * 1-5 cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_daily
     1100 18 * * 1-5 cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_nightly
    121200 23 * * 1-5 cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_nightly
    131300 23 * * 6   cd /u/astrid-r1b/seroussi/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/linux64_seroussi_validation
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r10440 r10444  
    19911991}
    19921992/*}}}*/
    1993 /*FUNCTION Penta::IsNodeOnShelf {{{1*/
     1993/*FUNCTION Penta::IsNodeOnShelfFromFlags {{{1*/
    19941994bool   Penta::IsNodeOnShelfFromFlags(double* flags){
    19951995
     
    19971997        bool shelf=false;
    19981998
    1999         for(i=0;i<6;i++){
     1999        for(i=0;i<NUMVERTICES;i++){
    20002000                if (flags[nodes[i]->Sid()]){
    20012001                        shelf=true;
     
    22202220/*FUNCTION Penta::PotentialSheetUngrounding{{{1*/
    22212221void  Penta::PotentialSheetUngrounding(Vec potential_sheet_ungrounding){
    2222         _error_("not supported yet!");
     2222
     2223        int     i;
     2224        double  h[NUMVERTICES],ba[NUMVERTICES];
     2225        double  bed_hydro;
     2226        double  rho_water,rho_ice,density;
     2227        bool    elementonshelf = false;
     2228
     2229        /*material parameters: */
     2230        rho_water=matpar->GetRhoWater();
     2231        rho_ice=matpar->GetRhoIce();
     2232        density=rho_ice/rho_water;
     2233        GetInputListOnVertices(&h[0],ThicknessEnum);
     2234        GetInputListOnVertices(&ba[0],BathymetryEnum);
     2235
     2236        /*go through vertices, and figure out which ones are on the ice sheet, and want to unground: */
     2237        for(i=0;i<NUMVERTICES;i++){
     2238                /*Find if grounded vertices want to start floating*/
     2239                if (!nodes[i]->IsFloating()){
     2240                        bed_hydro=-density*h[i];
     2241                        if (bed_hydro>ba[i]){
     2242                                /*Vertex that could potentially unground, flag it*/
     2243                                VecSetValue(potential_sheet_ungrounding,nodes[i]->Sid(),1,INSERT_VALUES);
     2244                        }
     2245                }
     2246        }
    22232247}
    22242248/*}}}*/
     
    27162740/*}}}*/
    27172741/*FUNCTION Penta::UpdatePotentialSheetUngrounding{{{1*/
    2718 int Penta::UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
    2719         _error_("Not implemented yet");
     2742int Penta::UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
     2743
     2744        int i;
     2745        int nflipped=0;
     2746
     2747        /*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
     2748        for(i=0;i<NUMVERTICES;i++){
     2749                if (vertices_potentially_ungrounding[nodes[i]->Sid()]){
     2750                        VecSetValue(vec_nodes_on_iceshelf,nodes[i]->Sid(),1,INSERT_VALUES);
     2751               
     2752                        /*If node was not on ice shelf, we flipped*/
     2753                        if(nodes_on_iceshelf[nodes[i]->Sid()]==0){
     2754                                nflipped++;
     2755                        }
     2756                }
     2757        }
     2758        return nflipped;
    27202759}
    27212760/*}}}*/
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r10407 r10444  
    18711871        bool shelf=false;
    18721872
    1873         for(i=0;i<3;i++){
     1873        for(i=0;i<NUMVERTICES;i++){
    18741874                if (flags[nodes[i]->Sid()]){
    18751875                        shelf=true;
     
    23462346        int nflipped=0;
    23472347
    2348         /*Ok, go through our 3 nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
     2348        /*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
    23492349        for(i=0;i<3;i++){
    23502350                if (vertices_potentially_ungrounding[nodes[i]->Sid()]){
  • issm/trunk/src/m/classes/groundingline.m

    r10408 r10444  
    4747
    4848                        if ~strcmp(obj.migration,'None'),
    49                                 if (md.mesh.dimension==3 & strcmpi(md.groundingline.migration,'SoftMigration')),
    50                                         checkmessage(['requesting grounding line migration with SoftMigration, but only AgressiveMigration is implemented in 3d models !']);
    51                                 end
     49        %                       if (md.mesh.dimension==3 & strcmpi(md.groundingline.migration,'SoftMigration')),
     50        %                               checkmessage(['requesting grounding line migration with SoftMigration, but only AgressiveMigration is implemented in 3d models !']);
     51        %                       end
    5252                                if isnan(md.geometry.bathymetry),
    5353                                        checkmessage(['requesting grounding line migration, but bathymetry is absent!']);
  • issm/trunk/src/m/model/plot/plot_gridded.m

    r10413 r10444  
    77%   See also: PLOTMODEL
    88
    9 whitepos=2; %1: up, 2: down, else: none
     9whitepos=1; %1: up, 2: down, else: none
    1010
    1111%process mesh and data
  • issm/trunk/src/m/solutions/transient_core.m

    r10408 r10444  
    5858
    5959                if (isgroundingline)
    60                         if (dim==3 & groundinglinemigration==SoftMigrationEnum), error('grounding line migration not implemented in 3d'); end
     60                %       if (dim==3 & groundinglinemigration==SoftMigrationEnum), error('grounding line migration not implemented in 3d'); end
    6161                        issmprintf(VerboseSolution,'\n%s',['   computing new grounding line']);
    6262                        [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=...
Note: See TracChangeset for help on using the changeset viewer.