Skip to content
Snippets Groups Projects
Commit 160e7ea6 authored by Henry's avatar Henry
Browse files

sixDoFRigidBodyMotion: support re-reading of motion coefficients

parent c2f8fca5
Branches
Tags
No related merge requests found
......@@ -190,4 +190,19 @@ bool Foam::motionSolver::writeObject
}
bool Foam::motionSolver::read()
{
if (regIOobject::read())
{
coeffDict_ = subDict(type() + "Coeffs");
return true;
}
else
{
return false;
}
}
// ************************************************************************* //
......@@ -156,6 +156,9 @@ public:
IOstream::versionNumber ver,
IOstream::compressionType cmp
) const;
//- Read dynamicMeshDict dictionary
virtual bool read();
};
......
......@@ -493,4 +493,22 @@ Foam::tmp<Foam::pointField> Foam::sixDoFRigidBodyMotion::scaledPosition
}
bool Foam::sixDoFRigidBodyMotion::read(const dictionary& dict)
{
dict.lookup("momentOfInertia") >> momentOfInertia_;
dict.lookup("mass") >> mass_;
aRelax_ = dict.lookupOrDefault<scalar>("accelerationRelaxation", 1.0);
aDamp_ = dict.lookupOrDefault<scalar>("accelerationDamping", 1.0);
report_ = dict.lookupOrDefault<Switch>("report", false);
restraints_.clear();
addRestraints(dict);
constraints_.clear();
addConstraints(dict);
return true;
}
// ************************************************************************* //
......@@ -404,6 +404,11 @@ public:
void write(Ostream&) const;
//- Read coefficients dictionary and update system parameters,
// constraints and restraints but not the current state
bool read(const dictionary& dict);
// IOstream Operators
friend Istream& operator>>(Istream&, sixDoFRigidBodyMotion&);
......
......@@ -250,4 +250,19 @@ bool Foam::sixDoFRigidBodyMotionSolver::writeObject
}
bool Foam::sixDoFRigidBodyMotionSolver::read()
{
if (displacementMotionSolver::read())
{
motion_.read(coeffDict());
return true;
}
else
{
return false;
}
}
// ************************************************************************* //
......@@ -133,6 +133,9 @@ public:
IOstream::versionNumber ver,
IOstream::compressionType cmp
) const;
//- Read dynamicMeshDict dictionary
virtual bool read();
};
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment