Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CFEOElements Class Reference

#include <hyp.fem.element.h>

Inheritance diagram for CFEOElements::

IFEOElement List of all members.

Common Functions

See the Hyperion Pattern.

 CFEOElements (hyp_ker::IUnknown *, PTR_INIT_MATRIX)
virtual ~CFEOElements ()
virtual hyp_DECLARE_IUNKNOWN
hyp_ker::com_result 
NondelegatingQueryInterface (const hyp_ker::hypIID &, void **)
hyp_ker::com_result Init (void)
void FinalRelease (void)
hyp_ker::com_result CreateInstanceBrick42 (hyp_ker::IUnknown *,hyp_ker::CUnknown **)

IFEOElement Interface

virtual const IFEOMaterialGetMaterial () const
virtual void SetMaterial (IFEOMaterial *)
virtual void SetKe (IMatrix *)

Detailed Description

This is the default implementation of the interface IFEOElement.
CLSID
Here are the Class Indetifiers (CLSID) supported by the class:
Supported Interfaces
Here is the interfaces which are supported by the component.

    hyp_ker::com_result CFEOElements::NondelegatingQueryInterface(const hyp_ker::hypIID& iid,void** ppv)
    {
            if(iid==IID_hypIFEOElement) {
                    return FinishQI(static_cast<IFEOElement*>(this),ppv);
            } else if(iid==IID_hypIGeometricBase ||
                    iid==IID_hypIContainer ||
                    iid==IID_hypIContainerKey ||
                    iid==IID_hypIContainerIterator) {
                    return m_spUnknownContNodes->QueryInterface(iid,ppv);
            } else {
                    return CUnknown::NondelegatingQueryInterface(iid,ppv);
            }
    }
    //DOXYTAG
Implementation Details


Member Function Documentation

hyp_ker::com_result CFEOElements::CreateInstanceBrick42 hyp_ker::IUnknown *   pUnknownOuter,
hyp_ker::CUnknown **   ppNewComponent
[static]
 

Creates an brick element. Refrenced in Ansys by Brick42.

Todo:
insert image At each call of the SetKe, the component fills the matrix with the following procedure :

/*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 Ephydryne Components.
 Ephydryne is a part of the Hyperion Project.
----------------------------------------------------------
 Copyright (c) 2001 Pierre Rebours.

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 See hyp.license.txt file for more information about the license.
 
 Web: http://lagrandeporte.multimania.com/hyperion
 Email: pierre_rebours@yahoo.com
----------------------------------------------------------
 CVS
 $Log$
 
 Creation 26/03/01 Pierre Rebours
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
*/
/*
Voir le fichier Maple
Suposition : numerotation de S. Corn

  5-------6
  |               |
  |       |
  |       |
  |               |
  1-------2
(suivant x=a,y,z)

  4-------7
  |               |
  |       |
  |       |
  |               |
  0-------3
(suivant x=0,y,z)

*/

#include"hyp.fem.intern.h"

//FIXTODO : a reporter dans hyp.ker.extern.h
//+ portage dans espace std
#include<math.h>


hyp_NAMESPACE_BEGIN_HYPFEM
hyp_NAMESPACE_BEGIN(fem)

