25 #include <openbeam/CElement.h>
26 #include <openbeam/types.h>
39 using Ptr = std::shared_ptr<CLoadOnBeam>;
40 using ConstPtr = std::shared_ptr<const CLoadOnBeam>;
42 virtual void computeStressAndEquivalentLoads(
43 const CElement* el, ElementStress& stress,
44 std::vector<array6>& loads) = 0;
66 const std::vector<size_t>& meshed_element_idxs,
67 const size_t original_bar_idx,
70 virtual mrpt::opengl::CSetOfObjects::Ptr getVisualization(
75 virtual void getVisualization_init(
81 virtual void getVisualization_pre(
99 void computeStressAndEquivalentLoads(
100 const CElement* el, ElementStress& stress,
101 std::vector<array6>& loads)
override;
110 const std::vector<size_t>& meshed_element_idxs,
111 const size_t original_bar_idx,
120 num_t m_incr_temp = UNINITIALIZED_VALUE;
139 dir[0] =
dir[1] =
dir[2] = UNINITIALIZED_VALUE;
142 void computeStressAndEquivalentLoads(
143 const CElement* el, ElementStress& stress,
144 std::vector<array6>& loads)
override;
153 const std::vector<size_t>& meshed_element_idxs,
154 const size_t original_bar_idx,
157 mrpt::opengl::CSetOfObjects::Ptr getVisualization(
162 void getVisualization_init(
167 void getVisualization_pre(
186 num_t q_ini_, num_t q_end_, num_t vx, num_t vy, num_t vz)
187 :
q_ini(q_ini_), q_end(q_end_)
195 :
q_ini(UNINITIALIZED_VALUE), q_end(UNINITIALIZED_VALUE)
197 dir[0] =
dir[1] =
dir[2] = UNINITIALIZED_VALUE;
200 void computeStressAndEquivalentLoads(
201 const CElement* el, ElementStress& stress,
202 std::vector<array6>& loads)
override;
211 const std::vector<size_t>& meshed_element_idxs,
212 const size_t original_bar_idx,
215 mrpt::opengl::CSetOfObjects::Ptr getVisualization(
249 dir[0] =
dir[1] =
dir[2] = UNINITIALIZED_VALUE;
252 void computeStressAndEquivalentLoads(
253 const CElement* el, ElementStress& stress,
254 std::vector<array6>& loads)
override;
263 const std::vector<size_t>& meshed_element_idxs,
264 const size_t original_bar_idx,
267 mrpt::opengl::CSetOfObjects::Ptr getVisualization(
Definition: CElement.h:49
Definition: CFiniteElementProblem.h:196
Definition: CStructureProblem.h:36
num_t P
Load modulus (N)
Definition: loads.h:272
num_t dist
Load modulus (N)
Definition: loads.h:273
num_t dir[3]
Director vector, in GLOBAL coordinates.
Definition: loads.h:274
CLoadConcentratedForce(num_t P_, num_t dist_, num_t vx, num_t vy, num_t vz)
Definition: loads.h:239
void meshLoad(CStructureProblem &meshed_fem, const std::vector< size_t > &meshed_element_idxs, const size_t original_bar_idx, const CStructureProblem &original_fem) const override
void loadParamsFromSet(const mrpt::containers::yaml &p, const EvaluationContext &ctx) override
void loadParamsFromSet(const mrpt::containers::yaml &p, const EvaluationContext &ctx) override
void meshLoad(CStructureProblem &meshed_fem, const std::vector< size_t > &meshed_element_idxs, const size_t original_bar_idx, const CStructureProblem &original_fem) const override
mrpt::opengl::CSetOfObjects::Ptr getVisualization(const CFiniteElementProblem &fem, const DrawStructureOptions &options, const DrawElementExtraParams &draw_el_params, const MeshOutputInfo *meshing_info) const override
Temperature increment value (in C)
num_t q_ini
Load density at the start and end points of the beam (N/m)
Definition: loads.h:221
void loadParamsFromSet(const mrpt::containers::yaml &p, const EvaluationContext &ctx) override
num_t dir[3]
Unit director vector, in GLOBAL coordinates.
Definition: loads.h:222
void meshLoad(CStructureProblem &meshed_fem, const std::vector< size_t > &meshed_element_idxs, const size_t original_bar_idx, const CStructureProblem &original_fem) const override
virtual void loadParamsFromSet(const mrpt::containers::yaml &p, const EvaluationContext &ctx)=0
virtual void meshLoad(CStructureProblem &meshed_fem, const std::vector< size_t > &meshed_element_idxs, const size_t original_bar_idx, const CStructureProblem &original_fem) const =0
static CLoadOnBeam::Ptr createLoadByName(const std::string &sName)
Definition: DrawStructureOptions.h:34
Definition: CFiniteElementProblem.h:138