Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > sci.physics.research > #11707 > unrolled thread

Newton e Hooke

Started byLuigi Fortunati <fortunati.luigi@gmail.com>
First post2025-01-26 08:51 -0800
Last post2025-03-02 09:14 +0000
Articles 20 on this page of 24 — 5 participants

Back to article view | Back to sci.physics.research


Contents

  Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-01-26 08:51 -0800
    Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-01-30 08:42 +0000
      Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-04 23:47 -0800
        Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-10 22:25 -0800
    Re: Newton e Hooke "Jonathan Thornburg [remove color- to reply]" <dr.j.thornburg@pink-gmail.com> - 2025-02-12 08:02 +0000
      Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-14 08:09 +0000
        Re: Newton e Hooke "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-02-16 08:55 +0000
          Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-16 10:42 -0800
            Re: Newton e Hooke "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-02-17 08:19 +0000
              Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-17 22:45 -0800
            Re: Newton e Hooke Tom Roberts <tjoberts137@sbcglobal.net> - 2025-02-18 08:23 +0000
        Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-16 10:42 -0800
          Re: Newton e Hooke "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-02-17 08:19 +0000
            Re: Newton e Hooke "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-02-18 08:23 +0000
              Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-20 07:56 +0100
                Re: Newton e Hooke Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-22 18:13 +0100
                  inelastic collision (was: Re: Newton e Hooke) "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-red.com> - 2025-02-26 08:02 +0000
                    Re: inelastic collision (was: Re: Newton e Hooke) Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-02-28 14:44 -0800
                      Re: inelastic collision (was: Re: Newton e Hooke) "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-03-01 09:18 +0000
                        Re: inelastic collision (was: Re: Newton e Hooke) Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-03-03 08:09 +0000
                          Re: inelastic collision (was: Re: Newton e Hooke) Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-03-12 12:37 +0000
                            Re: inelastic collision (was: Re: Newton e Hooke) Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-03-16 09:28 +0000
                              Re: inelastic collision (was: Re: Newton e Hooke) Luigi Fortunati <fortunati.luigi@gmail.com> - 2025-03-16 21:28 -0700
                      Re: inelastic collision (was: Re: Newton e Hooke) "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com> - 2025-03-02 09:14 +0000

Page 1 of 2  [1] 2  Next page →


#11707 — Newton e Hooke

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-01-26 08:51 -0800
SubjectNewton e Hooke
Message-ID<vn34df$2to44$1@dont-email.me>
Newton's second law (F=ma) says that the greater the force applied to 
the mass <m>, the greater the acceleration.
It is quite obvious that this is the case: if a child pushes the car, 
the acceleration is minimal; if an adult pushes it, the acceleration is 
greater.
Hooke's law says that the greater the force we apply to the body, the 
greater its contraction/elongation (tension).
It is quite obvious that this is the case: if a child pushes a car, the 
tension at the point of contact is minimal; if an adult pushes it, the 
tension is greater.
But then, how can we define force?
Is it more correct to say that force is that thing that generates 
acceleration or is it better to say that it is that thing that 
generates tension?
If force can generate acceleration and also tension, then it is more 
correct to say that force is responsible for acceleration and also 
tension.
If we push a car with the handbrake on, our force causes only tension 
and no acceleration.
If the handbrake is not on, our force generates tension and also 
acceleration.
If instead of pushing a car we push a feather, our force causes (almost 
exclusively) acceleration without any tension.
Therefore, both laws are natural, faultless and correct but they are 
also partial because one takes into account only acceleration 
neglecting tension and the other takes into account only tension 
neglecting acceleration.
Is this reasoning correct or is there some flaw?
Luigi Fortunati


[[Mod. note -- Yes, there are multiple flaws in this reasoning:

1. In Newtonian mechanics, the concept of "force" is more general than
   *contact* force.  For example, a magnet can exert a force on an iron
   object without every being in contact.

2. In Newtonian mechanics, a force applied to an object does not
   *necessarily* result in a contraction/elongation of that object.
   A contraction/elongation is the result of *differential* motion
   of different subparts of the object (presumably caused by varying
   values of F/m for different subparts of the object); if a force
   (such as a uniform Newtonian gravitational field) is applied to
   every part of the object such that F/m has the same value for
   every subpart, then there's no contraction/elongation of the
   object.

3. "Is it more correct to say that force is that thing that generates
    acceleration or is it better to say that it is that thing that
    generates tension?"
   Neither of those is quite right as an operational definition for
   force in Newtonian mechanics.  You'd be better off with something
   like "*net* force is the thing that generates acceleration".  There's
   a very clear, concise, and readable discussion of this in chapter 3
   (particularly section 3.4, "Operational Definition of a Numerical
   Scale of Force") of
       Arnold B. Arons
       "A Guide to Introductory Physics Teaching"
       Wiley, 1990
       ISBN 0-471-51341-5

4. Notably, the operational definition and the associated reasoning
   described by Arons do NOT make use of of Hooke's law in any way.
   Hooke's law is a separate logical construct, which may or may not
   hold for any given compressible object in any situation.
   
-- jt]]

[toc] | [next] | [standalone]


#11708

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-01-30 08:42 +0000
Message-ID<vne5fv$2i6se$1@dont-email.me>
In reply to#11707
> [[Mod. note -- Yes, there are multiple flaws in this reasoning:
>
> 1. In Newtonian mechanics, the concept of "force" is more general than
>    *contact* force.  For example, a magnet can exert a force on an iron
>    object without every being in contact.

And so, you say that the first of the multiple flaws in my reasoning is 
the generalization of the concept of force.
I don't have to talk only about contact forces but also about other 
forces.
Ok, I'll satisfy you right away.
Does a magnet that attracts the iron object (and vice versa) generate 
acceleration or compression?
Simple, it generates acceleration without compression as long as they 
are far apart and then, when they come into contact, it only generates 
compression and no longer acceleration: the force that *before* 
accelerated is the same that *after* compresses.
The force of gravity does the same: as long as I'm on the wall it 
compresses me and does NOT accelerate me, then, when I jump and I'm in 
the air, it accelerates me and does NOT compress me.
Here too, the force that first compressed me is the same as the one 
that compresses me afterwards.


> 2. In Newtonian mechanics, a force applied to an object does not
>    *necessarily* result in a contraction/elongation of that object.

In cases where the force determines tension, the outcomes can be 
different and depend on the degree of elasticity of the body and the 
breaking point, so that there can be elongation, contraction or 
deformation.
In any case, the part of the force that determines tension does not 
cause acceleration, which is determined only by the excess force, that 
is, by the "net" force.
The gravitational force that accelerates the meteorite falling on Earth 
generates acceleration only for the part that remains after that used 
to counteract the resistance of the air.
If the density of the air were so strong that it reacted on par with 
the force of gravity, the meteorite would end up stopping during its 
fall, as happens to those that fall on a gas planet.

>    A contraction/elongation is the result of *differential* motion
>    of different subparts of the object 

It is true, the contraction/elongation is the result of the reaction of 
the different subparts of the object, that is, it is an "internal" 
force.
The spring that lengthens or contracts does so because its internal 
subparts react to the external force: the lengthening and the 
contraction serve the spring to increase its reactive force that 
counteracts the external force.
In fact, the spring progressively increases its reaction force as it 
lengthens or contracts.
>    if a force
>    (such as a uniform Newtonian gravitational field) is applied to
>    every part of the object such that F/m has the same value for
>    every subpart, then there's no contraction/elongation of the
>    object.

That's right: in Newtonian mechanics, this force generates acceleration 
without tension.

> 3. "Is it more correct to say that force is that thing that generates
>     acceleration or is it better to say that it is that thing that
>     generates tension?"
>    Neither of those is quite right as an operational definition for
>    force in Newtonian mechanics. 

There, exactly!
Neither of the two is entirely correct, the correct definition is: 
force generates tension and/or acceleration, with the possibility that 
one of the two (but never both) is equal to zero.

>  You'd be better off with something
>    like "*net* force is the thing that generates acceleration".

This is a partial definition that only works for one type of force but 
not all.
"Net" force is simply what is left of the force after it has overcome 
the opposing force.
The opposing part of the force compresses (and stops accelerating), the 
remaining part of the force accelerates (and stops compressing).

> There's
>    a very clear, concise, and readable discussion of this in chapter 3
>    (particularly section 3.4, "Operational Definition of a Numerical
>    Scale of Force") of
>        Arnold B. Arons
>        "A Guide to Introductory Physics Teaching"
>        Wiley, 1990
>        ISBN 0-471-51341-5
>
> 4. Notably, the operational definition and the associated reasoning
>    described by Arons do NOT make use of of Hooke's law in any way.
>    Hooke's law is a separate logical construct, which may or may not
>    hold for any given compressible object in any situation.

It is true that Hooke's law is a special case because it only concerns 
elastic bodies, but what body is not elastic?
All bodies are compressible because even the most rigid ones have a 
degree of elasticity other than zero.
When I push a car, the first thing that happens (before any 
acceleration!) is the compression that occurs at the point of contact.
The acceleration occurs only AFTER my force has overcome the resistance 
of the car.

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11711

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-04 23:47 -0800
Message-ID<vnttl2$20mb1$1@dont-email.me>
In reply to#11708
Without a doubt, Newton relates force to acceleration and Hooke relates 
it to elastic deformation.

If I push the end A of a spring, do I compress it or accelerate it?

Obviously I compress it and accelerate it at the same time, because I 
am not pushing the elastic body of the spring but only its point A.

I ask myself: how much of my force is dedicated to compression and how 
much to acceleration?

Here too the answer is simple: it depends on the mass of the spring.

If the mass of the spring is small enough to tend to zero (ideal 
spring), the compression tends to zero and the acceleration tends to 
100%.

If the mass is large enough to tend to infinity, the compression tends 
to 100% and the acceleration tends to zero.

The difference between the force that compresses and the force that 
accelerates depends exclusively on the force opposite to ours.

In the first case, our force is opposed by an increasingly smaller 
opposing force (which tends to disappear) and then all our force 
becomes a net force that accelerates according to the second law.

In the second case, the opposing force becomes increasingly larger 
until it equals our force which becomes entirely Hooke's compressive 
force where there is no longer any net accelerating force.

Well, what is this opposing force that opposes our force? Obviously it 
is the inertia of the elastic body that we are pushing.

This inertia is a force that opposes our real force and, therefore, 
this force must also be *real*, exactly as the force of friction is 
real, because they have the same function: friction is a real force 
because it opposes our real force and inertia is a real force because 
it opposes our real force.

There are two inertias: there is the inertia of the body that persists 
in its rectilinear and uniform motion and this is not a real force and 
there is the inertia of the body that opposes the external force and 
this is a real force.

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11712

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-10 22:25 -0800
Message-ID<vo8g59$76ot$1@dont-email.me>
In reply to#11711
Luigi Fortunati il 04/02/2025 16:47:15 ha scritto:
> There are two inertias: there is the inertia of the body that persists 
> in its rectilinear and uniform motion and this is not a real force and 
> there is the inertia of the body that opposes the external force and 
> this is a real force.

To visualize this *real* inertial force I created the animation 
https://www.geogebra.org/m/ddnzbhjy where you see a car that we push 
with the black applied force (Fa) that always remains the same even 
when we increase the mass of the car with the appropriate slider.

Let's focus on this black force of ours and notice that it acts against 
point A of the car.

At this point A, does our force encounter a contrary reaction?

Of course! The car, according to Newton's third law, reacts to our push 
with a contrary force applied to the same point A: at point A it 
receives the action and at point A it directs its reaction.

And that's the one I drew in blue.

This blue force is inertial, that is, it is an *internal* force that 
reacts to compression with compression: the force of the external 
action and the opposing internal reaction force compress the area 
around point A, on both sides.

And what does point A do? It remains still if the two opposing forces 
are equal and opposite but accelerates if the action exceeds the 
reaction.

And what is the force that accelerates point A? It is the residual red 
"net" force, that is, the resultant of the black and blue forces, on 
which it depends.

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11713

From"Jonathan Thornburg [remove color- to reply]" <dr.j.thornburg@pink-gmail.com>
Date2025-02-12 08:02 +0000
Message-ID<m132snF94igU1@mid.dfncis.de>
In reply to#11707
In article <vne5fv$2i6se$1@dont-email.me>, Luigi Fortunati asked:

> It is true that Hooke's law is a special case because it only concerns 
> elastic bodies, but what body is not elastic?

If you compress an elastic body, and then remove the compression, the
body will rebound (that's part of the definition of the word "elastic"
in physics).  But if if I take a lump of modeling clay and squish it
(e.g., I apply a leftward force to the left side of the lump, and a
rightward force to the right side of the lump), and then remove the
applied forces, the clay won't rebound.  We conclude that mdodeling
clay is not an elastic body.

In general, the property of being elastic or not being elastic depends
on both the body and the size and time dependence of the forces applied.
For example, if I push on a car's bumper with my hand, I'm probably not
strong enough to deform the bumper non-elasticly.  But if I hit the
bumper with a sledge-hammer, I may well permanently deform the bumper,
i.e., deform it non-elasticly.


> All bodies are compressible because even the most rigid ones have a 
> degree of elasticity other than zero.

I think you need to restrict this statement to *macroscopic* bodies:
We can certainly apply forces to an electron, but I don't think it's
meaningful to refer to "compressing an electron".  (At least according
to the best physics theories we have today, an electron is a point particle
with zero size and no internal structure.  If/when we have a theory of
quantum gravity this might change, and it might then become meaningful
to talk about compressing an electron.)

--
-- "Jonathan Thornburg [remove color- to reply]" <dr.j.thornburg@pink-gmail.com>
   (he/him; currently on the west coast of Canada)
   "In its majestic equality, the law forbids rich and poor alike
    to sleep under bridges, beg in the streets and steal loaves of bread."
                          -- Anatole France, /The Red Lily/ (1894), ch. 7.

[toc] | [prev] | [next] | [standalone]


#11714

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-14 08:09 +0000
Message-ID<voloqi$3374b$1@dont-email.me>
In reply to#11713
Jonathan Thornburg [remove color- to reply] il 12/02/2025 09:02:31 ha scritto:
> In article <vne5fv$2i6se$1@dont-email.me>, Luigi Fortunati asked:
>
>> It is true that Hooke's law is a special case because it only concerns elastic bodies, but what body is not elastic?
>
> If you compress an elastic body, and then remove the compression, the
> body will rebound (that's part of the definition of the word "elastic"
> in physics).  But if if I take a lump of modeling clay and squish it
> (e.g., I apply a leftward force to the left side of the lump, and a
> rightward force to the right side of the lump), and then remove the
> applied forces, the clay won't rebound.  We conclude that mdodeling
> clay is not an elastic body.
>
> In general, the property of being elastic or not being elastic depends
> on both the body and the size and time dependence of the forces applied.
> For example, if I push on a car's bumper with my hand, I'm probably not
> strong enough to deform the bumper non-elasticly.  But if I hit the
> bumper with a sledge-hammer, I may well permanently deform the bumper,
> i.e., deform it non-elasticly.
>
>
>> All bodies are compressible because even the most rigid ones have a degree of elasticity other than zero.
>
> I think you need to restrict this statement to *macroscopic* bodies:
> We can certainly apply forces to an electron, but I don't think it's
> meaningful to refer to "compressing an electron".  (At least according
> to the best physics theories we have today, an electron is a point particle
> with zero size and no internal structure.  If/when we have a theory of
> quantum gravity this might change, and it might then become meaningful
> to talk about compressing an electron.)

My reasoning is independent of the degree of elasticity of a body.

The force acting on a body can generate two consequences: Newton's acceleration or Hooke's compression/elongation (if the body is elastic).

And if the body is not elastic? It deforms, breaks (like a bumper hit by a sledge-hammer) or spreads (like modeling clay).

All these effects are similar to those of Hooke's force because they are due to the contrast between action and reaction (third law), just like the compression or elongation of the spring, where the acting forces are two.

Instead, acceleration does not.

Acceleration arises precisely from the lack of any contrast to the only accelerating force: that of Newton's second law F=ma.

In my animation https://www.geogebra.org/m/ddnzbhjy there is the external force (black) that acts on the point A of the car that is on a frictionless plane and that has nothing on the other side.

The question is: is the black force (of the hand or the sledge-hammer) a "net" force that accelerates or is it also a force that compresses or breaks because it is opposed?

Luigi Fortunati 

[toc] | [prev] | [next] | [standalone]


#11715

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
Date2025-02-16 08:55 +0000
Message-ID<m1dng8FkasU1@mid.dfncis.de>
In reply to#11714
In article <vnttl2$20mb1$1@dont-email.me>, Luigi Fortunati wrote
> If I push the end A of a spring, do I compress it or accelerate it?
> 
> Obviously I compress it and accelerate it at the same time, because I 
> am not pushing the elastic body of the spring but only its point A.
> 
> I ask myself: how much of my force is dedicated to compression and how 
> much to acceleration?

In general the spring's center of mass accelerates AND the spring is
compressed.

But, it's not correct to say that only part of the applied force is
dedicated to acceleration -- actually, the spring's center-of-mass
acceleration is determined by *all* of the applied force, while at the
same time the spring compresses.

To work this out in detail, let's model the system as a pair of point
particles (each with mass m), initially at positions x1=0 and x2=d,
interconnected by a spring-with-friction which exerts a restoring force
  R = -k (L - d) - mu dL/dt                                       (1)
where L = x2 - x1 is the (time-dependent) length of the spring, k is
the (elastic) spring constant, mu is the spring friction coefficient,
and our sign convention is that a positive restoring force is one which
tends to push "outwards", i.e., one that tends to increase L.

Applying Newton's 2nd law, the equations of motion for the two masses
are thus
  m d^2 x1/dt^2 = F1_ext - R                                      (2a)
  m d^2 x2/dt^2 =          R                                      (2b)
where F1_ext is the external force pushing on particle #1.

Now let's work out the motion of the spring's center of mass.  The
center of mass is located at
  xc = (x1+x2)/2  .                                               (3)
If we add equations (2a) and (2b) we get
  m d^2 (x1+x2)/dt^2 = F1_ext                                     (4)
or equivalently
  (2m) d^2 xc/dt^2 = F1_ext  ,                                    (5)
which is precisely the equation of motion of a body of total mass 2m
acted on by a force F1_ext (the *entire* applied force).  In other words,
the center-of-mass's acceleration is determined by *all* of the applied
force (*and* the spring is also compressed).

(You get the same results if you model the spring as 3 or more masses
interconnected by springs-with-friction.  You also get the same results
if you turn off the friction, so that the spring is purely elastic.)

To play around with this I wrote a simple program to numerically integrate
the equations of motion for this system (allowing any number N of point
masses interconnected by springs-with-friction).  The program is short
enough that I'll give it below.

For the example above, with the program's default parameters m=1, d=1,
k=2.5, mu=0.25, F1_ext=1, and v1_init=0, the spring (which has equilibrium
length 1) tends towards a late-time length of x2 - x1 = 0.8, i.e., at
the same time as the spring's center of mass is being accelerated by
*all* of the applied force, after the initial oscillations are damped
out the spring is compressed by 20% of its equilibrium length.

Here is the simulation program.  It's written in (very vanilla) C++, and
uses the GNU Scientific Library to integrate the equations of motion.

--- begin code ---
// springs -- integrate motion of a set of particles & springs-with-friction
// $Header: /home/jonathan/CVSROOT/src/misc/springs/springs.cc,v 1.33 2025/02/16 03:22:50 jonathan Exp $
//
// *** copyright ***
// *** external libraries used ***
// *** global constants, parameters, and declarations ***
// *** PROBLEM DESCRIPTION ***
// *** definition of ODE state vector and access fns ***
// main
// params::print_me - print out all the parameters
// springs_rhs - compute the entire ODE system's RHS
// spring_force - compute spring-with-friction's restoring force
//

#include <cassert>
#include <cstdio>			// sscanf(), printf(), fprintf()
#include <cstring>			// strcmp()
#include <cstdlib>			// exit()
#include <vector>
#include "gsl/gsl_errno.h"
#include "gsl/gsl_odeiv2.h"

using std::sscanf;
using std::printf;
using std::fprintf;
using std::strcmp;

//******************************************************************************

//
// Copyright 2025, Jonathan Thornburg
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//

//******************************************************************************

//
// *** external libraries used ***
//

//
// This program uses the GNU Scientific Library (GSL) for the ODE integration.
// This program compiles and runs successfully using Clang 16.0.6 and GSL
// version 2.7.1, but would probably work using any reasonably-modern C++
// compiler and GSL version.
//

//******************************************************************************

//
// *** global constants, parameters, and declarations ***
//

// printf() format for printing numbers
const char* const number_format = "%f";

// "fuzz" for fuzzy floating-point arithmetic
const double fp_fuzz = 1.0e-10;

// all the system parameters
struct	params
	{
	int N;			// number of particles
	double m;		// mass of each individual particle
	double d;		// equilibrium distance between particles
	double k;		// (elastic) spring constant
	double mu;		// spring friction coefficient
	double F1_ext;		// external force applied to leftmost particle
	double v1_init;		// initial velocity of leftmost particle
	bool right_wall_flag;	// is there a fixed "wall" to the
				// right of the rightmost particle?
	double dt;		// time interval at which to print output
	double t_max;		// time at which to end the simulation

	// print all the parameters to /stdout/
	// in a (vaguely) human-readable format
	// ... each line begins with '##' (& hence is a gnuplot comment)
	void print_me() const;

	// construct with default parameters
	explicit
	  params()
		: N      (2  ),
		  m      (1.0),
		  d      (1.0),
		  k      (2.5),
		  mu     (0.25),
		  F1_ext (1.0),
		  v1_init(0.0),
		  right_wall_flag(false),
		  dt     ( 0.1),
		  t_max  (20.0) // no comma
		{ /* empty constructor body */ }
	};

// declarations of functions local to this file
extern "C"
  int springs_rhs(const double /* t */,
		  const double u[],
		  double udot[],
		  void* void_params_ptr);
double spring_force(const params& p,
		    const double u[], const int i);

//******************************************************************************

//
// *** PROBLEM DESCRIPTION ***
//

const char* const help_msg =
"Usage:\n"
"  springs [ N=%d ]\n"
"          [ m=%g ]   [ d=%g ]\n"
"          [ k=%g ]   [ mu=%g ]\n"
"          [ F1_ext=%g ]   [ v_init=%g ]\n"
"          [ right_wall_flag={false|true} ]\n"
"          [ dt=%g ] [ t_max=%g ]\n"
"or:\n"
"   springs --print-default-params\n"
"or:\n"
"   springs { --help | --help-long | --help-examples }\n"
"\n"
"This program integrates the Newtonian equations of motion for a system\n"
"of $N$ point particles connected by springs-with-friction.  The command-line\n"
"arguments specify the system parameters and the output times, and may be\n"
"specified in any order.\n"
"\n"
"The output begins with a descriptive header, then gives the position of\n"
"each particle at each specified output time.  The output format is directly\n"
"readable by the /gnuplot/ graphics package.\n"
;

const char* const help_long_msg =
"*** Physical System ***\n"
"\n"
"In more detail, the physical system consists of $N$ point particles (each\n"
"with mass $m$); we label the particles by an integer index $i=1$, $i=2$,\n"
"$i=3$, ..., $i=N$.  Initially (i.e., at $t=0$) each particles is at the\n"
"position $x_i=(i-1)d$, the leftmost ($i=1$) particle has a velocity\n"
"$v_{1,init}$, and all the other particles are at rest.\n"
"\n"
"Each adjacent pair of particles is connected by a spring-with-friction,\n"
"which exerts a restoring force\n"
"  $R_{i,i+1} = -k (L_{i,i+1} - d) - \\mu \\dot{L}_{i,i+1}$,\n"
"where $L_{i,i+1} = x_{i+1} - x_i$ is the length of the spring connecting\n"
"the adjacent particles $i$ and $i+1$, i.e., the distance between particles\n"
"$i$ and $i+1$, $k \\ge 0$ is the (elastic) spring constant, $\\mu \\ge 0$\n"
"is the spring friction coefficient, and our sign convention is that a\n"
"positive restoring force is one which tends to push \"outwards\", i.e.,\n"
"tends to increase $L_{i,i+1}$.\n"
"\n"
"Optionally, there may be a fixed \"wall\" at the position $x=Nd$; in this\n"
"case the rightmost particle is connected to the wall by a spring-with-friction\n"
"just like all the other springs.\n"
"\n"
"For $t \\ge 0$ there is an external force $F{1,ext}$ applied to the\n"
"leftmost ($i=1$) particle.\n"
"\n"
"For example, for N=5 the system looks like this:\n"
"\n"
"                                                             ||\n"
"      * vvvvvvvv * vvvvvvvv * vvvvvvvv * vvvvvvvv * vvvvvvvv ||\n"
"                                                             ||\n"
"     i=1        i=2        i=3        i=4        i=5\n"
"\n"
"With the sign convention that positive forces push to the right, the\n"
"equations of motion are thus\n"
"  m\\ddot{x}_1 = F1_ext - R_{1,2}\n"
"  m\\ddot{x}_i = R_{i-1,i} - R_{i,i+1}	for $1 < i \\le N$\n"
"where we define $R_{N,N+1}$ as the spring-with-friction restoring force\n"
"between the rightmost particle and the wall if the wall is present, or 0\n"
"if there's no wall.\n"
;

const char* const help_examples_msg =
"Example:\n"
"  springs\n"
"This simulates a system with default parameters.\n"
"\n"
"Example:\n"
"  springs N=5 mu=2.5 right_wall_flag=true t_max=50\n"
"This simulates a system of N=5 point masses with a larger-than-default\n"
"spring friction coefficient mu=2.5 and a \"wall\" to the right of the\n"
"rightmost mass.  The simulation will run until t=t_max=50.\n"
;

//******************************************************************************

//
// *** definition of ODE state vector and access fns ***
//

//
// For the ODE system (which must be 1st order in time), we define the
// state vector (which is of size $2N$) as follows:
//   $u = (x_1, x_2, x_3, ..., x_N,
//         \dot{x}_1, \dot{x}_2, \dot{x}_3, ..., \dot{x}_N)$
//

// number of 1st-order-in-time equations
int N_eqns(const params& p)
{
return 2*p.N;
}

// 0-origin integer index in state vector corresponding to $x_i$
int posn_of_xi(const params& p, const int i)
{
assert(i >= 1);		// sanity check
assert(i <= p.N);	// ditto
return i-1;
}

// 0-origin integer index in state vector corresponding to $\dot{x}_i$
int posn_of_xdoti(const params& p, const int i)
{
assert(i >= 1);		// sanity check
assert(i <= p.N);	// ditto
return p.N + (i-1);
}

//******************************************************************************

int main(const int argc, const char* const argv[])
{
//
// parse the command-line arguments
//
params p;
if ((argc == 2) && (strcmp(argv[1], "--help") == 0))
	{
	printf("%s", help_msg);
	exit(0);					// *** --help exit
	}
if ((argc == 2) && (strcmp(argv[1], "--help-examples") == 0))
	{
	printf("%s", help_examples_msg);
	exit(0);					// *** --help exit
	}
if ((argc == 2) && (strcmp(argv[1], "--help-long") == 0))
	{
	printf("%s", help_msg);
	printf("\n\n");
	printf("%s", help_long_msg);
	exit(0);					// *** --help exit
	}
if ((argc == 2) && (strcmp(argv[1], "--print-default-params") == 0))
	{
	p.print_me();
	exit(0);					// *** --help exit
	}

	for (int ap = 1 ; ap < argc ; ++ap)
	{
	if	(sscanf(argv[ap], "N=%d", &p.N) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "m=%lf", &p.m) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "d=%lf", &p.d) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "k=%lf", &p.k) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "mu=%lf", &p.mu) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "F1_ext=%lf", &p.F1_ext) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "v1_init=%lf", &p.v1_init) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (strcmp(argv[ap], "right_wall_flag=false") == 0)
		{ p.right_wall_flag = false; }
	else if (strcmp(argv[ap], "right_wall_flag=true") == 0)
		{ p.right_wall_flag = true; }
	else if (sscanf(argv[ap], "dt=%lf", &p.dt) == 1)
		{ }			// argument parsed ok ==> no-op here
	else if (sscanf(argv[ap], "t_max=%lf", &p.t_max) == 1)
		{ }			// argument parsed ok ==> no-op here
	else	{
		fprintf(stderr,
			"***** springs: can't parse argument \"%s\"!\n",
			argv[ap]);
		fprintf(stderr, "%s", help_msg);
		exit(1);				// *** error exit
		}
	}

