Changeset 3354


Ignore:
Timestamp:
03/30/10 15:18:26 (15 years ago)
Author:
Mathieu Morlighem
Message:

Added a module to convert any mesh to a bamg mesh
Added Prognostic2 -> discontinuous Galerkin

Location:
issm/trunk/src
Files:
15 added
1 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Bamgx/objects/Triangles.cpp

    r3341 r3354  
    13071307                                //else st[k]>=0 -> the edge already exist, check
    13081308                                else if(st[k]>=0) {
    1309                                         //check that it is not an edge on boundary (should not alrady exist)
     1309                                        //check that it is not an edge on boundary (should not already exist)
    13101310                                        if (triangles[i].TriangleAdj(j) || triangles[st[k]/3].TriangleAdj((int) (st[k]%3))){
    13111311                                                ISSMERROR(exprintf("problem in Geometry reconstruction: an edge on boundary is duplicated (double element?)"));
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.cpp

    r3086 r3354  
    4141//prognostic
    4242int PrognosticAnalysisEnum(void){           return          250; }
    43 int BalancedthicknessAnalysisEnum(void){    return          251; }
    44 int BalancedvelocitiesAnalysisEnum(void){   return          252; }
     43int Prognostic2AnalysisEnum(void){          return          251; }
     44int BalancedthicknessAnalysisEnum(void){    return          252; }
     45int BalancedvelocitiesAnalysisEnum(void){   return          253; }
    4546//melting
    4647int MeltingAnalysisEnum(void){              return          260; }
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r3086 r3354  
    4242//prognostic
    4343int PrognosticAnalysisEnum(void);
     44int Prognostic2AnalysisEnum(void);
    4445int BalancedthicknessAnalysisEnum(void);
    4546int BalancedvelocitiesAnalysisEnum(void);
  • issm/trunk/src/c/Makefile.am

    r3327 r3354  
    224224                                        ./ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp\
    225225                                        ./ModelProcessorx/Prognostic/CreateParametersPrognostic.cpp\
     226                                        ./ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp\
     227                                        ./ModelProcessorx/Prognostic2/CreateConstraintsPrognostic2.cpp\
     228                                        ./ModelProcessorx/Prognostic2/CreateLoadsPrognostic2.cpp\
     229                                        ./ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp\
    226230                                        ./ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp\
    227231                                        ./ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
     
    387391                                        ./Bamgx/shared/Norm.h \
    388392                                        ./Bamgx/shared/OppositeAngle.h \
    389                                         ./Bamgx/shared/shared.h
     393                                        ./Bamgx/shared/shared.h\
     394                                        ./BamgConvertMeshx/BamgConvertMeshx.cpp\
     395                                        ./BamgConvertMeshx/BamgConvertMeshx.h
    390396
    391397libISSM_a_CXXFLAGS = -fPIC -DMATLAB -D_SERIAL_ -ansi -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  $(CXXOPTFLAGS)
     
    599605                                        ./ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp\
    600606                                        ./ModelProcessorx/Prognostic/CreateParametersPrognostic.cpp\
     607                                        ./ModelProcessorx/Prognostic2/CreateElementsNodesAndMaterialsPrognostic2.cpp\
     608                                        ./ModelProcessorx/Prognostic2/CreateConstraintsPrognostic2.cpp\
     609                                        ./ModelProcessorx/Prognostic2/CreateLoadsPrognostic2.cpp\
     610                                        ./ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp\
    601611                                        ./ModelProcessorx/Balancedthickness/CreateElementsNodesAndMaterialsBalancedthickness.cpp\
    602612                                        ./ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp\
     
    777787                                        ./Bamgx/shared/Norm.h \
    778788                                        ./Bamgx/shared/OppositeAngle.h \
    779                                         ./Bamgx/shared/shared.h
     789                                        ./Bamgx/shared/shared.h\
     790                                        ./BamgConvertMeshx/BamgConvertMeshx.cpp\
     791                                        ./BamgConvertMeshx/BamgConvertMeshx.h
    780792
    781793libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_   -D_C_ $(CXXOPTFLAGS)
  • issm/trunk/src/c/ModelProcessorx/CreateDataSets.cpp

    r3332 r3354  
    8484                                       
    8585        }
     86        else if (iomodel->analysis_type==Prognostic2AnalysisEnum()){
     87
     88                CreateElementsNodesAndMaterialsPrognostic2(pelements,pnodes,pmaterials, iomodel,iomodel_handle);
     89                CreateConstraintsPrognostic2(pconstraints,iomodel,iomodel_handle);
     90                CreateLoadsPrognostic2(ploads,iomodel,iomodel_handle);
     91                CreateParametersPrognostic2(pparameters,iomodel,iomodel_handle);
     92
     93        }
    8694        else if (iomodel->analysis_type==BalancedthicknessAnalysisEnum()){
    8795
  • issm/trunk/src/c/ModelProcessorx/IoModel.h

    r3203 r3354  
    248248        void  CreateParametersPrognostic(DataSet** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle);
    249249
     250        /*prognostic2:*/
     251        void    CreateElementsNodesAndMaterialsPrognostic2(DataSet** pelements,DataSet** pnodes, DataSet** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle);
     252        void    CreateConstraintsPrognostic2(DataSet** pconstraints,IoModel* iomodel,ConstDataHandle iomodel_handle);
     253        void  CreateLoadsPrognostic2(DataSet** ploads, IoModel* iomodel, ConstDataHandle iomodel_handle);
     254        void  CreateParametersPrognostic2(DataSet** pparameters,IoModel* iomodel,ConstDataHandle iomodel_handle);
     255
    250256        /*balancedthickness:*/
    251257        void    CreateElementsNodesAndMaterialsBalancedthickness(DataSet** pelements,DataSet** pnodes, DataSet** pmaterials, IoModel* iomodel,ConstDataHandle iomodel_handle);
  • issm/trunk/src/c/issm.h

    r3180 r3354  
    6565#include "./MassFluxx/MassFluxx.h"
    6666#include "./Bamgx/Bamgx.h"
     67#include "./BamgConvertMeshx/BamgConvertMeshx.h"
    6768
    6869
  • issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp

    r3332 r3354  
    5353                numdofs=1;
    5454        }
     55        else if (analysis_type==Prognostic2AnalysisEnum()){
     56                numdofs=1;
     57        }
    5558        else if (analysis_type==BalancedthicknessAnalysisEnum()){
    5659                numdofs=1;
  • issm/trunk/src/m/classes/public/bamg.m

    r3332 r3354  
    285285%Fill in rest of fields:
    286286md.type='2d';
    287 md.numberofelements=length(md.elements);
     287md.numberofelements=size(md.elements,1);
    288288md.numberofgrids=length(md.x);
    289289md.z=zeros(md.numberofgrids,1);
  • issm/trunk/src/m/classes/public/ismodelselfconsistent.m

    r3219 r3354  
    106106%SIZE NUMBEROFELEMENTS
    107107fields={'elements'};
    108 checklength(md,fields,md.numberofelements);
     108checksize(md,fields,[md.numberofelements 3]);
    109109
    110110%SIZE NUMBEROFGRIDS
  • issm/trunk/src/m/classes/public/process_solve_options.m

    r3069 r3354  
    2020
    2121%check solution type is supported
    22 if ~ismemberi(analysis_type,{'diagnostic','prognostic','thermal','steadystate','parameters','transient',...
     22if ~ismemberi(analysis_type,{'diagnostic','prognostic','prognostic2','thermal','steadystate','parameters','transient',...
    2323                'balancedthickness','balancedvelocities','slopecompute'}),
    2424        error(['process_solve_options error message: analysis_type ' analysis_type ' not supported yet!']);
  • issm/trunk/src/m/classes/public/solve.m

    r3069 r3354  
    6060
    6161elseif md.analysis_type==PrognosticAnalysisEnum,
    62         md=prognostic(md);;
     62        md=prognostic(md);
     63
     64elseif md.analysis_type==Prognostic2AnalysisEnum,
     65        md=prognostic2(md);
    6366
    6467elseif md.analysis_type==ThermalAnalysisEnum,
  • issm/trunk/src/m/enum/AnalysisTypeFromEnum.m

    r3087 r3354  
    8585end
    8686
     87if enum==Prognostic2AnalysisEnum(),
     88        string='prognostic2';
     89end
     90
    8791if enum==BalancedthicknessAnalysisEnum(),
    8892        string='balancedthickness';
  • issm/trunk/src/m/enum/BalancedthicknessAnalysisEnum.m

    r2715 r3354  
    77%      macro=BalancedthicknessAnalysisEnum()
    88
    9 macro=251;
     9macro=252;
  • issm/trunk/src/m/enum/BalancedvelocitiesAnalysisEnum.m

    r2722 r3354  
    77%      macro=BalancedvelocitiesAnalysisEnum()
    88
    9 macro=252;
     9macro=253;
  • issm/trunk/src/mex/Makefile.am

    r3170 r3354  
    77bin_PROGRAMS =  BuildNodeSets\
    88                                Bamg\
     9                                BamgConvertMesh\
    910                                ComputePressure\
    1011                                ConfigureObjects \
     
    8889                                        Bamg/Bamg.h
    8990
     91BamgConvertMesh_SOURCES = BamgConvertMesh/BamgConvertMesh.cpp\
     92                                        BamgConvertMesh/BamgConvertMesh.h
     93
    9094ComputePressure_SOURCES = ComputePressure/ComputePressure.cpp\
    9195                          ComputePressure/ComputePressure.h
Note: See TracChangeset for help on using the changeset viewer.