|
Public Member Functions | |
SolidBag () | |
void | actionsBeforeOomphTimeStep () override |
void | bendBag () |
void | setSuctionAsBodyForce (double bodyForce) |
Public Member Functions inherited from SolidProblem< RefineableQDPVDElement< 3, 2 > > | |
SolidProblem () | |
Constructor: set default constitutive law and time stepper. More... | |
void | setName (const std::string &name) |
set function for name_ More... | |
std::string | getName () const |
get function for name_ More... | |
void | setElasticModulus (double elasticModulus) |
set function for elasticModulus_ More... | |
double | getElasticModulus () const |
get function for elasticModulus_ More... | |
void | setOomphGravity (double gravity) |
set function for elasticModulus_ More... | |
double | getOomphGravity () const |
get function for gravity_ More... | |
void | setPoissonRatio (double poissonRatio) |
set function for poissonRatio_ More... | |
double | getPoissonRatio () const |
get function for poissonRatio_ More... | |
void | setDensity (double density) |
set function for density_ More... | |
double | getDensity () const |
get function for density_ More... | |
void | setBodyForceAsGravity (double gravity=9.8) |
set function for body_force_pt More... | |
void | setIsPinned (std::function< bool(SolidNode *, unsigned)> isPinned) |
set function for isPinned_ More... | |
void | pinBoundary (unsigned b) |
void | pinBoundaries (std::vector< unsigned > b) |
std::enable_if< std::is_base_of< RefineableQDPVDElement< 3, 2 >, ELEMENT >::value, void > | setDissipation (double dissipation) |
Sets the dissipation coefficient for all elements. More... | |
void | setNewtonSolverTolerance (double Newton_solver_tolerance) |
set function for Newton_solver_tolerance More... | |
void | setMaxNewtonIterations (unsigned Max_newton_iterations) |
set function for Max_newton_iterations More... | |
void | setOomphTimeStep (double dt) |
set function for time step More... | |
double | getOomphTimeStep () const |
get function for time step More... | |
double | getOomphTime () const |
get function for current time More... | |
SolidMesh *& | solid_mesh_pt () |
Get function for the solid mesh pointer. More... | |
SolidMesh *const & | solid_mesh_pt () const |
Get function for the solid mesh pointer. More... | |
SolidMesh *& | traction_mesh_pt () |
Get function for the traction mesh pointer. More... | |
SolidMesh *const & | traction_mesh_pt () const |
Get function for the traction mesh pointer. More... | |
void | getDomainSize (std::array< double, 3 > &min, std::array< double, 3 > &max) const |
Computes the domain size (min/max of the nodal positions in x/y/z) More... | |
void | prepareForSolve () |
void | countPinned () |
returns statistics about pinned nodes to the console More... | |
void | solveSteady () |
virtual void | actionsBeforeSolve () |
virtual void | actionsAfterSolve () |
void | solveUnsteady (double timeMax, double dt, unsigned saveCount=10) |
void | removeOldFiles () const |
void | get_x (const Vector< double > &xi, Vector< double > &x) const |
double | getDeflection (Vector< double > xi, unsigned d) const |
void | setSolidCubicMesh (const unsigned &nx, const unsigned &ny, const unsigned &nz, const double &xMin, const double &xMax, const double &yMin, const double &yMax, const double &zMin, const double &zMax) |
void | saveSolidMesh () |
void | loadSolidMesh (std::string name) |
void | writeToVTK () |
void | getMassMomentumEnergy (double &mass, Vector< double > &com, Vector< double > &linearMomentum, Vector< double > &angularMomentum, double &elasticEnergy, double &kineticEnergy) |
See PVDEquationsBase<DIM>::get_energy. More... | |
Private Attributes | |
double | gripperDisplacement = 0.0 |
Additional Inherited Members | |
Public Types inherited from SolidProblem< RefineableQDPVDElement< 3, 2 > > | |
enum | Boundary |
Protected Types inherited from SolidProblem< RefineableQDPVDElement< 3, 2 > > | |
typedef RefineableQDPVDElement< 3, 2 > | ELEMENT |
Protected Attributes inherited from SolidProblem< RefineableQDPVDElement< 3, 2 > > | |
std::string | name_ |
double | elasticModulus_ |
Elastic modulus (set via setSolid) More... | |
double | poissonRatio_ |
Poisson's ratio (set via setSolid) More... | |
double | density_ |
Density. More... | |
double | gravity_ |
Density. More... | |
void(* | body_force_fct )(const double &time, const Vector< double > &xi, Vector< double > &b) |
Pointer to the body force function. More... | |
ConstitutiveLaw * | constitutive_law_pt |
Pointer to constitutive law (should be set in constructor) More... | |
SolidMesh * | Solid_mesh_pt |
Pointer to solid mesh. More... | |
SolidMesh * | Traction_mesh_pt |
Pointer to mesh of traction elements. More... | |
std::function< bool(SolidNode *, unsigned)> | isPinned_ |
Function to determine which nodal positions are pinned. More... | |
|
inline |
References bendBag(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::getOomphTimeStep(), gripperDisplacement, INFO, logger, n, SolidProblem< RefineableQDPVDElement< 3, 2 > >::prepareForSolve(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::removeOldFiles(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setDensity(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setElasticModulus(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setIsPinned(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setName(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setNewtonSolverTolerance(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setOomphTimeStep(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setPoissonRatio(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::setSolidCubicMesh(), setSuctionAsBodyForce(), SolidProblem< RefineableQDPVDElement< 3, 2 > >::solveSteady(), and SolidProblem< RefineableQDPVDElement< 3, 2 > >::solveUnsteady().
|
inlineoverridevirtual |
Squeeze the bag at the top from both sides by a given factor.
distance |
Reimplemented from SolidProblem< RefineableQDPVDElement< 3, 2 > >.
References gripperDisplacement, constants::i, and SolidProblem< RefineableQDPVDElement< 3, 2 > >::solid_mesh_pt().
|
inline |
References constants::i, INFO, logger, and SolidProblem< RefineableQDPVDElement< 3, 2 > >::solid_mesh_pt().
Referenced by SolidBag().
|
inline |
References SolidProblem< RefineableQDPVDElement< 3, 2 > >::body_force_fct, INFO, and logger.
Referenced by SolidBag().
|
private |
Referenced by actionsBeforeOomphTimeStep(), and SolidBag().