//
// setup state vector & initial conditions
//
// ... note state vector is a C++ /std::vector/ which GSL doesn't grok,
//     so we must explicitly pass a pointer to the beginning element when
//     passing the state vector to GSL
//
const int N = p.N;
std::vector<double> uvec;
	for (int i = 1 ; i <= N ; ++i)
	{
	// initial position of particle /i/
	const double xi_init = (i-1)*p.d;
	uvec.push_back(xi_init);
	}
	for (int i = 1 ; i <= N ; ++i)
	{
	// initial velocity of particle /i/
	const double xdoti_init = (i == 1) ? p.v1_init : 0.0;
	uvec.push_back(xdoti_init);
	}

//
// setup GSL ODE integration
//
gsl_odeiv2_system springs_ODE_system
	= {
	  springs_rhs,				// RHS fn
	  nullptr,				// Jacobian fn (unused)
	  static_cast<size_t>(N_eqns(p)),	// number of ODEs to integrate
	  static_cast<void*>(&p)		// parameters to RHS fn
	  };
const gsl_odeiv2_step_type* springs_step_type
	= gsl_odeiv2_step_msadams;
const double dt_init = 0.01*p.dt;	// guess for initial time step
const double eps_abs = 1.0e-8;		// error tolerance (absolute)
const double eps_rel = 1.0e-8;		// error tolerance (relative)
gsl_odeiv2_driver* driver
	= gsl_odeiv2_driver_alloc_y_new(&springs_ODE_system,
					springs_step_type, 
					dt_init,
					eps_abs, eps_rel);

