Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ShapeFunction {
- private int liczba_punktow_calkowania;
- private GlobalData globalData; // tworzenie siatki
- public double dNdKsi [][] ={
- {-0.39425, 0.39425, 0.10575, -0.10575},
- {-0.39425, 0.39425, 0.10575, -0.10575},
- {-0.10575, 0.10575, 0.39425, -0.39425},
- {-0.10575, 0.10575, 0.39425, -0.39425}
- };
- public double dNdEta [][] = {
- {-0.39425, -0.10575, 0.10575, 0.39425},
- {-0.10575, -0.39425, 0.39425, 0.10575},
- {-0.10575, -0.39425, 0.39425, 0.10575},
- {-0.39425, -0.10575, 0.10575, 0.39425}};
- public ShapeFunction(GlobalData gd)
- {
- this.liczba_punktow_calkowania=2;
- this.globalData=gd;
- }
- public double N1(double e,double n){ return 1/4*(1-e)*(1-n);} // funkcje ksztaltu
- public double N2(double e,double n){ return 1/4*(1+e)*(1-n);}
- public double N3(double e,double n){ return 1/4*(1+e)*(1+n);}
- public double N4(double e,double n){ return 1/4*(1-e)*(1+n);}
- public double dN1dKsi(double n){return -(1/4)*(1-n);}
- public double dN2dKsi(double n){return (1/4)*(1-n);}
- public double dN3dKsi(double n){return (1/4)*(1+n);}
- public double dN4dKsi(double n){return -(1/4)*(1+n);}
- public double dN1dEta(double e){return -(1/4)*(1-e);}
- public double dN2dEta(double e){return -(1/4)*(1+e);}
- public double dN3dEta(double e){return (1/4)*(1+e);}
- public double dN4dEta(double e){return (1/4)*(1-e);}
- public double dxdKsi(double n,double x1, double x2, double x3, double x4){ // E
- return ( dN1dKsi(n) * x1 + dN2dKsi(n) * x2 + dN3dKsi(n) * x3 + dN4dKsi(n)*x4 ) ;
- }
- public double dxdEta(double e,double x1, double x2, double x3, double x4){ // N
- return ( dN1dEta(e) * x1 + dN2dEta(e) * x2 + dN3dEta(e) * x3 + dN4dEta(e) * x4 ) ;
- }
- public double dydKsi(double n,double y1, double y2, double y3, double y4){
- return ( dN1dKsi(n) * y1 + dN2dKsi(n) * y2 + dN3dKsi(n) * y3 + dN4dKsi(n)*y4);
- }
- public double dydEta(double e,double y1, double y2, double y3, double y4){
- return ( dN1dEta(e) * y1 + dN2dEta(e) * y2 + dN3dEta(e) * y3 + dN4dEta(e) * y4 ) ;
- }
- public double tworz_jakobian(Element element,double n,double e) //tworzy jacobian i zwraca jej wyznacznik
- {
- double Jacobian[][]=new double [2][2];
- Jacobian[0][0]=dxdKsi(n,element.X[0],element.X[1],element.X[2],element.X[3]);
- Jacobian[0][1]=dydKsi(e,element.Y[0],element.Y[1],element.Y[2],element.Y[3]);
- Jacobian[1][0]=dxdEta(n,element.X[0],element.X[1],element.X[2],element.X[3]);
- Jacobian[1][1]=dydEta(e,element.Y[0],element.Y[1],element.Y[2],element.Y[3]);
- return (Jacobian[0][0]*Jacobian[1][1] - Jacobian[0][1]*Jacobian[1][0]) ;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment