Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
aa217c28
Commit
aa217c28
authored
Jan 05, 2010
by
mattijs
Browse files
Added combine function to combine two pointConstraints
parent
9c79927b
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H
View file @
aa217c28
...
...
@@ -77,6 +77,9 @@ public:
//- Apply and accumulate the effect of the given constraint direction
inline
void
applyConstraint
(
const
vector
&
cd
);
//- Combine constraints
inline
void
combine
(
const
pointConstraint
&
);
//- Return the accumulated constraint transformation tensor
inline
tensor
constraintTransformation
()
const
;
};
...
...
src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H
View file @
aa217c28
...
...
@@ -69,6 +69,47 @@ void Foam::pointConstraint::applyConstraint(const vector& cd)
}
void
Foam
::
pointConstraint
::
combine
(
const
pointConstraint
&
pc
)
{
if
(
first
()
==
0
)
{
operator
=
(
pc
);
}
else
if
(
first
()
==
1
)
{
// Save single normal
vector
n
=
second
();
// Apply to supplied point constaint
operator
=
(
pc
);
applyConstraint
(
n
);
}
else
if
(
first
()
==
2
)
{
if
(
pc
.
first
()
==
0
)
{}
else
if
(
pc
.
first
()
==
1
)
{
applyConstraint
(
pc
.
second
());
}
else
if
(
pc
.
first
()
==
2
)
{
// Both constrained to line. Same (+-)direction?
if
(
mag
(
second
()
&
pc
.
second
())
<=
(
1
.
0
-
1e-3
))
{
// Different directions
first
()
=
3
;
second
()
=
vector
::
zero
;
}
}
else
{
first
()
=
3
;
second
()
=
vector
::
zero
;
}
}
}
Foam
::
tensor
Foam
::
pointConstraint
::
constraintTransformation
()
const
{
if
(
first
()
==
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment