Changeset 308


Ignore:
Timestamp:
05/07/09 17:06:45 (16 years ago)
Author:
Eric.Larour
Message:

completed hutter element

Location:
issm/trunk/src
Files:
4 added
12 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.cpp

    r304 r308  
    4242int TriaEnum(void){                     return         101; }
    4343int PentaEnum(void){                    return         102; }
     44int SingEnum(void){                     return         103; }
     45int BeamEnum(void){                     return         104; }
    4446
    4547/*Loads: */
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r304 r308  
    1010int NodeEnum(void);
    1111int TriaEnum(void);
     12int SingEnum(void);
     13int BeamEnum(void);
    1214int PentaEnum(void);
    1315int MaterialEnum(void);
  • issm/trunk/src/c/Makefile.am

    r304 r308  
    3636                                        ./objects/Tria.h\
    3737                                        ./objects/Tria.cpp\
     38                                        ./objects/Sing.h\
     39                                        ./objects/Sing.cpp\
     40                                        ./objects/Beam.h\
     41                                        ./objects/Beam.cpp\
    3842                                        ./objects/Penta.h\
    3943                                        ./objects/Penta.cpp\
     
    273277                                        ./objects/Tria.h\
    274278                                        ./objects/Tria.cpp\
     279                                        ./objects/Sing.h\
     280                                        ./objects/Sing.cpp\
     281                                        ./objects/Beam.h\
     282                                        ./objects/Beam.cpp\
    275283                                        ./objects/Penta.h\
    276284                                        ./objects/Penta.cpp\
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp

    r306 r308  
    1616void    CreateConstraintsDiagnosticHutter(DataSet** pconstraints, Model* model,ConstDataHandle model_handle){
    1717
    18         int i;
     18        int i,j;
    1919        int count;
    2020
     
    2222
    2323        Spc*    spc  = NULL;
     24        Rgb*    rgb  = NULL;
    2425
    2526        /*spc intermediary data: */
     
    2829        int spc_dof;
    2930        double spc_value;
    30        
     31
     32        /*rgb constructor data: */
     33        int rgb_id;
     34        int rgb_dof;
     35        int rgb_nodeid1;
     36        int rgb_nodeid2;
     37
    3138        /*Create constraints: */
    3239        constraints = new DataSet(ConstraintsEnum());
     
    9097                                        rgb_id=count;
    9198                                        rgb_dof=1;
    92                                         rgb_nodeid1=*(model->penalties+(model->numlayers-1)*i+j);
    93                                         rgb_nodeid1=*(model->penalties+(model->numlayers-1)*i+j+1);
     99                                        rgb_nodeid1=(int)*(model->penalties+(model->numlayers-1)*i+j);
     100                                        rgb_nodeid1=(int)*(model->penalties+(model->numlayers-1)*i+j+1);
    94101                                       
    95102                                        rgb = new Rgb(rgb_id,rgb_nodeid1,rgb_nodeid2,rgb_dof);
     
    100107                                        rgb_id=count;
    101108                                        rgb_dof=2;
    102                                         rgb_nodeid1=*(model->penalties+(model->numlayers-1)*i+j);
    103                                         rgb_nodeid1=*(model->penalties+(model->numlayers-1)*i+j+1);
     109                                        rgb_nodeid1=(int)*(model->penalties+(model->numlayers-1)*i+j);
     110                                        rgb_nodeid1=(int)*(model->penalties+(model->numlayers-1)*i+j+1);
    104111                                       
    105112                                        rgb = new Rgb(rgb_id,rgb_nodeid1,rgb_nodeid2,rgb_dof);
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp

    r306 r308  
    1717void    CreateElementsNodesAndMaterialsDiagnosticHutter(DataSet** pelements,DataSet** pnodes, DataSet** pmaterials, Model* model,ConstDataHandle model_handle){
    1818
     19
     20        int i,k;
     21        extern int my_rank;
     22        extern int num_procs;
    1923
    2024        /*DataSets: */
     
    6872        double beam_b[2];
    6973        double beam_k[2];
     74        int    beam_onbed;
    7075                                       
    7176        /*matpar constructor input: */
     
    139144        ModelFetchData((void**)&model->surface,NULL,NULL,model_handle,"surface","Matrix","Mat");
    140145        ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat");
    141         ModelFetchData((void**)&model->uppergrids,NULL,NULL,model_handle,"uppergrids","Matrix","Mat");
     146        ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat");
     147        ModelFetchData((void**)&model->uppernodes,NULL,NULL,model_handle,"uppergrids","Matrix","Mat");
    142148        ModelFetchData((void**)&model->drag,NULL,NULL,model_handle,"drag","Matrix","Mat");
    143149        ModelFetchData((void**)&model->B,NULL,NULL,model_handle,"B","Matrix","Mat");
     
    204210                                        beam_mparid=model->numberofnodes+1;//refers to the corresponding matpar property card
    205211                                        beam_g[0]=i+1;
    206                                         beam_g[1]=model->uppergrids[i]; //grid that lays right on top
     212                                        beam_g[1]=(int)model->uppernodes[i]; //grid that lays right on top
    207213                                        beam_h[0]=model->thickness[i];
    208                                         beam_h[1]=model->thickness[model->uppergrids[i]-1];
     214                                        beam_h[1]=model->thickness[(int)(model->uppernodes[i]-1)];
    209215                                        beam_s[0]=model->surface[i];
    210                                         beam_s[1]=model->surface[model->uppergrids[i]-1];
     216                                        beam_s[1]=model->surface[(int)(model->uppernodes[i]-1)];
    211217                                        beam_b[0]=model->bed[i];
    212                                         beam_b[1]=model->bed[model->uppergrids[i]-1];
     218                                        beam_b[1]=model->bed[(int)(model->uppernodes[i]-1)];
    213219                                        beam_k[0]=model->drag[i];
    214                                         beam_k[1]=model->drag[model->uppergrids[i]-1];
     220                                        beam_k[1]=model->drag[(int)(model->uppernodes[i]-1)];
     221
     222                                        if (model->gridonbed[i] ) beam_onbed=1;
    215223
    216224                                        /*Create beam element ubeam its constructor:*/
    217                                         beam=new Beam(beam_id, beam_mid, beam_mparid, beam_g, beam_h, beam_s,beam_b,beam_k);
     225                                        beam=new Beam(beam_id, beam_mid, beam_mparid, beam_g, beam_h, beam_s,beam_b,beam_k,beam_onbed);
    218226
    219227                                        /*Add tria element to elements dataset: */
     
    247255        xfree((void**)&model->surface);
    248256        xfree((void**)&model->gridonsurface);
    249         xfree((void**)&model->uppergrids);
     257        xfree((void**)&model->uppernodes);
    250258        xfree((void**)&model->drag);
    251259        xfree((void**)&model->B);
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp

    r300 r308  
    3030
    3131}
    32 
    33 
  • issm/trunk/src/c/ModelProcessorx/Model.cpp

    r300 r308  
    4949        model->numlayers=0;
    5050        model->uppernodes=NULL;
     51        model->gridonhutter=NULL;
    5152       
    5253        model->vx_obs=NULL;
     
    183184        xfree((void**)&model->elements);
    184185        xfree((void**)&model->elements_type);
     186        xfree((void**)&model->gridonhutter);
    185187        if (strcmp(model->meshtype,"3d")==0){
    186188                xfree((void**)&model->elements2d);
  • issm/trunk/src/c/ModelProcessorx/Model.h

    r306 r308  
    3939        int     ismacayealpattyn;
    4040        int     isstokes;
     41        double* gridonhutter;
    4142
    4243        /*results: */
  • issm/trunk/src/c/objects/Matice.cpp

    r246 r308  
    305305        *pviscosity3d=viscosity3d;
    306306}
     307
     308double Matice::GetB(){
     309        return B;
     310}
     311
     312double Matice::GetN(){
     313        return n;
     314}
     315
  • issm/trunk/src/c/objects/Matice.h

    r246 r308  
    3636                void  GetViscosity3d(double* pviscosity3d, double* pepsilon);
    3737                Object* copy();
     38                double GetB();
     39                double GetN();
    3840
    3941};
  • issm/trunk/src/c/objects/objects.h

    r246 r308  
    1616#include "./Penta.h"
    1717#include "./Tria.h"
     18#include "./Sing.h"
     19#include "./Beam.h"
    1820#include "./Spc.h"
    1921#include "./Rgb.h"
  • issm/trunk/src/m/classes/public/marshall.m

    r283 r308  
    3232WriteData(fid,md.elements,'Mat','elements');
    3333WriteData(fid,md.elements_type,'Mat','elements_type');
     34WriteData(fid,md.gridonhutter,'Mat','gridonhutter');
    3435
    3536if strcmpi(md.type,'3d'),
Note: See TracChangeset for help on using the changeset viewer.