Changeset 4728


Ignore:
Timestamp:
07/22/10 10:11:42 (15 years ago)
Author:
Mathieu Morlighem
Message:

added double precision criterion to time stepping check

Location:
issm/trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk/src/c/solutions/transient2d_core.cpp

    r4718 r4728  
    99#include "./solutions.h"
    1010#include "../modules/modules.h"
     11#include <float.h>
    1112
    1213void transient2d_core(FemModel* femmodel){
     
    1516
    1617        /*parameters: */
    17         int verbose=0;
     18        int    verbose       = 0;
    1819        double finaltime;
    19         double dt;
    20         int solution_type;
     20        double dt,yts;
     21        int    solution_type;
    2122       
    2223        /*intermediary: */
     
    2829        femmodel->parameters->FindParam(&finaltime,NdtEnum);
    2930        femmodel->parameters->FindParam(&dt,DtEnum);
     31        femmodel->parameters->FindParam(&yts,YtsEnum);
    3032        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
    3133
     
    3436        time=0;
    3537
    36         while(time<finaltime){ //make sure we run up to finaltime.
     38        while(time < finaltime - (yts*DBL_EPSILON)){ //make sure we run up to finaltime.
    3739       
    3840                /*Increment*/
  • TabularUnified issm/trunk/src/c/solutions/transient3d_core.cpp

    r4718 r4728  
    1111#include "../include/include.h"
    1212#include "../solvers/solvers.h"
     13#include <float.h>
    1314
    1415void transient3d_core(FemModel* femmodel){
    1516
    1617        /*parameters: */
    17         int verbose=0;
     18        int    verbose       = 0;
    1819        double finaltime;
    19         double dt;
    20         int solution_type;
     20        double dt,yts;
     21        int    solution_type;
    2122       
    2223        /*intermediary: */
     
    2829        femmodel->parameters->FindParam(&finaltime,NdtEnum);
    2930        femmodel->parameters->FindParam(&dt,DtEnum);
     31        femmodel->parameters->FindParam(&yts,YtsEnum);
    3032        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
    3133
     
    3436        time=0;
    3537
    36         while(time<finaltime){ //make sure we run up to finaltime.
     38        while(time < finaltime - (yts*DBL_EPSILON)){ //make sure we run up to finaltime.
    3739
    3840                /*Increment*/
  • TabularUnified issm/trunk/src/m/solutions/transient2d_core.m

    r4718 r4728  
    99        ndt=femmodel.parameters.Ndt;
    1010        dt=femmodel.parameters.Dt;
     11        yts=femmodel.parameters.Yts;
    1112        solution_type=femmodel.parameters.SolutionType;
    1213
     
    1617
    1718        %Loop through time
    18         while time<ndt,
     19        while (time < ndt - (yts*eps)),
    1920
    2021                %increment
  • TabularUnified issm/trunk/src/m/solutions/transient3d_core.m

    r4718 r4728  
    99        ndt=femmodel.parameters.Ndt;
    1010        dt=femmodel.parameters.Dt;
     11        yts=femmodel.parameters.Yts;
    1112        solution_type=femmodel.parameters.SolutionType;
    1213
     
    1617
    1718        %Loop through time
    18         while time<ndt,
     19        while (time < ndt - (yts*eps)),
    1920
    2021                %Increment
Note: See TracChangeset for help on using the changeset viewer.