Downloads

Available Programs for Download

Below is a list of programs I have developed and are available for download:

Program Animation

Escalmax: Program for Solving Articulated Bar Structures

Introduction to the Program

This program is designed for the analysis and resolution of articulated bar structures at their ends, a technique commonly used in metallic structural engineering. The program allows for solving both 2D and 3D structures, considering an approach based on first-order elasticity and using matrix methods to calculate displacements and stresses.

Articulated bar structures, also known as trusses or lattices, consist of straight elements connected at nodes that allow for the transmission of forces without generating moments. These structures are widely used in construction due to their ability to support large loads with relatively low weight.

The program is specifically designed to facilitate the analysis of this type of structure using efficient and precise routines. With it, engineers can quickly obtain internal forces and displacements of the bars, ensuring that the structure meets safety and functionality requirements.

How to Use the Program to Solve Articulated Bar Structures

This program is designed to solve structures formed by articulated bars at their ends, commonly used in metallic structures. It is based on first-order elasticity and matrix methods to calculate the displacements and forces in the structure’s nodes and bars. Below, we explain how to use the program and the key concepts behind its operation.

Step 1: Define the Structure
  • Number of Nodes: Nodes are the points where the bars connect. Each node must be numbered consecutively.
  • Number of Bars: Each bar connects two nodes. You need to indicate the total number of bars and their characteristics, such as their length and cross-sectional area.
  • Node Coordinates: Enter the coordinates of the nodes in a Cartesian coordinate system (X, Y for 2D or X, Y, Z for 3D).
  • Bar Properties: Specify each bar's properties, such as the modulus of elasticity (E) and the cross-sectional area (A). The product EA is key to calculating displacements.
Step 2: Input Loads and Supports
  • Loads: Specify the forces applied to the nodes in the X and Y directions (or Z for 3D).
  • Supports: Define the structure's supports, which can be rigid (no displacement) or elastic (allowing small displacement controlled by a stiffness constant).
Step 3: Run the Calculation

Once the above parameters are defined, the program uses the matrix method to solve the problem:

  • Assemble the Stiffness Matrix: This matrix relates forces in the nodes to displacements. For each bar, a matrix is built that accounts for the bar's length, orientation, and stiffness.
  • Solve the System of Equations: The program solves a system of linear equations where the unknowns are the node displacements, and the independent terms are the applied loads.
  • Calculate the Forces: Once the displacements are obtained, they are used to calculate the axial forces in each bar.
Step 4: Interpret the Results
  • Displacements: Presented in meters (or in defined units), showing how much each node moves due to the applied loads.
  • Axial Forces: The internal forces in the bars are expressed in tons or equivalent force units, allowing you to assess if the bars are within the allowable stress limits.
Technical Considerations

The program ensures that the displacements at the ends of the bars match the displacements at the corresponding nodes and that the equilibrium of forces is maintained at each node. Additionally, it uses first-order elasticity, meaning that the method assumes small deformations and that the structure remains within the elastic range, i.e., no plastic deformations occur.

Download Escalmax New

Download Escalmax Old

Navigate through the Mathematica Notebooks of a Physical-Mathematical Model of the Human Eye

Throughout the study of the human eye from a biomechanical perspective, a stochastic model has been developed that describes both the structure and dynamic behavior of the eyeball. This model takes into account the mechanical properties of the eye, its components, shape, and external forces acting upon it, such as the ocular muscles.

The eye is primarily modeled as an ellipsoidal system, with the cornea and the eyeball represented as prolate ellipsoids. This provides an accurate approximation of the shape of the eye. Geometric and mechanical parameters of the eye, such as corneal thickness, external radius, and asphericity, among others, are considered to create a three-dimensional model. Additionally, the normal oscillation modes of the eye, external forces, and the behavior of the eye as a rotating solid are considered, allowing for predictions of its dynamic response.

Download noteboks

Use the following links to navigate through the notebooks:

Program Animation

Solar: Program for Calculating Spectral Transmittance and Irradiance

Introduction to the Program