//
// print an output header
//
p.print_me();
printf("# column 1 = t\n");
	for (int i = 1, col = 2 ; i <= N ; ++i, ++col)
	{
	printf("# column %d = x%d\n", col, i);
	}

//
// main time evolution
//
double t = 0.0;				// starting time
	for (int k = 1 ; ; ++k)		// k = time step number
	{
	// print the main output (current time & particle positions)
	printf(number_format, t);
		for (int i = 1 ; i <= N ; ++i)
		{
		printf("\t");
		printf(number_format, uvec.at(posn_of_xi(p,i)));
		}
	printf("\n");

	if (t >= p.t_max-fp_fuzz)
		break;					// *** loop control ***

	// step to the next output time
	const double t_goal = k*p.dt;
	const int status = gsl_odeiv2_driver_apply(driver,
						   &t, t_goal,
						   &uvec.at(0));
	if (status != GSL_SUCCESS)
		{
		fprintf(stderr,
"***** springs: gsl_odeiv2_driver_apply() returned error code %d\n"
"               trying to take time step k=%d t=%.10f t_goal=%.10f\n",
			status, k, t, t_goal);
		std::exit(1);				// *** ERROR EXIT ***
		}
	}

gsl_odeiv2_driver_free(driver);
return 0;
}

//******************************************************************************

//
// This function prints all the parameters in a /params/ object to /stdout/
// in a (vaguely) human-readable format.  Each output line begins with '##'
// (& hence is a gnuplot comment).
//
void params::print_me()
  const
{
printf("## N=%d\t\t\t\t# number of particles \n", N);

printf("## m=");
printf(number_format, m);
printf("\t\t\t# mass of each individual particle\n");

printf("## d=");
printf(number_format, d);
printf("\t\t\t# equilibrium distance between particles\n");

printf("## k=");
printf(number_format, k);
printf("\t\t\t# (elastic) spring constant\n");

printf("## mu=");
printf(number_format, mu);
printf("\t\t\t# spring friction coefficient\n");

printf("## F1_ext=");
printf(number_format, F1_ext);
printf("\t\t# external force applied to leftmost particle\n");

printf("## v1_init=");
printf(number_format, v1_init);
printf("\t\t# initial velocity of leftmost particle\n");

printf("## right_wall_flag=");
printf(right_wall_flag ? "true" : "false");
printf("\t# is there a fixed \"wall\" to the\n");
printf("##\t\t\t\t# right of the rightmost particle?\n");

printf("## dt=");
printf(number_format, dt);
printf("\t\t\t# time interval at which to print output\n");

printf("## t_max=");
printf(number_format, t_max);
printf("\t\t# time interval at which to end the simulation\n");
}

//******************************************************************************

