|
Public Member Functions | |
ScaleCoupledBeam () | |
void | setupOomph () |
void | setupMercury () |
void | actionsBeforeSolve () override |
Write header of output file. More... | |
void | actionsAfterSolve () override |
Write header of output file. More... | |
void | actionsBeforeOomphTimeStep () override |
Each time step, compute deflection, elastic, kinetic and gravitational energy, and write to output file. More... | |
double | getBeamDeflection () const |
Computes beam deflection. More... | |
ScaleCoupledBeam () | |
void | setupOomph () |
void | setupMercury () |
void | actionsBeforeSolve () override |
Write header of output file. More... | |
void | actionsAfterSolve () override |
Write header of output file. More... | |
void | actionsBeforeOomphTimeStep () override |
Each time step, compute deflection, elastic, kinetic and gravitational energy, and write to output file. More... | |
double | getBeamDeflection () const |
Computes beam deflection. More... | |
Public Member Functions inherited from ScaleCoupling< M, O > | |
const std::vector< CoupledElement > & | getCoupledElements () |
get coupled element More... | |
const std::vector< CoupledParticle > & | getCoupledParticles () |
get coupled particle More... | |
void | setPenalty (double penalty) |
Sets penalty parameter. More... | |
void | setCouplingWeight (const std::function< double(double x, double y, double z)> &couplingWeight) |
Sets weight function (determines which nodes/el_pts are in coupling zone) More... | |
void | solveScaleCoupling () |
Computes nStep, the ratio of FEM and DEM time steps, then calls solveSurfaceCoupling(nStep) More... | |
Public Member Functions inherited from BaseCoupling< M, O > | |
BaseCoupling ()=default | |
void | setName (std::string name) |
std::string | getName () const |
void | removeOldFiles () const |
void | writeEneTimeStep (std::ostream &os) const override |
void | writeEneHeader (std::ostream &os) const override |
void | solveOomph () |
void | solveMercury (unsigned long nt) |
void | setCGWidth (const double &width) |
double | getCGWidth () |
bool | useCGMapping () |
CGFunctions::LucyXYZ | getCGFunction () |
Public Attributes | |
std::ofstream | out |
output file stream More... | |
std::ofstream | outFile |
output file stream More... | |
Private Attributes | |
double | length = 20.0 |
double | distance = 0.4 |
double | bulkDensity = 1309 |
double | elasticModulus = 1e8 |
double | overlapLength = 10.0*distance |
double | penalty = 8e9 |
double | velocity = 1e-1 |
Define a coupled problem
|
inline |
References bulkDensity, elasticModulus, INFO, length, logger, overlapLength, penalty, constants::pi, BaseCoupling< M, O >::removeOldFiles(), ScaleCoupling< M, O >::setCouplingWeight(), BaseCoupling< M, O >::setName(), ScaleCoupling< M, O >::setPenalty(), setupMercury(), setupOomph(), mathsFunc::sin(), and ScaleCoupling< M, O >::solveScaleCoupling().
|
inline |
References INFO, length, logger, overlapLength, penalty, constants::pi, BaseCoupling< M, O >::removeOldFiles(), ScaleCoupling< M, O >::setCouplingWeight(), BaseCoupling< M, O >::setName(), ScaleCoupling< M, O >::setPenalty(), setupMercury(), setupOomph(), mathsFunc::sin(), and ScaleCoupling< M, O >::solveScaleCoupling().
|
inlineoverride |
|
inlineoverride |
Write header of output file.
References helpers::check(), ScaleCoupling< M, O >::getCoupledParticles(), outFile, and Vec3D::X.
|
inlineoverride |
Each time step, compute deflection, elastic, kinetic and gravitational energy, and write to output file.
References getBeamDeflection(), and out.
|
inlineoverride |
Each time step, compute deflection, elastic, kinetic and gravitational energy, and write to output file.
References getBeamDeflection(), and outFile.
|
inlineoverride |
Write header of output file.
References BaseCoupling< M, O >::getName(), out, and helpers::writeToFile().
|
inlineoverride |
Write header of output file.
References BaseCoupling< M, O >::getName(), outFile, and helpers::writeToFile().
|
inline |
|
inline |
|
inline |
References bulkDensity, mathsFunc::cubic(), distance, elasticModulus, BaseParticle::getMass(), constants::i, length, n, overlapLength, constants::pi, BaseInteractable::setPosition(), BaseParticle::setRadius(), and velocity.
Referenced by ScaleCoupledBeam().
|
inline |
References bulkDensity, mathsFunc::cubic(), distance, elasticModulus, BaseParticle::getMass(), constants::i, length, n, overlapLength, constants::pi, BaseInteractable::setPosition(), BaseParticle::setRadius(), and BaseInteractable::setVelocity().
|
inline |
References bulkDensity, distance, elasticModulus, length, overlapLength, and helpers::round().
Referenced by ScaleCoupledBeam().
|
inline |
References bulkDensity, distance, elasticModulus, length, overlapLength, and helpers::round().
|
private |
Referenced by ScaleCoupledBeam(), setupMercury(), and setupOomph().
|
private |
Referenced by setupMercury(), and setupOomph().
|
private |
Referenced by ScaleCoupledBeam(), setupMercury(), and setupOomph().
|
private |
Referenced by ScaleCoupledBeam(), setupMercury(), and setupOomph().
std::ofstream ScaleCoupledBeam::out |
output file stream
Referenced by actionsAfterSolve(), actionsBeforeOomphTimeStep(), and actionsBeforeSolve().
std::ofstream ScaleCoupledBeam::outFile |
output file stream
Referenced by actionsAfterSolve(), actionsBeforeOomphTimeStep(), and actionsBeforeSolve().
Referenced by ScaleCoupledBeam(), setupMercury(), and setupOomph().
|
private |
Referenced by ScaleCoupledBeam().
|
private |
Referenced by setupMercury().