Solar is an advanced program designed to calculate spectral transmittance and spectral irradiance, as well as other parameters essential for analyzing energy fluxes through the Earth's atmosphere. The program also calculates daily extraterrestrial irradiance, solar time, and various parameters critical for studying energy flows in the atmosphere.

The program takes into account complex atmospheric processes, such as Rayleigh scattering (scattering by small molecules and particles) and Mie scattering (scattering caused by larger particles like aerosols and water droplets). These phenomena are key in determining how solar radiation interacts with the Earth's atmosphere.

By allowing users to input atmospheric spectral data via detailed tables, the program can simulate a wide range of atmospheric conditions. This makes it a flexible and powerful tool for studies related to energy flux, solar energy, and climate science.

How to Use Solar for Atmospheric Energy Flux Calculations

This program is designed to compute energy fluxes through the atmosphere, focusing on processes like spectral transmittance and irradiance. It incorporates both first-principles calculations and user-supplied atmospheric data to perform precise energy flow simulations. Below is a guide on how to use the program effectively:

Step 1: Input Spectral Data
  • Spectral Transmittance Tables: Users can input atmospheric data, such as transmittance values across different wavelengths. These tables can represent atmospheric compositions, particle distributions, and other optical properties.
  • Daily Extraterrestrial Irradiance: The program calculates extraterrestrial irradiance before it enters the Earth's atmosphere, essential for baseline energy flow analysis.
  • Atmospheric Conditions: Provide additional parameters, such as the amount of aerosols, humidity, and gas concentrations like ozone, to simulate different atmospheric scenarios.
Step 2: Run the Scattering Calculations
  • Rayleigh Scattering: The program models the scattering of solar radiation by small atmospheric molecules, significantly affecting ultraviolet and visible wavelengths.
  • Mie Scattering: Simulates the effect of larger particles, like dust and aerosols, on the scattering of radiation. This is essential for understanding how pollution or other atmospheric conditions impact solar energy transmission.
Step 3: Interpret the Results

Once the calculations are complete, the program provides output for a range of parameters, including:

  • Spectral Irradiance: The amount of solar energy that reaches the Earth's surface, measured across different wavelengths.
  • Atmospheric Transmittance: A breakdown of how much solar radiation is absorbed or scattered by the atmosphere before reaching the surface.
Step 4: Technical Considerations

The program ensures that atmospheric parameters like scattering and absorption are accurately factored into the calculation of energy fluxes. By taking into account real-time solar time and using first-order atmospheric models, it provides accurate data for solar energy applications and climate studies.

Download Solar
Program Animation

Pacumo: Quantum Simulation Program

Program Introduction

Pacumo is an advanced program designed to numerically solve the Schrödinger equation in the context of quantum mechanics, with the goal of simulating the interaction of a wave packet with a potential barrier. It uses implicit methods such as Crank-Nicholson for solving the discretized partial differential equation.

The program allows the study of quantum phenomena, such as reflection and transmission of waves, as well as free propagation in space. It is ideal for analyzing how a wave packet behaves before, during, and after interacting with the potential barrier.

How to Use Pacumo for Quantum Simulations

Pacumo is designed to perform quantum simulations, analyzing the interaction of a wave packet with a potential barrier. Below is the usage process:

Step 1: Define Initial Parameters
  • Wave Packet: Set the initial momentum and initial position of the wave packet. These parameters determine the velocity and starting point of the packet in the simulation.
  • Potential Barrier: Set the height and width of the potential barrier for the simulation. The interaction of the wave packet with the barrier will depend on these values.
Step 2: Run the Simulation
  • Free Propagation: The program simulates the propagation of the wave packet in a vacuum, without initial interaction. This process allows visualization of how the wave packet evolves over time before encountering the barrier.
  • Interaction with the Barrier: The wave packet interacts with the potential barrier, resulting in reflected waves and transmitted waves, depending on the barrier parameters and the packet's momentum.
Step 3: Interpret the Results

Once the simulation is complete, the program provides the following results:

  • Wave Function: The numerical solution of the Schrödinger equation is presented as a complex wave function in real time.
  • Probability Density: The program visualizes the probability density of the wave packet throughout its propagation and after the interaction.
