Changeset 17111


Ignore:
Timestamp:
01/14/14 14:30:53 (11 years ago)
Author:
seroussi
Message:

NEW: adding analytical functions framework for FS tests

Location:
issm/trunk-jpl/src/c
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r17085 r17111  
    177177                                        ./shared/LatLong/Ll2xyx.cpp\
    178178                                        ./shared/LatLong/Xy2llx.cpp\
     179                                        ./shared/FSanalyticals/fsanalyticals.h\
     180                                        ./shared/FSanalyticals/fx.cpp\
     181                                        ./shared/FSanalyticals/fy.cpp\
     182                                        ./shared/FSanalyticals/fz.cpp\
    179183                                        ./shared/Enum/Enum.h\
    180184                                        ./shared/Enum/EnumDefinitions.h\
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r17109 r17111  
    27192719        return Ke;
    27202720}/*}}}*/
     2721#ifdef FSANALYTICAL
    27212722ElementVector* StressbalanceAnalysis::CreatePVectorFS(Element* element){/*{{{*/
    2722 
    2723         #ifdef FSANALYTICAL
    2724         ElementVector* pe=CreatePVectorFSAnalytical(element);
    2725 
    2726         #else
    2727         /*compute all load vectors for this element*/
    2728         ElementVector* pe1=CreatePVectorFSViscous(element);
    2729         ElementVector* pe2=CreatePVectorFSShelf(element);
    2730         ElementVector* pe3=CreatePVectorFSFront(element);
    2731         ElementVector* pe =new ElementVector(pe1,pe2,pe3);
    2732 
    2733         /*clean-up and return*/
    2734         delete pe1;
    2735         delete pe2;
    2736         delete pe3;
    2737         #endif
    2738 
    2739         return pe;
    2740 }/*}}}*/
    2741 ElementVector* StressbalanceAnalysis::CreatePVectorFSAnalytical(Element* element){/*{{{*/
    27422723
    27432724        bool        analytical_solution=0;
     
    27792760                element->NodalFunctionsVelocity(vbasis,gauss);
    27802761
    2781                 forcex=1.0; forcey=1.0; forcez=1.0;
    2782 //              forcex->fx(x_coord,y_coord,z_coord);
    2783 //              forcex->fy(x_coord,y_coord,z_coord);
    2784 //              forcex->fz(x_coord,y_coord,z_coord);
     2762                x_coord=element->GetXcoord(gauss);
     2763                y_coord=element->GetYcoord(gauss);
     2764                z_coord=element->GetZcoord(gauss);
     2765
     2766                forcex=fx(x_coord,y_coord,z_coord);
     2767                forcey=fy(x_coord,y_coord,z_coord);
     2768                forcez=fz(x_coord,y_coord,z_coord);
    27852769
    27862770                for(i=0;i<vnumnodes;i++){
     
    28012785        return pe;
    28022786}/*}}}*/
     2787#else
     2788ElementVector* StressbalanceAnalysis::CreatePVectorFS(Element* element){/*{{{*/
     2789
     2790        /*compute all load vectors for this element*/
     2791        ElementVector* pe1=CreatePVectorFSViscous(element);
     2792        ElementVector* pe2=CreatePVectorFSShelf(element);
     2793        ElementVector* pe3=CreatePVectorFSFront(element);
     2794        ElementVector* pe =new ElementVector(pe1,pe2,pe3);
     2795
     2796        /*clean-up and return*/
     2797        delete pe1;
     2798        delete pe2;
     2799        delete pe3;
     2800
     2801        return pe;
     2802}/*}}}*/
     2803#endif
    28032804ElementVector* StressbalanceAnalysis::CreatePVectorFSViscous(Element* element){/*{{{*/
    28042805
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h

    r17109 r17111  
    6969                ElementMatrix* CreateKMatrixFSFriction(Element* element);
    7070                ElementVector* CreatePVectorFS(Element* element);
    71                 ElementVector* CreatePVectorFSAnalytical(Element* element);
    7271                ElementVector* CreatePVectorFSViscous(Element* element);
    7372                ElementVector* CreatePVectorFSShelf(Element* element);
  • issm/trunk-jpl/src/c/shared/shared.h

    r15069 r17111  
    66#define _SHARED_H_
    77
     8#include "./FSanalyticals/fsanalyticals.h"
    89#include "./MemOps/MemOps.h"
    910#include "./Bamg/shared.h"
Note: See TracChangeset for help on using the changeset viewer.