b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2element_klt_shell.H
1//------------------------------------------------------------------------
2// b2element_klt_shell.H --
3//
4// Shell element implementing Kirchhoff-Love theory, continuum
5// element approach.
6//
7// written by Thomas Ludwig
8// Thomas Blome <thomas.blome@dlr.de>
9//
10// Copyright (c) 2016 SMR Engineering & Development SA
11// 2502 Bienne, Switzerland
12//
13// Copyright (c) 2023 Deutsches Zentrum für Luft- und Raumfahrt (DLR) e.V.
14// Linder Höhe, 51147 Köln
15//
16// All Rights Reserved. Proprietary source code. The contents of
17// this file may not be disclosed to third parties, copied or
18// duplicated in any form, in whole or in part, without the prior
19// written permission of SMR.
20//------------------------------------------------------------------------
21
22#ifndef _B2ELEMENT_KLT_SHELL_H_
23#define _B2ELEMENT_KLT_SHELL_H_
24
25#include "model/b2element.H"
26#include "utils/b2linear_algebra.H"
27
28namespace b2000 {
29
30using namespace klt;
31using namespace b2linalg;
32using namespace node;
33using namespace coordof;
34
35class ElementShellKLTBase : public TypedElement<double> {
36public:
37 virtual ElementProperty* get_property() = 0;
38
39 virtual int get_num_edges() = 0;
40
41 virtual void compute_nodes_interpolation_edge_g1(
42 const int edge, const double xi, Vector<double, Vdense>& N) const = 0;
43
44 virtual int get_edge_g1_order(const int edge) const = 0;
45
46 virtual void get_xi_all_from_xi_edge(const int edge, const double xi, double xi_all[2]) = 0;
47
48 virtual void get_dof_numbering_edge_g1(const int edge, Index& dof_numbering) const = 0;
49
50 virtual void compute_dof_shape_functions(
51 const double xi[2], Matrix<double, Mrectangle>& N) const = 0;
52
53 virtual void compute_dof_shape_functions_edge_g1(
54 const int edge, const double xi, Matrix<double, Mrectangle>& N) const = 0;
55
56 virtual void compute_geom(
57 const double thickness, const double offset, const double xi[2], double pos[3],
58 double Ar[3], double As[3]) const = 0;
59
60 virtual void compute_geom(
61 const double thickness, const double offset, const double xi[2], double pos[3],
62 double Ar[3], double As[3], double At[3], double Arr[3], double Ars[3], double Ass[3],
63 double Atr[3], double Ats[3]) const = 0;
64};
65
66} // namespace b2000
67
68#endif /* _B2ELEMENT_KLT_SHELL_H_ */
virtual const ElementProperty * get_property() const
Definition b2element.H:417
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32