//P. Vincent
void CFEOElements::InitMatrixForBrick42(hyp_ker::IUnknown* p_unknown_element,IMatrix* p_matrix)
{
        t_real a,b,c,E,nu;
        t_real TAB[25][25];
        
        IGeometricVertex* p_vertex_i=0;

        //initialise la matrice crée
    p_matrix->SetDim(24,24,0);

        //crée un objet spObject gérant l'interface IFEOElement
        t_spFEOElement spObject=p_unknown_element;
        //crée un objet pMaterial gérant l'interface IFEOMaterial
        const IFEOMaterial* pMaterial=spObject->GetMaterial();
        //Determination du coefficient de Poisson et du module d'Young
    nu=pMaterial->GetPoisson();
        E=pMaterial->GetYoung();

        //crée un objet spKey gérant l'interface ContainerKey
        t_spContainerKey spKey=p_unknown_element;
        //vertices
        t_spGeometricVertex spVertex;
        t_spGeometricVertex spVertex2;
        
        spVertex=spKey->GetContent(0);
        
        //determination de a
        //x(1)-x(0)
        spVertex2=spKey->GetContent(1);
        a=::fabs(spVertex2->GetCoord(0)-spVertex->GetCoord(0));

        //determination de b
        //y(3)-y(0)
        spVertex2=spKey->GetContent(3);
        b=::fabs(spVertex2->GetCoord(1)-spVertex->GetCoord(1));
        
        //determination de c
        //z(4)-z(0)
        spVertex2=spKey->GetContent(4);
        c=::fabs(spVertex2->GetCoord(2)-spVertex->GetCoord(2));

        hyp_TRACE( ("poisson %f,young %f,a %f,b %f,c %f",nu,E,a,b,c) );

        //DELETETODO : verifs
        hyp_ASSERT(a!=0); hyp_ASSERT(b!=0); hyp_ASSERT(c!=0);
        t_spContainer spCont=p_unknown_element;
        hyp_ASSERT(spCont->GetSize()==8);
        //verif sur la geometry?
        
TAB[1][1] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[1][2] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[1][3] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[1][4] = E*(4*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[1][5] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[1][6] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[1][7] = E*(-4*b*b*c*c*nu-4*a*a*c*c*nu+4*b*b*c*c+2*a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[1][8] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[1][9] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[1][10] = E*(-2*b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[1][11] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[1][12] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[1][13] = -E*(-2*b*b*c*c*nu-2*a*a*c*c*nu+2*b*b*c*c+a*a*c*c-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[1][14] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[1][15] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[1][16] = -E*(-4*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[1][17] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[1][18] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[1][19] = -E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[1][20] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[1][21] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[1][22] = -E*(b*b*c*c-b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[1][23] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[1][24] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[2][2] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[2][3] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[2][4] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[2][5] = E*(2*b*b*c*c-4*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[2][6] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[2][7] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[2][8] = E*(2*b*b*c*c-4*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[2][9] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[2][10] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[2][11] = E*(-b*b*c*c+2*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[2][12] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[2][13] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[2][14] = -E*(b*b*c*c-2*b*b*c*c*nu+2*a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[2][15] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[2][16] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[2][17] = -E*(-b*b*c*c+2*b*b*c*c*nu+a*a*c*c-a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[2][18] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[2][19] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[2][20] = -E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[2][21] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[2][22] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[2][23] = -E*(b*b*c*c-2*b*b*c*c*nu-4*a*a*c*c+4*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[2][24] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[3][3] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[3][4] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[3][5] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[3][6] = E*(2*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[3][7] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[3][8] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[3][9] = E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-a*a*b*b+a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[3][10] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[3][11] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[3][12] = E*(-b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[3][13] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[3][14] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[3][15] = -E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[3][16] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[3][17] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[3][18] = -E*(-2*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[3][19] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[3][20] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[3][21] = -E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[3][22] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[3][23] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[3][24] = -E*(b*b*c*c-2*b*b*c*c*nu-2*a*a*c*c+4*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[4][4] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[4][5] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[4][6] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[4][7] = E*(-2*b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[4][8] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[4][9] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[4][10] = E*(-4*b*b*c*c*nu-4*a*a*c*c*nu+4*b*b*c*c+2*a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[4][11] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[4][12] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[4][13] = -E*(-4*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[4][14] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[4][15] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[4][16] = -E*(-2*b*b*c*c*nu-2*a*a*c*c*nu+2*b*b*c*c+a*a*c*c-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[4][17] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[4][18] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[4][19] = -E*(b*b*c*c-b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[4][20] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[4][21] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[4][22] = -E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[4][23] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[4][24] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[5][5] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[5][6] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[5][7] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[5][8] = E*(-b*b*c*c+2*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[5][9] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[5][10] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[5][11] = E*(2*b*b*c*c-4*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[5][12] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[5][13] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[5][14] = -E*(-b*b*c*c+2*b*b*c*c*nu+a*a*c*c-a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[5][15] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[5][16] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[5][17] = -E*(b*b*c*c-2*b*b*c*c*nu+2*a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[5][18] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[5][19] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[5][20] = -E*(b*b*c*c-2*b*b*c*c*nu-4*a*a*c*c+4*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[5][21] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[5][22] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[5][23] = -E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[5][24] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[6][6] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[6][7] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[6][8] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[6][9] = E*(-b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[6][10] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[6][11] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[6][12] = E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-a*a*b*b+a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[6][13] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[6][14] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[6][15] = -E*(-2*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[6][16] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[6][17] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[6][18] = -E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[6][19] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[6][20] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[6][21] = -E*(b*b*c*c-2*b*b*c*c*nu-2*a*a*c*c+4*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[6][22] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[6][23] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[6][24] = -E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[7][7] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[7][8] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[7][9] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[7][10] = E*(4*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[7][11] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[7][12] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[7][13] = -E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[7][14] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[7][15] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[7][16] = -E*(b*b*c*c-b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[7][17] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[7][18] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[7][19] = -E*(-2*b*b*c*c*nu-2*a*a*c*c*nu+2*b*b*c*c+a*a*c*c-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[7][20] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[7][21] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[7][22] = -E*(-4*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[7][23] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[7][24] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[8][8] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[8][9] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[8][10] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[8][11] = E*(2*b*b*c*c-4*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[8][12] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[8][13] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[8][14] = -E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[8][15] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[8][16] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[8][17] = -E*(b*b*c*c-2*b*b*c*c*nu-4*a*a*c*c+4*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[8][18] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[8][19] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[8][20] = -E*(b*b*c*c-2*b*b*c*c*nu+2*a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[8][21] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[8][22] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[8][23] = -E*(-b*b*c*c+2*b*b*c*c*nu+a*a*c*c-a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[8][24] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[9][9] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[9][10] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[9][11] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[9][12] = E*(2*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[9][13] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[9][14] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[9][15] = -E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[9][16] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[9][17] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[9][18] = -E*(b*b*c*c-2*b*b*c*c*nu-2*a*a*c*c+4*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[9][19] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[9][20] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[9][21] = -E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[9][22] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[9][23] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[9][24] = -E*(-2*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[10][10] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[10][11] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[10][12] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[10][13] = -E*(b*b*c*c-b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[10][14] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[10][15] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[10][16] = -E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[10][17] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[10][18] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[10][19] = -E*(-4*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[10][20] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[10][21] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[10][22] = -E*(-2*b*b*c*c*nu-2*a*a*c*c*nu+2*b*b*c*c+a*a*c*c-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[10][23] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[10][24] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[11][11] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[11][12] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[11][13] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[11][14] = -E*(b*b*c*c-2*b*b*c*c*nu-4*a*a*c*c+4*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[11][15] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[11][16] = -E*c/(1+nu)/(-1+2*nu)/48;
TAB[11][17] = -E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[11][18] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[11][19] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/48;
TAB[11][20] = -E*(-b*b*c*c+2*b*b*c*c*nu+a*a*c*c-a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[11][21] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[11][22] = E*c/(1+nu)/(-1+2*nu)/48;
TAB[11][23] = -E*(b*b*c*c-2*b*b*c*c*nu+2*a*a*c*c-2*a*a*c*c*nu-2*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[11][24] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[12][12] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[12][13] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[12][14] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[12][15] = -E*(b*b*c*c-2*b*b*c*c*nu-2*a*a*c*c+4*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[12][16] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[12][17] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[12][18] = -E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[12][19] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[12][20] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[12][21] = -E*(-2*b*b*c*c+4*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[12][22] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[12][23] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[12][24] = -E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-4*a*a*b*b+4*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[13][13] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[13][14] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[13][15] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[13][16] = E*(4*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[13][17] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[13][18] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[13][19] = E*(-4*b*b*c*c*nu-4*a*a*c*c*nu+4*b*b*c*c+2*a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[13][20] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[13][21] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[13][22] = E*(-2*b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[13][23] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[13][24] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[14][14] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[14][15] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[14][16] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[14][17] = E*(2*b*b*c*c-4*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[14][18] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[14][19] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[14][20] = E*(2*b*b*c*c-4*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[14][21] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[14][22] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[14][23] = E*(-b*b*c*c+2*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[14][24] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[15][15] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[15][16] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[15][17] = E*a/(1+nu)/(-1+2*nu)/48;
TAB[15][18] = E*(2*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[15][19] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[15][20] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[15][21] = E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-a*a*b*b+a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[15][22] = b*E/(1+nu)/(-1+2*nu)/48;
TAB[15][23] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[15][24] = E*(-b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[16][16] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[16][17] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[16][18] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[16][19] = E*(-2*b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[16][20] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[16][21] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[16][22] = E*(-4*b*b*c*c*nu-4*a*a*c*c*nu+4*b*b*c*c+2*a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[16][23] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[16][24] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[17][17] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[17][18] = E*a/(1+nu)/(-1+2*nu)/24;
TAB[17][19] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[17][20] = E*(-b*b*c*c+2*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[17][21] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[17][22] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[17][23] = E*(2*b*b*c*c-4*b*b*c*c*nu+4*a*a*c*c-4*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/72;
TAB[17][24] = E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[18][18] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[18][19] = -b*E/(1+nu)/(-1+2*nu)/48;
TAB[18][20] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/24;
TAB[18][21] = E*(-b*b*c*c+2*b*b*c*c*nu+2*a*a*c*c-4*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[18][22] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/48;
TAB[18][23] = -E*a*(-1+4*nu)/(1+nu)/(-1+2*nu)/48;
TAB[18][24] = E*(b*b*c*c-2*b*b*c*c*nu+a*a*c*c-2*a*a*c*c*nu-a*a*b*b+a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[19][19] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[19][20] = -E*c/(1+nu)/(-1+2*nu)/24;
TAB[19][21] = -b*E/(1+nu)/(-1+2*nu)/24;
TAB[19][22] = E*(4*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[19][23] = -E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[19][24] = -E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[20][20] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[20][21] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[20][22] = E*(-1+4*nu)*c/(1+nu)/(-1+2*nu)/24;
TAB[20][23] = E*(2*b*b*c*c-4*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[20][24] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[21][21] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[21][22] = E*(-1+4*nu)*b/(1+nu)/(-1+2*nu)/24;
TAB[21][23] = -E*a/(1+nu)/(-1+2*nu)/48;
TAB[21][24] = E*(2*b*b*c*c-4*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/36;
TAB[22][22] = E*(2*b*b*c*c*nu+2*a*a*c*c*nu-2*b*b*c*c-a*a*c*c-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[22][23] = E*c/(1+nu)/(-1+2*nu)/24;
TAB[22][24] = b*E/(1+nu)/(-1+2*nu)/24;
TAB[23][23] = E*(-b*b*c*c+2*b*b*c*c*nu-2*a*a*c*c+2*a*a*c*c*nu-a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;
TAB[23][24] = -E*a/(1+nu)/(-1+2*nu)/24;
TAB[24][24] = E*(-b*b*c*c+2*b*b*c*c*nu-a*a*c*c+2*a*a*c*c*nu-2*a*a*b*b+2*a*a*b*b*nu)/a/b/c/(1+nu)/(-1+2*nu)/18;

        for(int i=1;i<25;i++) {
                for(int j=i;j<25;j++) {
                        p_matrix->SetValue(i-1,j-1,TAB[i][j]);
                        //if(i==1) {
                        //std::cout<<"("<<i-1<<","<<j-1<<") "<<p_matrix->GetValue(i-1,j-1)<<"\n"; }
                        p_matrix->SetValue(j-1,i-1,TAB[i][j]);
                }
        }
}

hyp_NAMESPACE_END(fem)
hyp_NAMESPACE_END_HYPFEM

Note that the implmentation checks if the nodes of the element are well-ordered.

const IFEOMaterial * CFEOElements::GetMaterial   const [virtual]
 

Gets the material associated to the component.

Reimplemented from IFEOElement.

void CFEOElements::SetKe IMatrix *   pObject [virtual]
 

Initializes the matrix representing the element.

Invariant:
The size of the matrix must be checked by the implementation to fit to the element matrix. The implmentation can return a error code or overwrite the size of the matrix.

Reimplemented from IFEOElement.

void CFEOElements::SetMaterial IFEOMaterial *   pObject [virtual]
 

Sets the material of the component.

Parameters:
pObject   Material

Reimplemented from IFEOElement.


The documentation for this class was generated from the following files:
Top of Page
written by Pierre Rebours © 2000-2001. Terms of Use.