![]() |
|
#include <SCoupling.h>
Classes | |
struct | SCoupledElement |
Public Types | |
typedef O::ELEMENT | ELEMENT |
Private Attributes | |
Vector< SCoupledElement > | sCoupledElements_ |
List of surface-coupled elements. More... | |
std::vector< TriangleWall * > | triangleWalls_ |
List of triangle walls used for the surface coupling. More... | |
std::vector< unsigned > | coupledBoundaries_ |
bool | logSurfaceCoupling = true |
bool | solidFeelsParticles_ = true |
|
inline |
Solve surface-coupled problem for one oomph time step (n mercury time steps)
References INFO, logger, BaseCoupling< M, O >::solveMercury(), and BaseCoupling< M, O >::solveOomph().
|
inline |
Computes nodal scoupling forces from triangles.
[in] | elem_pt | pointer to the element for which forces are computed |
[in] | nTriangles | number of triangles (equals number of nodes of the traction element) |
[in,out] | wallID | |
[out] | nodalCouplingForces[l] | = sum_i f * psi(l,cp) for each shape function l, interaction i, evaluated at contact point cp |
References f(), Vec3D::getX(), Vec3D::getY(), Vec3D::getZ(), i, oomph::GeomObject::locate_zeta(), n, s, w, plotDoE::x, and MultiOpt::xc.
|
inline |
References b.
References b.
Referenced by ElementAnalysis::ElementAnalysis(), CoupledBeam::setupOomph(), and CoupledProblem::setupOomph().
References n, Vec3D::setX(), Vec3D::setY(), Vec3D::setZ(), swap(), w, and plotDoE::x.
|
inline |
Create a triangle wall from a set of vertices
vertex |
References BaseObject::setGroupId(), BaseWall::setSpecies(), TriangleWall::setVertices(), and w.
|
inline |
needed in computeSCouplingForcesFromCG to decide which particles affect a given element
References BaseCoupling< M, O >::getCGWidth(), logger, max, min, and n.
Get bulk elements along boundaries (SCoupling). The results are stored in sCoupledElements_.
References b, SCoupling< M, O >::SCoupledElement::bulk_elem_pt, SCoupling< M, O >::SCoupledElement::center_local, e(), SCoupling< M, O >::SCoupledElement::face_index, oomph::FaceElement::get_local_coordinate_in_bulk(), i, INFO, oomph::FiniteElement::local_coordinate_of_node(), logger, n, oomph::FiniteElement::nnode(), SCoupling< M, O >::SCoupledElement::node_pt, oomph::FiniteElement::node_pt(), s, SCoupling< M, O >::SCoupledElement::surface_node_position_pt, and oomph::Node::x().
References calibrate::val.
|
inline |
Referenced by CoupledBeam::CoupledBeam(), and CoupledProblem::CoupledProblem().
|
inline |
|
inline |
Solves an unsteady problem, returns successful if timeMaxMin has been reached
References calibrate::error, ERROR, INFO, and logger.
References n, swap(), and plotDoE::x.
sets nodal_coupling_residual in each scoupled element
|
inline |
Update the position of a triangle wall (used in updateDPMWallsFromFiniteElems)
why is it using setPrescribedPosition
we need to set velocity
References f(), BaseInteractable::getPosition(), TriangleWall::getVertices(), BaseInteractable::setPrescribedPosition(), BaseInteractable::setPrescribedVelocity(), TriangleWall::setVertices(), and Jeffery_Solution::velocity().
Function to determine whether boundary is coupled. Needs to be set before solveSurfaceCoupling is called.
|
private |
List of surface-coupled elements.
Set false for one-way coupling (solid does not feel particles), true for two-way coupling
|
private |
List of triangle walls used for the surface coupling.