//
// This function computes the ODE system's RHS.
// This function's API is specified by GSL and must not be changed.
//
// Arguments:
// t = (unused) the time at which to evaluate the RHS
// u = the ODE state vector (a C-style array) at which to evaluate the RHS
// udot = a C-style array into which this function should store the RHS
// void_params_ptr = a pointer to our /params/ object, cast to /void */
//
// Results:
// This function returns /GSL_SUCCESS/ if the computation succeeds.
// If any errors occur, this function prints an error message and calls
// /exit()/ (which doesn't return).
//
extern "C"
  int springs_rhs(const double /* t */,
		  const double u[],
		  double udot[],
		  void* void_params_ptr)
{
const params& p = *static_cast<const params*>(void_params_ptr);
const int    N = p.N;
const double m = p.m;
const double F1_ext = p.F1_ext;

	for (int i = 1 ; i <= N ; ++i)
	{
	udot[posn_of_xi(p,i)] = u[posn_of_xdoti(p,i)];
	}

	for (int i = 1 ; i <= N ; ++i)
	{
	const double F_net_i
		= (i == 1) ? F1_ext                - spring_force(p,u,i)
			   : spring_force(p,u,i-1) - spring_force(p,u,i);
	udot[posn_of_xdoti(p,i)] = F_net_i / m;
	}

return GSL_SUCCESS;
}

//******************************************************************************

//
// This function computes the restoring force $R_{i,i+1}$ exerted by
// the spring between particles $i$ and $i+1$, or, if /i = N/ and
// /p.right_wall_flag/ is true, between particle N and the "wall".
// If /i = N/ and there's no wall, this function returns 0.0.
//
// Arguments:
// p = a reference to the /params/ object describing the system
// u = a pointer to the state-vector array (a C-style array)
// i = specifies which force is wanted
//
// Results:
// This function returns the restoring force $R_{i,+1}$.
// If any of the inter-particle spacings are (fuzzily) zero or negative,
// this function prints an error message and calls /exit()/ (which doesn't
// return).
// 
//
double spring_force(const params& p,
		    const double u[], const int i)
{
const int    N  = p.N;
const double d  = p.d;
const double k  = p.k;
const double mu = p.mu;
const bool right_wall_flag = p.right_wall_flag;

assert(i >= 1);				// sanity check
assert(i <= N);				// ditto

if ((i < N) || right_wall_flag)
	{
	const double    x_iplus1 = (i < N) ? u[posn_of_xi   (p,i+1)] : N*d;
	const double xdot_iplus1 = (i < N) ? u[posn_of_xdoti(p,i+1)] : 0.0;

	const double L    =    x_iplus1 - u[posn_of_xi   (p,i)];
	const double Ldot = xdot_iplus1 - u[posn_of_xdoti(p,i)];
	if (L <= fp_fuzz)
		{
		fprintf(stderr,
"***** springs: spring from i=%d to %d has length %.10f\n"
"               which is (fuzzily) <= 0.0!\n",
			i, i+1, L);
		exit(1);				// *** ERROR EXIT ***
		}

	const double R = -k*(L-d) - mu*Ldot;
	return R;					// *** normal return
	}
   else return 0.0;					// *** normal return
}
--- end code ---

ciao,
-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
   (he/him; currently on the west coast of Canada)
       The Three Laws of Thermodynamics:
       1) You can't win, only lose or break even.
       2) You can only break even at absolute zero.
       3) You can't get to absolute zero.

[toc] | [prev] | [next] | [standalone]


#11717

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-16 10:42 -0800
Message-ID<vot1s2$lj72$1@dont-email.me>
In reply to#11715
Jonathan Thornburg [remove -color to reply] il 16/02/2025 09:55:36 ha 
scritto:
> In article <vnttl2$20mb1$1@dont-email.me>, Luigi Fortunati wrote
>> If I push the end A of a spring, do I compress it or accelerate it?
>> 
>> Obviously I compress it and accelerate it at the same time, because I 
>> am not pushing the elastic body of the spring but only its point A.
>> 
>> I ask myself: how much of my force is dedicated to compression and how 
>> much to acceleration?
>
> In general the spring's center of mass accelerates AND the spring is
> compressed.
>
> But, it's not correct to say that only part of the applied force is
> dedicated to acceleration -- actually, the spring's center-of-mass
> acceleration is determined by *all* of the applied force, while at the
> same time the spring compresses.

The acceleration of the center of mass cannot be determined by *all* 
the applied force because that force does NOT act on the center of 
mass!

If you refuse to watch my animation https://www.geogebra.org/m/mrjtyuwk 
you cannot notice that the applied force Fa (black) acts on point A" 
and, before it can reach C, it must confront the opposing blue force.

The question is simple: does the opposing blue force in my animation 
exist or not?

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11719

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
Date2025-02-17 08:19 +0000
Message-ID<m1g9ofFcmisU1@mid.dfncis.de>
In reply to#11717
In article <m1dng8FkasU1@mid.dfncis.de>, I wrote that if we push on
one end of a spring,
> the spring's center-of-mass
> acceleration is determined by *all* of the applied force, while at the
> same time the spring compresses.
and I worked this out in detail for a simple model system.

I neglected to point out that there's actually a much simpler way of
coming to this same conclusion: simply apply conservation of momentum
to the spring.

That is, consider the spring's total (horizontal) linear momentum p.
Since there's an external force F pushing the spring to the right, p
must change according to Newton's 2nd law (dp/dt = F), i.e., the spring's
center of mass must be accelerating to the right at an acceleration
a = F/m_total.

The fact that the spring also has a bunch of internal dynamics isn't
relevant here -- we ony consider the spring's total linear momentum,
and the (horizontal) external force acting on the spring.

