7 #ifndef __mechanics_LinearSpringForce_h__ 8 #define __mechanics_LinearSpringForce_h__ 22 class FE_DL_EXPORT LinearSpringForce :
public SemiImplicit::Force,
23 public CastableAs<LinearSpringForce>
26 LinearSpringForce(sp<SemiImplicit> a_integrator);
27 virtual ~LinearSpringForce(
void);
28 virtual void clear(
void);
29 virtual void accumulate(
void);
30 virtual bool validate(
void);
32 virtual void compile( sp<RecordGroup> rg_input,
33 std::vector<SemiImplicit::Particle> &a_particles,
34 SemiImplicit::CompileMatrix &a_compileMatrix);
36 virtual void pairs( sp<RecordGroup> rg_input,
37 SemiImplicit::t_pairs &a_pairs);
40 class FE_DL_EXPORT Spring
43 t_solve_real m_restlength;
44 t_solve_real m_stiffness;
45 t_solve_real m_damping;
46 t_solve_v3 *m_location[2];
49 t_solve_real m_prev_distance;
50 t_solve_v3 *m_velocity[2];
51 t_solve_v3 *m_force[2];
52 t_solve_matrix *m_diagonal_dfdx[2];
53 t_solve_matrix *m_diagonal_dfdv[2];
54 t_solve_matrix *m_offdiagonal_dfdx;
55 t_solve_matrix *m_offdiagonal_dfdv;
59 hp<SemiImplicit> m_integrator;
61 std::vector<Spring> m_springs;
63 t_solve_real m_perturbation;
kernel
Definition: namespace.dox:3