Step 4: Technical Considerations

Pacumo ensures that the total probability is conserved during the simulation, both for the reflected and transmitted parts. The program can handle complex numbers systems to solve differential equations accurately.

Download Pacumo
Program Animation

The Lighthouse Problem

The lighthouse problem is a classic exercise used to demonstrate how prior knowledge or information influences probability estimation in the context of Bayesian statistics.

Problem Description

Imagine a lighthouse located along the coastline at an unknown position α, along the beach, and at a fixed distance β offshore. The lighthouse emits pulses of light in random directions. A set of detectors on the coast can register the arrival of the pulses but not the exact direction from which they came. Based on the positions of the detected rays {xk} on the coast and knowing the distance β, the objective is to estimate the position α of the lighthouse.

Bayesian Solution

Given that β and the positions of the detected rays {xk} are known, the mathematical relationship defining the position of a ray on the coast is given by the equation:
x_k = α + β * tan(θ_k)

Using Bayes' theorem, the posterior probability of the lighthouse's position α, given the information of the detected rays {xk}, is expressed as:
prob(α|{x_k}, β, I) ∝ prob(xk|α, β, I) * prob(α|β, I)
Where prob(α|β, I) is the prior probability of the position α, and prob(x_k|α, β, I) is the probability density function (PDF) describing the distribution of the detected rays, which follows a Cauchy distribution.

The key to the problem lies in how the probability is updated as more data from the detected rays is collected. With more information, the posterior probability becomes more precise and better approximates the true position of the lighthouse.

Dynamic Knowledge Evolution

Bayesian statistics allow for the dynamic modeling of knowledge. The process begins with a prior probability, reflecting what is known (or unknown) about the lighthouse's position before observing the data. In the absence of information, the prior probability is usually uniform, meaning all positions along the coast are equally probable. However, if there is prior knowledge, for example, about a range where the lighthouse is likely to be, this knowledge can be incorporated into the initial estimation.

Each time a ray is detected on the coast, the prior probability is updated using the newly observed information. This updating process generates a new, more precise posterior probability. With each new observation, the Bayesian model adjusts the beliefs about the lighthouse's position, and the probability becomes increasingly concentrated around the true location.

If the prior knowledge is accurate or close to reality, the convergence process towards the correct solution is rapid. Even when the initial knowledge is incorrect or imprecise, collecting enough data allows for gradual corrections and refinement of the estimation.

Refining Knowledge Through Bayesian Inference

Bayesian inference not only allows the incorporation of prior knowledge but also continuously improves it through the observation of data. This update cycle is iterative and dynamic: each new observation (each new detected ray) provides information that adjusts the posterior probability. As more observations are gathered, the model is refined and converges toward the true position of the lighthouse.

The use of Bayes' theorem enables continuous refinement of the lighthouse position estimate by effectively combining prior knowledge with new observations. If one starts from complete ignorance about the position of α, the collected data gradually adjust the posterior probability. If prior knowledge is reasonable, it accelerates convergence towards the correct solution.

Download the lighthouse program

Animation of the MTF of the human eye

Modulation Transfer Function (MTF) of the Human Eye

This program is based on the doctoral thesis of María Rosario González Anera, professor at the University of Granada. Her research analyzes the Modulation Transfer Function (MTF) of the human eye, using different optical models of the eye obtained through detailed procedures.

Program Description

The program allows loading several models of the human eye, compiled and provided by Pepe Fernández Dorado. These models simulate the polychromatic MTF in various configurations, and have been incorporated into the system by the author of this website. The project’s goal is to use this tool to enhance understanding of the MTF in Vision Physics practices since 2006.

Classroom Usage

This program was designed by the author of this website for students of the fifth year of the former Physics degree at the University of Granada, specifically for Vision Physics practices. With it, students can explore how human eye models influence the perceived image quality, analyzing aspects such as chromatic aberration and light dispersion.

Simulated Eye Models

The models implemented in this program include the classic Gullstrand model, as well as more recent models like Liou & Brennan, which take into account the refractive index variation within the lens. These simulations allow the study of image quality projected onto the retina under different optical conditions.

Download the MTF program