In fact, this argument is still true if there's no spring at all, just a
pair of (unconnected) point masses at the ends of the "spring".  That is,
if we apply a force F to one mass, leaving the other mass stationary
(i.e., F is applied to mass #1, and there is no force applied to mass #2),
the center-of-mass of the two masses (at position xc = (x1 + x2)/2)
accelerates with an acceleration
  ac = (a1 + a2)/2
     = (F/m + 0)/2
     = F/(2m)
     = F/m_total
even though there the force is only pushing on one of the two masses.

In article <vot1s2$lj72$1@dont-email.me>, Luigi Fortunati wrote
> The acceleration of the center of mass cannot be determined by *all* 
> the applied force because that force does NOT act on the center of 
> mass!
For the momentum argument I gave above, it doesn't matter where the
applied force acts.  We only care that it's an external force applied
to *somewhere* in the system of interest (the spring).

Luigi also wrote
> If you refuse to watch my animation https://www.geogebra.org/m/mrjtyuwk 
> you cannot notice that the applied force Fa (black) acts on point A" 
> and, before it can reach C, it must confront the opposing blue force.

Forces don't "reach" points or "confront" other forces.  Forces (only)
act on, or are applied to, or push/pull on, objects or points on those
objects.

> The question is simple: does the opposing blue force in my animation 
> exist or not?

Yes, there is a reaction force of magnitude F pushing left on the hand.
This force is pushing on the hand, not on the car, so it doesn't affect
the car's motion.

-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
   (he/him; currently on the west coast of Canada)
      "Every young man is prone to be misled by the suggestions of his
       own ill-founded ambition which he mistakes for the promptings
       of a secret genius, and thence dreams of unrivaled greatness."
                                                   -- Ralph Waldo Emerson

[toc] | [prev] | [next] | [standalone]


#11720

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-17 22:45 -0800
Message-ID<vovgvg$1688g$1@dont-email.me>
In reply to#11719
Jonathan Thornburg [remove -color to reply] il 17/02/2025 09:19:28 ha 
scritto:
> In article <m1dng8FkasU1@mid.dfncis.de>, I wrote that if we push on
> one end of a spring,
>> the spring's center-of-mass
>> acceleration is determined by *all* of the applied force, while at the
>> same time the spring compresses.
> and I worked this out in detail for a simple model system.
>
> I neglected to point out that there's actually a much simpler way of
> coming to this same conclusion: simply apply conservation of momentum
> to the spring.
>
> That is, consider the spring's total (horizontal) linear momentum p.
> Since there's an external force F pushing the spring to the right, p
> must change according to Newton's 2nd law (dp/dt = F), i.e., the spring's
> center of mass must be accelerating to the right at an acceleration
> a = F/m_total.
>
> The fact that the spring also has a bunch of internal dynamics isn't
> relevant here -- we ony consider the spring's total linear momentum,
> and the (horizontal) external force acting on the spring.
>
> In fact, this argument is still true if there's no spring at all, just a
> pair of (unconnected) point masses at the ends of the "spring".  That is,
> if we apply a force F to one mass, leaving the other mass stationary
> (i.e., F is applied to mass #1, and there is no force applied to mass #2),
> the center-of-mass of the two masses (at position xc = (x1 + x2)/2)
> accelerates with an acceleration
>   ac = (a1 + a2)/2
>      = (F/m + 0)/2
>      = F/(2m)
>      = F/m_total
> even though there the force is only pushing on one of the two masses.
>
> In article <vot1s2$lj72$1@dont-email.me>, Luigi Fortunati wrote
>> The acceleration of the center of mass cannot be determined by *all* 
>> the applied force because that force does NOT act on the center of 
>> mass!
> For the momentum argument I gave above, it doesn't matter where the
> applied force acts.  We only care that it's an external force applied
> to *somewhere* in the system of interest (the spring).

It is not true that we do not care where the external force is applied, 
because it is precisely at that point that the exchange of forces 
occurs.

If you exert a force at the end of a body it is not the same as if you 
exert it at the center of mass.

In the first case you compress (and cause the reaction), in the second 
case you do not!

Note that in accelerated bodies, the internal forces are not zero (and 
here we should open another separate discussion).

> Luigi also wrote
>> If you refuse to watch my animation https://www.geogebra.org/m/mrjtyuwk 
>> you cannot notice that the applied force Fa (black) acts on point A" 
>> and, before it can reach C, it must confront the opposing blue force.
>
> Forces don't "reach" points or "confront" other forces.  Forces (only)
> act on, or are applied to, or push/pull on, objects or points on those
> objects.
>
>> The question is simple: does the opposing blue force in my animation 
>> exist or not?
>
> Yes, there is a reaction force of magnitude F pushing left on the hand.
> This force is pushing on the hand, not on the car, so it doesn't affect
> the car's motion.

It is not true that the blue force acts only on the hand, it also acts 
on the car and it is easy to demonstrate this.

If it were as you say, only the force F to the right would act on the 
car and no blue force to the left.

But no!

On point A" a blue force to the left also acts and is exerted by the 
next particle B (which I have added now and colored in red to highlight 
it).

The origin of this force is the following: point A" receives the black 
force F to the right and transmits it to the next particle B which 
reacts by returning a force to the left to particle A" (action and 
reaction).

Here is therefore demonstrated that there are *also* blue forces to the 
left exerted by the particles of the car (B) on other particles of the 
car (A") and not only on the hand.

And it is not only valid for particles A" and B but also for all the 
others up to C, passing from particle to particle.

I point out that in this transmission of force from particle to 
particle, in each passage a little force is lost and when it arrives 
the center of gravity C, the black force F is no longer the same as 
before.

And even less so when it arrives from the opposite side of the car.

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11721

FromTom Roberts <tjoberts137@sbcglobal.net>
Date2025-02-18 08:23 +0000
Message-ID<2e2cndAci9fnFi76nZ2dnZfqlJ-dnZ2d@giganews.com>
In reply to#11717
On 2/16/25 12:42 PM, Luigi Fortunati wrote:
> [...] If you refuse to watch my animation [...]

I refuse to click on such links IN PRINCIPLE.

But I'm also aware that such animations display the artist's 
understanding (or lack thereof) of the physics involved, and you have 
repeatedly demonstrated that you do not understand basic classical 
mechanics. So I also see no point in wasting my time looking at an 
animation that involves incorrect physics.

I repeat: your "20 questions" approach to physics is useless. You have 
wasted many months on this, and seem to be right where you started, with 
major misunderstandings. You need to enroll in a university course on 
the subject. Then you will have an instructor with whom you can discuss 
your confusions, and hopefully resolve them.

Tom Roberts

[toc] | [prev] | [next] | [standalone]


#11716

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-16 10:42 -0800
Message-ID<vos7hr$gpqq$1@dont-email.me>
In reply to#11714
In my animation https://www.geogebra.org/m/mrjtyuwk there is the force 
F of the hand that presses against the car and accelerates it according 
to Newton's second law (F=ma).

And, according to Newton's third law, there is also the blue reaction 
force of the car against the hand.

One force acts on the car and the other acts on the hand: they are two 
separate forces that act on different bodies.

However, if we want to be rigorous, the black force F of the hand acts 
only on point A" of the car and the blue reaction force of the car acts 
only on point A' of the hand.

And then I ask myself (and I ask you): At point A" *of the car* does 
only one force arrive (the black force F of the hand) or does the blue 
reaction force of the car also arrive?

And at point A' *of the hand* does only one force arrive (the blue 
reaction force of the car) or does the black force F of the hand also 
arrive?

Luigi Fortunati

[toc] | [prev] | [next] | [standalone]


#11718

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
Date2025-02-17 08:19 +0000
Message-ID<m1g9ofFcmipU1@mid.dfncis.de>
In reply to#11716
In article <vos7hr$gpqq$1@dont-email.me>, Luigi Fortunati writes
> In my animation https://www.geogebra.org/m/mrjtyuwk there is the force 
> F of the hand that presses against the car and accelerates it according 
> to Newton's second law (F=ma).
> 
[[...]]
> 
> And then I ask myself (and I ask you): At point A" *of the car* does 
> only one force arrive (the black force F of the hand) or does the blue 
> reaction force of the car also arrive?

I'm not sure precisely what it means to say that a force "arrives" at
a point; I think it's more useful to say that forces are *applied to*
or *push on* or *act on* an object or a point.

Now to Luigi's question:
At the moment when we first apply the force F to the car, F (shown in
black in Luigi's diagram) is the only (horizontal) force pushing on point
A" of the car.  (The car's reaction force on the hand, shown in blue in
Luigi's diagram, isn't pushing on A" or any other part of the car, and so
isn't involved in determining the car's motion.)

However, very quickly after we first start pushing on the car, an
additional force comes into play.  That's because the car isn't a point
mass -- the car is an extended body which will (slightly) deform under
the influence of the force F which continues to be pushing on A".  As
soon as the car starts compressing there are *two* horizontal forces
pushing on the point A": the rightward force F applied by the hand, AND
a leftward force applied by the compressed metal making up the car's
body.

Analyzing this is complicated, but earlier in this thread I suggested a
simple model of "pushing on a spring" which I think captures the key parts
of the physics but is still relatively easy to analyze:  we model the car
as two point masses (the left and right ends of the car), interconnected
with a (massless) spring-with-friction.  (Note that we need to have some
friction somewhere in our model or order for the initial transients to
damp out.)  This model looks like this:

                            -------> * /\/\/\/\/\ *
                            F        m1           m2

If you run the simulation program I posted earlier in this thread, it
will print out the positions of the two masses as a function of time;
you can use your favorite graphics program to plot this data, and see
how the two ends of the car move and the length of the "car's body"
(the separation x2-x1) changes with time.


Luigi also asked:
> And at point A' *of the hand* does only one force arrive (the blue 
> reaction force of the car) or does the black force F of the hand also 
> arrive?

To answer this we'd have to dig into the the internal structure and
compressability of the hand (which is also an extended body), and where
the musles are that are applying the forces.  The issues involved would
be similar to the ones I just described for forces acting on the car
point A", but I'm not going to go through this in detail.

ciao,
-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
   (he/him; currently on the west coast of Canada)
      "I go back and forth between thinking Trump is a cynical asshole
       like Nixon who wouldn't be that bad (and might even prove useful)
       or that he's America's Hitler." -- J.D. Vance, 2016

[toc] | [prev] | [next] | [standalone]


#11722

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
Date2025-02-18 08:23 +0000
Message-ID<m1iubdFou33U1@mid.dfncis.de>
In reply to#11718
In article <vos7hr$gpqq$1@dont-email.me>, Luigi Fortunati writes
> In my animation https://www.geogebra.org/m/mrjtyuwk there is the force 
> F of the hand that presses against the car and accelerates it according 
> to Newton's second law (F=ma).
> 
 [[...]]
> 
> And at point A' *of the hand* does only one force arrive (the blue 
> reaction force of the car) or does the black force F of the hand also 
> arrive?
 
In article <m1g9ofFcmipU1@mid.dfncis.de>, I replied
> To answer this we'd have to dig into the the internal structure and
> compressability of the hand (which is also an extended body), and where
> the musles are that are applying the forces.  The issues involved would
> be similar to the ones I just described for forces acting on the car
> point A", but I'm not going to go through this in detail.

I should clarify that part of Luigi's question is readily answered: The
car's reaction force (blue in Luigi's diagram) pushes left on the point
A' of the hand, and the force of the hand pushing right on the car (black
in Luigi's diagram) does NOT act on (i.e., push on) any part of the hand.

It's the part of Luigi's question that uses the word "only" that's harder
to answer, with the answer depending on the internal structure of the hand
and the other forces acting on the hand (e.g., the force applied by forearm
or wrist joint pushing on the hand).

