OpenFOAM
10
The OpenFOAM Foundation
sphericalAngularDamper.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration | Website: https://openfoam.org
5
\\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
Class
25
Foam::RBD::restraints::sphericalAngularDamper
26
27
Description
28
Spherical angular damper restraint.
29
Operates in the local frame of the body.
30
31
SourceFiles
32
sphericalAngularDamper.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef sphericalAngularDamper_H
37
#define sphericalAngularDamper_H
38
39
#include "
rigidBodyRestraint.H
"
40
41
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42
43
namespace
Foam
44
{
45
namespace
RBD
46
{
47
namespace
restraints
48
{
49
50
/*---------------------------------------------------------------------------*\
51
Class sphericalAngularDamper Declaration
52
\*---------------------------------------------------------------------------*/
53
54
class
sphericalAngularDamper
55
:
56
public
restraint
57
{
58
// Private Data
59
60
//- Damping coefficient [Nms/rad]
61
scalar coeff_;
62
63
64
public
:
65
66
//- Runtime type information
67
TypeName
(
"sphericalAngularDamper"
);
68
69
70
// Constructors
71
72
//- Construct from components
73
sphericalAngularDamper
74
(
75
const
word
&
name
,
76
const
dictionary
&
dict
,
77
const
rigidBodyModel
& model
78
);
79
80
//- Construct and return a clone
81
virtual
autoPtr<restraint>
clone
()
const
82
{
83
return
autoPtr<restraint>
84
(
85
new
sphericalAngularDamper
(*
this
)
86
);
87
}
88
89
90
//- Destructor
91
virtual
~sphericalAngularDamper
();
92
93
94
// Member Functions
95
96
//- Accumulate the retraint internal joint forces into the tau field and
97
// external forces into the fx field
98
virtual
void
restrain
99
(
100
scalarField
& tau,
101
Field<spatialVector>
& fx,
102
const
rigidBodyModelState
& state
103
)
const
;
104
105
//- Update properties from given dictionary
106
virtual
bool
read
(
const
dictionary
& dict);
107
108
//- Write
109
virtual
void
write
(
Ostream
&)
const
;
110
};
111
112
113
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114
115
}
// End namespace restraints
116
}
// End namespace RBD
117
}
// End namespace Foam
118
119
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120
121
#endif
122
123
// ************************************************************************* //
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition:
dictionary.H:156
Foam::RBD::restraint
Base class for defining restraints for rigid-body dynamics.
Definition:
rigidBodyRestraint.H:66
Foam::RBD::restraints::sphericalAngularDamper::clone
virtual autoPtr< restraint > clone() const
Construct and return a clone.
Definition:
sphericalAngularDamper.H:80
Foam::RBD::rigidBodyModelState
Holds the motion state of rigid-body model.
Definition:
rigidBodyModelState.H:65
Foam::RBD::restraints::sphericalAngularDamper::~sphericalAngularDamper
virtual ~sphericalAngularDamper()
Destructor.
Definition:
sphericalAngularDamper.C:68
Foam::Field< scalar >
Foam::RBD::restraint::name
const word & name() const
Return the name.
Definition:
rigidBodyRestraint.H:150
Foam::word
A class for handling words, derived from string.
Definition:
word.H:59
Foam::RBD::restraints::sphericalAngularDamper
Spherical angular damper restraint. Operates in the local frame of the body.
Definition:
sphericalAngularDamper.H:53
Foam::RBD::restraints::sphericalAngularDamper::sphericalAngularDamper
sphericalAngularDamper(const word &name, const dictionary &dict, const rigidBodyModel &model)
Construct from components.
Definition:
sphericalAngularDamper.C:54
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition:
Ostream.H:54
Foam::RBD::restraints::sphericalAngularDamper::read
virtual bool read(const dictionary &dict)
Update properties from given dictionary.
Definition:
sphericalAngularDamper.C:94
Foam::RBD::restraints::sphericalAngularDamper::TypeName
TypeName("sphericalAngularDamper")
Runtime type information.
Foam::RBD::restraints::sphericalAngularDamper::restrain
virtual void restrain(scalarField &tau, Field< spatialVector > &fx, const rigidBodyModelState &state) const
Accumulate the retraint internal joint forces into the tau field and.
Definition:
sphericalAngularDamper.C:75
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition:
PtrList.H:52
Foam::RBD::rigidBodyModel
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints...
Definition:
rigidBodyModel.H:76
Foam::RBD::restraints::sphericalAngularDamper::write
virtual void write(Ostream &) const
Write.
Definition:
sphericalAngularDamper.C:107
rigidBodyRestraint.H
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.H:213
src
rigidBodyDynamics
restraints
sphericalAngularDamper
sphericalAngularDamper.H
Generated by
1.8.13