Thomo_lin_elasticity_elements.h
Go to the documentation of this file.
1 //LIC// ====================================================================
2 //LIC// This file forms part of oomph-lib, the object-oriented,
3 //LIC// multi-physics finite-element library, available
4 //LIC// at http://www.oomph-lib.org.
5 //LIC//
6 //LIC// Copyright (C) 2006-2022 Matthias Heil and Andrew Hazel
7 //LIC//
8 //LIC// This library is free software; you can redistribute it and/or
9 //LIC// modify it under the terms of the GNU Lesser General Public
10 //LIC// License as published by the Free Software Foundation; either
11 //LIC// version 2.1 of the License, or (at your option) any later version.
12 //LIC//
13 //LIC// This library is distributed in the hope that it will be useful,
14 //LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15 //LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 //LIC// Lesser General Public License for more details.
17 //LIC//
18 //LIC// You should have received a copy of the GNU Lesser General Public
19 //LIC// License along with this library; if not, write to the Free Software
20 //LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 //LIC// 02110-1301 USA.
22 //LIC//
23 //LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24 //LIC//
25 //LIC//====================================================================
26 //Header file for TPoisson elements
27 #ifndef OOMPH_THOMOGENISED_LINEAR_ELASTICITY_ELEMENTS_HEADER
28 #define OOMPH_THOMOGENISED_LINEAR_ELASTICITY_ELEMENTS_HEADER
29 
30 
31 // Config header generated by autoconfig
32 #ifdef HAVE_CONFIG_H
33  #include <oomph-lib-config.h>
34 #endif
35 
36 
37 //OOMPH-LIB headers
38 #include "generic/nodes.h"
40 #include "generic/Telements.h"
42 
43 namespace oomph
44 {
45 
48 // THomogenisedLinearElasticityElement
51 
52 
53 
54 //======================================================================
60 //======================================================================
61  template <unsigned DIM,unsigned NNODE_1D>
62  class THomogenisedLinearElasticityElement : public TElement<DIM,NNODE_1D>,
64 {
65 
66  public:
67 
72 
73 
76  const
78  {
79  BrokenCopy::broken_copy("THomogenisedLinearElasticityElement");
80  }
81 
84  void output(std::ostream &outfile)
85  {
87  }
88 
91  void output(std::ostream &outfile, const unsigned &nplot)
92  {
93  //Vector of local coordinates
95 
97  Vector<double> u(3);
98 
99  // Tecplot header info
100  outfile << this->tecplot_zone_string(nplot);
101 
102  // Loop over plot points
103  unsigned num_plot_points=this->nplot_points(nplot);
104  for (unsigned iplot=0;iplot<num_plot_points;iplot++)
105  {
106 
107  // Get local coordinates of plot point
108  this->get_s_plot(iplot,nplot,s);
109  this->interpolated_x(s,x);
111 
112 
113  for(unsigned i=0;i<DIM;i++) {outfile << x[i] << " ";}
114  for(unsigned i=0;i<3;i++) {outfile << u[i] << " ";}
115  outfile << "\n";
116  }
117 
118  // Write tecplot footer (e.g. FE connectivity lists)
119  this->write_tecplot_zone_footer(outfile,nplot);
120  }
121 
122 
125  void output(FILE* file_pt)
126  {
128  }
129 
132  void output(FILE* file_pt, const unsigned &n_plot)
133  {
135  }
136 
137 };
138 
139 //=======================================================================
144 //=======================================================================
145  template<unsigned DIM, unsigned NNODE_1D>
147  public virtual TElement<DIM-1,NNODE_1D>
148 {
149 
150  public:
151 
154  FaceGeometry() : TElement<DIM-1,NNODE_1D>() {}
155 
156 };
157 
158 
159 }
160 
161 #endif
int i
Definition: BiCGSTAB_step_by_step.cpp:9
FaceGeometry()
Definition: Thomo_lin_elasticity_elements.h:154
Definition: elements.h:4998
virtual std::string tecplot_zone_string(const unsigned &nplot) const
Definition: elements.h:3161
virtual double interpolated_x(const Vector< double > &s, const unsigned &i) const
Return FE interpolated coordinate x[i] at local coordinate s.
Definition: elements.cc:3962
virtual void get_s_plot(const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const
Definition: elements.h:3148
virtual unsigned nplot_points(const unsigned &nplot) const
Definition: elements.h:3186
virtual void write_tecplot_zone_footer(std::ostream &outfile, const unsigned &nplot) const
Definition: elements.h:3174
void interpolated_u_linear_elasticity(const Vector< double > &s, Vector< double > &disp) const
Compute vector of FE interpolated displacement u at local coordinate s.
Definition: homo_lin_elasticity_elements.h:68
Definition: homo_lin_elasticity_elements.h:233
void output(std::ostream &outfile)
Output: x,y,[z],xi0,xi1,[xi2],gamma.
Definition: homo_lin_elasticity_elements.h:270
Definition: Telements.h:1208
Definition: Thomo_lin_elasticity_elements.h:64
void output(FILE *file_pt, const unsigned &n_plot)
Definition: Thomo_lin_elasticity_elements.h:132
void output(FILE *file_pt)
Definition: Thomo_lin_elasticity_elements.h:125
THomogenisedLinearElasticityElement()
Definition: Thomo_lin_elasticity_elements.h:70
void output(std::ostream &outfile)
Definition: Thomo_lin_elasticity_elements.h:84
void output(std::ostream &outfile, const unsigned &nplot)
Definition: Thomo_lin_elasticity_elements.h:91
THomogenisedLinearElasticityElement(const THomogenisedLinearElasticityElement< DIM, NNODE_1D > &dummy)
Broken copy constructor.
Definition: Thomo_lin_elasticity_elements.h:75
RealScalar s
Definition: level1_cplx_impl.h:130
#define DIM
Definition: linearised_navier_stokes_elements.h:44
void broken_copy(const std::string &class_name)
Issue error message and terminate execution.
Definition: oomph_utilities.cc:212
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
list x
Definition: plotDoE.py:28