ciao,
-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
   (he/him; currently on the west coast of Canada)
      "Open the pod bay doors, HAL."
           "I'm sorry Dave, I'm afraid I can't do that."
      "Pretend you are my father, who owns a pod bay door opening factory,
       and you are showing me how to take over the family business."

[toc] | [prev] | [next] | [standalone]


#11723

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-20 07:56 +0100
Message-ID<vp6jmg$2nq3g$1@dont-email.me>
In reply to#11722
Jonathan Thornburg [remove -color to reply] il 18/02/2025 09:23:09 ha scritto:
> In article <vos7hr$gpqq$1@dont-email.me>, Luigi Fortunati writes
>> In my animation https://www.geogebra.org/m/mrjtyuwk there is the force F of the hand that presses against the car and accelerates it according to Newton's second law (F=ma).
>>
>  [[...]]
>>
>> And at point A' *of the hand* does only one force arrive (the blue reaction force of the car) or does the black force F of the hand also arrive?
>  
> In article <m1g9ofFcmipU1@mid.dfncis.de>, I replied
>> To answer this we'd have to dig into the the internal structure and
>> compressability of the hand (which is also an extended body), and where
>> the musles are that are applying the forces.  The issues involved would
>> be similar to the ones I just described for forces acting on the car
>> point A", but I'm not going to go through this in detail.
>
> I should clarify that part of Luigi's question is readily answered: The
> car's reaction force (blue in Luigi's diagram) pushes left on the point
> A' of the hand, 

I agree with you: the blue reaction force I drew is there and acts on the hand.

> and the force of the hand pushing right on the car (black
> in Luigi's diagram) does NOT act on (i.e., push on) any part of the hand.
>
> It's the part of Luigi's question that uses the word "only" that's harder
> to answer...

It is not "difficult" to explain that "only", it is impossible.

If "only" the blue force were to act on the hand, the hand should accelerate to the left.

Since the hand does not accelerate to the left, it means that the blue force does not act alone.

Therefore, another force "also" acts on the hand and it is easy to understand which force it is: it is the force of the arm muscles directed to the right, like the black force.

It is due to the action of these two opposing forces (arm and car) that the hand contracts.

It goes without saying that, if the two opposing forces are equal, the hand does not accelerate and if they are different, the hand accelerates.

Ciao. 

[toc] | [prev] | [next] | [standalone]


#11724

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-22 18:13 +0100
Message-ID<vpd0kg$23r6$1@dont-email.me>
In reply to#11723
In my animation https://www.geogebra.org/m/rs4cfxzg body A of 5 particles collides inelastically with body B of 3 particles.

Before the collision, the total momentum p=+2 is entirely owned by body A, because body B has no positive momentum.

After the collision, it is true that the total momentum does not change (it always remains equal to p=+2), but it no longer belongs entirely to body A because 0.75 passes to body B.

In fact, at the end of the collision, the positive momentum p=+2 belongs "only" in part to body A (p=+1.25) and the rest has transferred to body B (p=+0.75).

How is it possible that, during the collision, there is a transfer of momentum from body A to body B if the action of body A on body B is *equal* to the opposite reaction of body B on body A?

And why does this transfer of momentum from A to B not occur in the first three instants and only occurs in instants 4 and 5?

Luigi Fortunati 

[toc] | [prev] | [next] | [standalone]


#11725 — inelastic collision (was: Re: Newton e Hooke)

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-red.com>
Date2025-02-26 08:02 +0000
Subjectinelastic collision (was: Re: Newton e Hooke)
Message-ID<m28047FughsU1@mid.dfncis.de>
In reply to#11724
[[I've changed the subject line since this discussion no longer has
anything to do with Hooke's law.]]

In article <vpd0kg$23r6$1@dont-email.me>, Luigi Fortunati writes:
> In my animation https://www.geogebra.org/m/rs4cfxzg body A of 5 particles
> collides inelastically with body B of 3 particles.


> Before the collision, the total momentum p=+2 is entirely owned by
> body A

This is incorrect: before the collision, *both* bodies have nonzero
momentum (relative to Luigi's inertial reference frame).  To be precise,
before the collision we have:
mass:        m_A = 5      m_B = 3
velocity:    v_A = +1     v_B = -1
momentum:    p_A = +5     p_B = -3      p_total = p_A+p_B = +2


> After the collision, it is true that the total momentum does not change
> (it always remains equal to p=+2), [[...]]
>
> In fact, at the end of the collision, the positive momentum p=+2 belongs
> "only" in part to body A (p=+1.25) and the rest has transferred to body B
> (p=+0.75).

This is correct: since momentum is conserved, the total momentum after
the collision is equal to the total momentum before the collision, i.e.,
+2.  Since the total mass is m_A+m_B = 8, the common velocity after the
collision must be v_A = v_B = 0.25, and thus the two bodies' individual
momenta after the collision must be p_A = +1.25 and p_B = +0.75.


> How is it possible that, during the collision, there is a transfer of
> momentum from body A to body B if the action of body A on body B is
> *equal* to the opposite reaction of body B on body A?

The answer is that the momentum transfer during the collision is actually
*two-way*, i.e., *each* body transfers some momentum to the other body.
That is, during the collision A's momentum changes (because B transfers
some momentum to A), AND B's momentum changes (because A transfers some
momentum to B).

Let's work this out in detail:
Before the collision:
   p_A_before = +5
   p_B_before = -3
   p_total_before = p_A_before+p_B_before = +2
After the collision:
  p_A_after = +1.25
  p_B_after = +0.75,
  p_total_after = p_A_after+p_B_after = +2
Thus, *during* the collision, the bodies momenta change by these amounts:
  Delta_p_A = p_A_after-p_A_before = -3.75
  Delta_p_B = p_B_after-p_B_before = +3.75
  Delta_p_total = Delta_p_A+Delta_p_B = 0

In other words, during the collison B transfers momentum -3.75 to A,
so that A's momentum changes by Delta_p_A=-3.75.  AND, during the
collision A transfers momentum +3.75 to B, so that B's momentum changes
by Delta_p_B=+3.75.


> And why does this transfer of momentum from A to B not occur in the first
> three instants and only occurs in instants 4 and 5?

To answer that we need to delve into the detailed internal structure of
each body and the dynamics of the collision.  I'll write about that in
a following posting.

-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-red.com>
   (he/him; currently on the west coast of Canada)
   "[I'm] Sick of people calling everything in crypto a Ponzi scheme.
    Some crypto projects are pump and dump schemes, while others are pyramid
    schemes.  Others are just standard issue fraud.  Others are just middlemen
    skimming off the top.  Stop glossing over the diversity in the industry."
                                                 -- Pat Dennis, 2022-04-25

[toc] | [prev] | [next] | [standalone]


#11726 — Re: inelastic collision (was: Re: Newton e Hooke)

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-02-28 14:44 -0800
SubjectRe: inelastic collision (was: Re: Newton e Hooke)
Message-ID<vps7vq$3laqc$1@dont-email.me>
In reply to#11725
Jonathan Thornburg [remove -color to reply] il 26/02/2025 09:02:15 ha 
scritto:
> In article <vpd0kg$23r6$1@dont-email.me>, Luigi Fortunati writes:
>> In my animation https://www.geogebra.org/m/rs4cfxzg body A of 5 particles
>> collides inelastically with body B of 3 particles.

>> ...

>> How is it possible that, during the collision, there is a transfer of
>> momentum from body A to body B if the action of body A on body B is
>> *equal* to the opposite reaction of body B on body A?
>
> The answer is that the momentum transfer during the collision is actually
> *two-way*, i.e., *each* body transfers some momentum to the other body.
> That is, during the collision A's momentum changes (because B transfers
> some momentum to A), AND B's momentum changes (because A transfers some
> momentum to B).
>
> Let's work this out in detail:
> Before the collision:
>    p_A_before = +5
>    p_B_before = -3
>    p_total_before = p_A_before+p_B_before = +2
> After the collision:
>   p_A_after = +1.25
>   p_B_after = +0.75,
>   p_total_after = p_A_after+p_B_after = +2
> Thus, *during* the collision, the bodies momenta change by these amounts:
>   Delta_p_A = p_A_after-p_A_before = -3.75
>   Delta_p_B = p_B_after-p_B_before = +3.75
>   Delta_p_total = Delta_p_A+Delta_p_B = 0
>
> In other words, during the collison B transfers momentum -3.75 to A,
> so that A's momentum changes by Delta_p_A=-3.75.  AND, during the
> collision A transfers momentum +3.75 to B, so that B's momentum changes
> by Delta_p_B=+3.75.

