vtkbone
vtkboneApplyCompressionTest.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright 2010-2016, Numerics88 Solutions Ltd.
4  http://www.numerics88.com/
5 
6  Copyright (c) Eric Nodwell and Steven K. Boyd
7  See Copyright.txt for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 =========================================================================*/
13 
54 #ifndef __vtkboneApplyCompressionTest_h
55 #define __vtkboneApplyCompressionTest_h
56 
57 #include "vtkboneApplyTestBase.h"
58 #include "vtkboneWin32Header.h"
59 
60 
62 {
63 public:
66  void PrintSelf(ostream& os, vtkIndent indent);
67  void PrintParameters(ostream& os, vtkIndent indent);
68 
70 
73  vtkSetMacro(AppliedStrain, double);
74  vtkGetMacro(AppliedStrain, double);
76 
78 
81  vtkSetMacro(AppliedDisplacement, double);
82  vtkGetMacro(AppliedDisplacement, double);
84 
86 
88  vtkSetMacro(TopSurfaceContactFriction, int);
89  vtkGetMacro(TopSurfaceContactFriction, int);
90  vtkBooleanMacro(TopSurfaceContactFriction, int);
92 
94 
96  vtkSetMacro(BottomSurfaceContactFriction, int);
97  vtkGetMacro(BottomSurfaceContactFriction, int);
98  vtkBooleanMacro(BottomSurfaceContactFriction, int);
100 
102 
104  vtkSetMacro(ConfineSides, int);
105  vtkGetMacro(ConfineSides, int);
106  vtkBooleanMacro(ConfineSides, int);
108 
110 
116  vtkSetMacro(Pin, int);
117  vtkGetMacro(Pin, int);
118  vtkBooleanMacro(Pin, int);
120 
122 
125  vtkSetMacro(PinCellId, vtkIdType);
126  vtkGetMacro(PinCellId, vtkIdType);
128 
130 
135  vtkSetMacro(PinCellClosestToXYCenter, int);
136  vtkGetMacro(PinCellClosestToXYCenter, int);
137  vtkBooleanMacro(PinCellClosestToXYCenter, int);
139 
140 protected:
143 
144  virtual int RequestData(vtkInformation* request,
145  vtkInformationVector** inputVector,
146  vtkInformationVector* outputVector);
147 
148  virtual int AddTopAndBottomConstraints(vtkboneFiniteElementModel* model);
149  virtual int AddSideConstraints(vtkboneFiniteElementModel* model);
150  virtual int AddConvergenceSet(vtkboneFiniteElementModel* model);
151  virtual int AddPostProcessingSets(vtkboneFiniteElementModel* model);
152  virtual vtkIdType GetCellClosestToXYCenter(vtkboneFiniteElementModel* model);
153  virtual int PinElement(vtkboneFiniteElementModel* model);
154  virtual int AddInformation(vtkboneFiniteElementModel* model);
155 
162  int Pin;
165 
166 private:
167  vtkboneApplyCompressionTest(const vtkboneApplyCompressionTest&); // Not implemented
168  void operator=(const vtkboneApplyCompressionTest&); // Not implemented
169 };
170 
171 #endif
172 
data model for finite element meshes
Base class for applying a test to create a vtkboneFiniteElementModel.
#define VTKBONE_EXPORT
static vtkboneApplyTestBase * New()
int vtkIdType
void PrintParameters(ostream &os, vtkIndent indent)
Generates a finite element mesh that corresponds to a compression test.
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)