Changeset 4910


Ignore:
Timestamp:
07/30/10 12:49:00 (15 years ago)
Author:
Mathieu Morlighem
Message:

Added BeamRef

Location:
issm/trunk/src/c
Files:
2 added
7 edited

Legend:

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

    r4899 r4910  
    215215        ResetPenaltiesEnum,
    216216        RheologyBEnum,
     217        RheologyB2dEnum,
    217218        RheologyNEnum,
    218219        SegmentOnIceShelfEnum,
  • issm/trunk/src/c/Makefile.am

    r4907 r4910  
    153153                                        ./objects/Elements/Beam.h\
    154154                                        ./objects/Elements/Beam.cpp\
     155                                        ./objects/Elements/BeamRef.h\
     156                                        ./objects/Elements/BeamRef.cpp\
    155157                                        ./objects/Elements/Penta.h\
    156158                                        ./objects/Elements/Penta.cpp\
     
    709711                                        ./objects/Elements/Beam.h\
    710712                                        ./objects/Elements/Beam.cpp\
     713                                        ./objects/Elements/BeamRef.h\
     714                                        ./objects/Elements/BeamRef.cpp\
    711715                                        ./objects/Elements/Penta.h\
    712716                                        ./objects/Elements/Penta.cpp\
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r4880 r4910  
    10581058}
    10591059/*}}}*/
    1060 /*FUNCTION Beam::GetJacobianDeterminant{{{1*/
    1061 void Beam::GetJacobianDeterminant(double* pJdet,double* z_list, double gauss_coord){
    1062 
    1063 
    1064         double Jdet;
    1065 
    1066         Jdet=1.0/2.0*(z_list[1]-z_list[0]);
    1067 
    1068         if(Jdet<0){
    1069                 ISSMERROR(" negative jacobian determinant!");
    1070         }
    1071        
    1072         *pJdet=Jdet;
    1073 }
    1074 /*}}}*/
    1075 /*FUNCTION Beam::GetNodalFunctions{{{1*/
    1076 void Beam::GetNodalFunctions(double* l1l2, double gauss_coord){
    1077        
    1078         /*This routine returns the values of the nodal functions  at the gaussian point.*/
    1079 
    1080         /*First nodal function: */
    1081         l1l2[0]=-0.5*gauss_coord+0.5;
    1082 
    1083         /*Second nodal function: */
    1084         l1l2[1]=+0.5*gauss_coord+0.5;
    1085 }
    1086 /*}}}*/
    10871060/*FUNCTION Beam::GetParameterValue{{{1*/
    10881061void Beam::GetParameterValue(double* pvalue, double* value_list,double gauss_coord){
  • issm/trunk/src/c/objects/Elements/Beam.h

    r4880 r4910  
    1010
    1111#include "./Element.h"
     12#include "./BeamRef.h"
    1213class Hook;
    1314class Parameters;
     
    2223/*}}}*/
    2324
    24 class Beam: public Element{
     25class Beam: public Element,public BeamRef {
    2526
    2627        public:
     
    6768                void       Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
    6869                void       SetCurrentConfiguration(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
    69                 double     CostFunction(void);
     70                double  CostFunction(void);
    7071                void       CreateKMatrix(Mat Kgg);
    7172                void       CreatePVector(Vec pg);
    72                 void   DeleteResults(void);
     73                void     DeleteResults(void);
    7374                void       GetBedList(double* bed_list);
    7475                void*      GetMatPar();
     
    102103                void       MinVy(double* pminvy, bool process_units);
    103104                void       MinVz(double* pminvz, bool process_units);
    104                 double     Misfit(void);
     105                double  Misfit(void);
    105106                void       PatchFill(int* pcount, Patch* patch);
    106107                void       PatchSize(int* pnumrows, int* pnumvertices,int* pnumnodes);
    107108                void       ProcessResultsUnits(void);
    108                 double     SurfaceArea(void);
    109                 void       Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
    110                 void       UpdateGeometry(void){ISSMERROR("not implemented yet");};
     109                double  SurfaceArea(void);
     110                void     Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
     111                void     UpdateGeometry(void){ISSMERROR("not implemented yet");};
    111112                /*}}}*/
    112113                /*Beam specific routines: {{{1*/
     
    115116                void      GetDofList(int* doflist,int* pnumberofdofs);
    116117                void      GetDofList1(int* doflist);
    117                 void      GetJacobianDeterminant(double* pJdet,double* z_list, double gauss_coord);
    118                 void      GetNodalFunctions(double* l1l2, double gauss_coord);
    119118                void      GetParameterValue(double* pp, double* plist, double* gauss_l1l2l3);
    120119                void      GetParameterValue(double* pvalue, double* value_list,double gauss_coord);
  • issm/trunk/src/c/objects/Elements/TriaRef.cpp

    r4898 r4910  
    256256        /*Get Determinant*/
    257257        Matrix2x2Determinant(Jdet,&J[0][0]);
    258         if(Jdet<0) ISSMERROR("negative jacobian determinant!");
     258        if(*Jdet<0) ISSMERROR("negative jacobian determinant!");
    259259
    260260}
     
    277277        z3=*(xyz_list+3*2+2);
    278278
    279 
    280279        *Jdet=SQRT3/6.0*pow(pow(((y2-y1)*(z3-z1)-(z2-z1)*(y3-y1)),2.0)+pow(((z2-z1)*(x3-x1)-(x2-x1)*(z3-z1)),2.0)+pow(((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1)),2.0),0.5);
    281 
    282         if(Jdet<0){
    283                 ISSMERROR("negative jacobian determinant!");
    284         }
     280        if(*Jdet<0) ISSMERROR("negative jacobian determinant!");
    285281
    286282}
  • issm/trunk/src/c/objects/Inputs/BeamVertexInput.h

    r4899 r4910  
    1010/*{{{1*/
    1111#include "./Input.h"
     12#include "../Elements/BeamRef.h"
    1213/*}}}*/
    1314
    1415
    15 class BeamVertexInput: public Input{
     16class BeamVertexInput: public Input,public BeamRef{
    1617
    1718        public:
  • issm/trunk/src/c/objects/objects.h

    r4899 r4910  
    3434/*Elements: */
    3535#include "./Elements/Beam.h"
     36#include "./Elements/BeamRef.h"
    3637#include "./Elements/Element.h"
    3738#include "./Elements/Penta.h"
Note: See TracChangeset for help on using the changeset viewer.