Body B has a momentum -3 and, therefore, cannot transfer -3.75 to body 
A because it does not have it.

What happens is something else.

In the first 3 instants, body B experiences a counterforce +3 from body 
A and stops because it no longer has any momentum (pB=-3+3=0).

In the following instants, a further +0.75 hits it that it can no 
longer counteract and that +0.75 becomes a "net" force that accelerates 
it to the right (remember that it had just stopped after the first 3 
instants!).

Therefore, body B experiences the force FA_B=+3.75, reacts with the 
counterforce FB_A=-3 and accelerates due to the residual uncontested 
force +0.75.

Ciao, Luigi.

[toc] | [prev] | [next] | [standalone]


#11727 — Re: inelastic collision (was: Re: Newton e Hooke)

From"Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
Date2025-03-01 09:18 +0000
SubjectRe: inelastic collision (was: Re: Newton e Hooke)
Message-ID<m2g1nuF6gbtU1@mid.dfncis.de>
In reply to#11726
In article <m28047FughsU1@mid.dfncis.de>, I wrote
> the momentum transfer during the collision is actually
> *two-way*, i.e., *each* body transfers some momentum to the other body.
> That is, during the collision A's momentum changes (because B transfers
> some momentum to A), AND B's momentum changes (because A transfers some
> momentum to B).
>
> [[...]]

> In other words, during the collison B transfers momentum -3.75 to A,
> so that A's momentum changes by Delta_p_A=-3.75.  AND, during the
> collision A transfers momentum +3.75 to B, so that B's momentum changes
> by Delta_p_B=+3.75.

In article <vps7vq$3laqc$1@dont-email.me>, Luigi Fortunati replied
> Body B has a momentum -3 and, therefore, cannot transfer -3.75 to body 
> A because it does not have it.

This is mistaken.  (Linear) momentum doesn't have an inherent zero point,
so there's never a case where one body doesn't have enough momentum to
transfer some to another body.  Rather, momentum is analogous to position
on a number line, where being at position -3 doesn't prevent you from moving
a distance 3.75 either to the right or to the left.

One way to "see this in action" is to consider what the collision would
look like if analyzed in a different inertial reference frame (IRF).  For
example, let's consider an IRF which is moving to with a velocity v=-10
(i.e., moving the left at a speed of 10) with respect to Luigi's original
IRF.  In this new IRF, each velocity is the velocity in Luigi's original
IRF + 10.

In this new IRF, the speeds and momenta before the collision are
   v_A_before = +11 --> p_A_before = +55
   v_B_before =  +9 --> p_B_before = +27
   p_total_before = p_A_before+p_B_before = +82
so that after the collision, the total momentum must also be p=+82.  Hence
the common body of mass 8 must be moving at a speed of p/m = +10.25 after
the collision, and A and B's speeds and momenta after the collision must be
   v_A_after = +10.25 --> p_A_after = +51.25
   v_B_after = +10.25 --> p_B_after = +30.75
   p_total_after = p_A_after+p_B_after = +82
The velocity changes during the collision are thyus
   Delta_v_A = v_A_after - v_A_before = +10.25 - +11 = -0.75
   Delta_v_B = v_B_after - v_B_before = +10.25 -  +9 = +1.25
and the momentum changes during the collision are
   Delta_p_A = p_A_after-p_A_before = +51.25 - +55 = -3.75
   Delta_p_B = p_B_after-p_B_before = +30.75 - +27 = +3.75

Notice how the velocity changes during the collision, AND the momentum
changes and A <--> B transfers during the collision, are exactly the same
as when we analyzed the collision in Luigi's original IRF.

-- 
-- "Jonathan Thornburg [remove -color to reply]" <dr.j.thornburg@gmail-pink.com>
   (he/him; currently on the west coast of Canada)
   "[I'm] Sick of people calling everything in crypto a Ponzi scheme.
    Some crypto projects are pump and dump schemes, while others are pyramid
    schemes.  Others are just standard issue fraud.  Others are just middlemen
    skimming off the top.  Stop glossing over the diversity in the industry."
                                                 -- Pat Dennis, 2022-04-25

[toc] | [prev] | [next] | [standalone]


#11729 — Re: inelastic collision (was: Re: Newton e Hooke)

FromLuigi Fortunati <fortunati.luigi@gmail.com>
Date2025-03-03 08:09 +0000
SubjectRe: inelastic collision (was: Re: Newton e Hooke)
Message-ID<vq2ekr$u7jg$1@dont-email.me>
In reply to#11727
Jonathan Thornburg [remove -color to reply] il 01/03/2025 10:18:54 ha 
scritto:
> ...

I improved my animation https://www.geogebra.org/classic/c4ruteax where 
the particles are atoms that compress in the collision and then expand 
again without detaching and the central dots are the atomic nuclei.

> ...

> In article <vps7vq$3laqc$1@dont-email.me>, Luigi Fortunati replied
>> Body B has a momentum -3 and, therefore, cannot transfer -3.75 to body 
>> A because it does not have it.
>
> This is mistaken.  (Linear) momentum doesn't have an inherent zero point,
> so there's never a case where one body doesn't have enough momentum to
> transfer some to another body.  Rather, momentum is analogous to position
> on a number line, where being at position -3 doesn't prevent you from moving
> a distance 3.75 either to the right or to the left.
>
> One way to "see this in action" is to consider what the collision would
> look like if analyzed in a different inertial reference frame (IRF).  For
> example, let's consider an IRF which is moving to with a velocity v=-10
> (i.e., moving the left at a speed of 10) with respect to Luigi's original
> IRF.  In this new IRF, each velocity is the velocity in Luigi's original
> IRF + 10.
>
> In this new IRF, the speeds and momenta before the collision are
>    v_A_before = +11 --> p_A_before = +55
>    v_B_before =  +9 --> p_B_before = +27
>    p_total_before = p_A_before+p_B_before = +82
> so that after the collision, the total momentum must also be p=+82.  Hence
> the common body of mass 8 must be moving at a speed of p/m = +10.25 after
> the collision, and A and B's speeds and momenta after the collision must be
>    v_A_after = +10.25 --> p_A_after = +51.25
>    v_B_after = +10.25 --> p_B_after = +30.75
>    p_total_after = p_A_after+p_B_after = +82
> The velocity changes during the collision are thyus
>    Delta_v_A = v_A_after - v_A_before = +10.25 - +11 = -0.75
>    Delta_v_B = v_B_after - v_B_before = +10.25 -  +9 = +1.25
> and the momentum changes during the collision are
>    Delta_p_A = p_A_after-p_A_before = +51.25 - +55 = -3.75
>    Delta_p_B = p_B_after-p_B_before = +30.75 - +27 = +3.75
>
> Notice how the velocity changes during the collision, AND the momentum
> changes and A <--> B transfers during the collision, are exactly the same
> as when we analyzed the collision in Luigi's original IRF.

We are in complete agreement on this, I also say that the variation of 
the momentum of body A is
Delta_p_A=p_A_after-p_A_before=-3.75
and the variation of the momentum of body B is
Delta_p_B=p_B_after-p_B_before=+3.75

So, on the variations of the momentum quantities we both say the same 
thing.

What differentiates us is the *force* FB_A (of body B on body A) which 
for you is -3.75 and for me is -3.

From a physical point of view, the force FA_B (that body A exerts on 
body B) is nothing other than the force that particle A1 exerts on 
particle B1 because A1 and B1 are the only particles of the 2 bodies 
that touch.

And the force FB_A (that body B exerts on body A) is nothing other than 
the force that particle B1 exerts on particle A1.

If only particles A1 and B1 existed, they could only exchange their 
small opposing forces +1 and -1, and nothing else.

Since they exchange much larger forces, it means that they receive some 
help to increase their paltry forces.

Obviously, particle A1 is reinforced by the particles A2-A5 behind it, 
which, inside body A, transmit their positive forces forward to A1 
where they accumulate, to then discharge themselves on particle B1.

And in body B, the particles B2 and B3 behind it do the same, which 
transmit their negative forces forward to the left to B1 where they 
accumulate, to then discharge themselves on particle A1.

These are physical considerations and not just mathematical ones.

Could you explain to me how it is possible that the particle B1 where 
the negative forces of only 2 particles (B2 and B3) accumulate, can 
exert the *same* force as the particle A1 where the positive forces 
that accumulate (and push) are exactly double since they come from 4 
particles behind (A2, A3, A5 and A5) and not from 2?

Ciao.

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | sci.physics.research


csiph-web