DaRUS (University of Stuttgart)
Not a member yet
2037 research outputs found
Sort by
A Modular Framework for Non-Linear Optimization of Linear Viscoelastic Model Parameters using a Second-Order Fractional Approach
This repository presents a reproducible workflow for fitting the Linear Second-order Fractional (LSF) model to mastercurves of thermoplastic polymers.
The dataset is associated with the publication Fauser et al. (2025) and complements the dataset Data Sets for a Fractional Moisture-Dependent Viscoelasticity Model for Thermoplastic Polymers.
The LSF model effectively captures the broad relaxation spectra typical of polymers, but its interdependent parameters require robust non-linear optimization. To ensure clarity and maintainability, the fitting workflow is organized into three modular components: Viscoelastic Models Class (models.py) Configuration File (configuration_file.py) Model Fitting Notebook (main.ipynb)
1. Viscoelastic Models Class (models.py) This module serves as the core library of constitutive models. Each model is implemented as a self-contained, object-oriented class. Purpose Encapsulate mathematical definitions of viscoelastic models, enabling modular extensions and reuse. Key Component: The LSF Model The Second-Order Fractional (LSF) model is defined by its complex modulus:
E*(ω) = (Ξ₀ + (iω)^α₁ Ξ₁ + (iω)^α₂ Ξ₂) / (Λ₀ + (iω)^α₁ Λ₁ + (iω)^α₂ Λ₂)
Parameters:
Ξ₀, Ξ₁, Ξ₂ → strain-related coefficients
Λ₀, Λ₁, Λ₂ → stress-related coefficients
α₁, α₂ → fractional exponents
Parent Class: ViscoelasticityModel
Defines methods for computing the real/imaginary parts of the complex modulus, as well as the storage modulus, loss modulus, and loss factor:
class ViscoelasticityModel(torch.nn.Module):
"""
Parent class for viscoelasticity models
"""
def __init__(self):
super().__init__()
def complexModulus(self, w):
raise Exception
def forward(self, w):
comp = self.complexModulus(w)
return comp.imag / comp.real
def storageModulus(self,w):
comp = self.complexModulus(w)
return comp.real
def lossModulus(self,w):
comp = self.complexModulus(w)
return comp.imag
Subclass: SecondOrderFractionalDerivativeModel Implements the LSF model, with parameters represented as torch.nn.Parameter for optimization. A scaling factor normalizes experimental and model data for stability.
class SecondOrderFractionalDerivativeModel(ViscoelasticityModel):
"""
Class for a second order derivative model
(G0 + d/dt^alpha G1 + d/dt^beta G2) stress
= (E0 + d/dt^alpha E1 + d/dt^beta E2) strain
"""
def __init__(self,E0,E1,E2,G0,G1,G2,alpha,beta):
super().__init__()
self.E0 = torch.nn.Parameter(E0 * torch.ones(1, dtype=torch.float64))
self.E1 = torch.nn.Parameter(E1 * torch.ones(1, dtype=torch.float64))
self.E2 = torch.nn.Parameter(E2 * torch.ones(1, dtype=torch.float64))
# normalize G0 to 1, G0 is not fitted
self.G0 = 1 * torch.ones(1, dtype=torch.float64)
self.G1 = torch.nn.Parameter(G1 * torch.ones(1, dtype=torch.float64))
self.G2 = torch.nn.Parameter(G2 * torch.ones(1, dtype=torch.float64))
self.alpha1 = torch.nn.Parameter(alpha * torch.ones(1, dtype=torch.float64))
self.alpha2 = torch.nn.Parameter(beta * torch.ones(1, dtype=torch.float64))
def complexModulus(self, w):
w = w[:,None]
iw = torch.view_as_complex(torch.cat((torch.zeros(w.size()),w),1))
iw_alpha1 = iw ** self.alpha1
iw_alpha2 = iw ** self.alpha2
comp = ((self.E0 + self.E1 * iw_alpha1 + self.E2 * iw_alpha2)
/ (self.G0 + self.G1 * self.E1 * iw_alpha1 + self.G2 * self.E2 * iw_alpha2))
return comp
2. Configuration File (configuration_file.py)
This module centralizes all hyperparameters for non-linear optimization. Separating configuration ensures reproducibility, readability, and simplified parameter tuning.
Example
def get_diaplex_50_optimization_params():
dict = {}
dict["lr"] = 1e-3
dict["n_iter"] = 40000
dict["data_range"] = [5e-6,1e4]
dict["w_threshold"] = 0.0032
dict["w_left"] = 1
dict["w_right"] = 2
dict["criterion"] = torch.nn.MSELoss(reduction="sum")
return dict
Key Parameters lr → learning rate for Adam optimizer n_iter → number of optimization iterations data_range → frequency range for fitting w_threshold → frequency of peak loss factor w_left, w_right → weighting around w_threshold criterion → loss function (L2 norm)
3. Model Fitting (main.ipynb)
The Jupyter notebook orchestrates the full workflow for fitting fractional viscoelastic models to experimental mechanical data.
It performs data loading, preprocessing, model definition, and optimization of material parameters using Adam optimizer.
Workflow Overview
Load configuration and utilities
Imports helper functions and parameters from configuration_file.py:
get_diaplex_filenames() — returns paths to experimental CSV data.
get_diaplex_50_optimization_params() — provides hyperparameters (learning rate, iteration count, weighting, etc.).
Initializes the fractional viscoelastic model SecondOrderFractionalDerivativeModel for each dataset.
Load and preprocess experimental data
Reads CSV files, extracts and sorts:
Extensional Reduced Frequency
Extensional Storage Modulus (E′)
Extensional Loss Modulus (E″)
Data are converted to PyTorch tensors for GPU-based optimization.
Define training configuration
For each dataset:
Finds the frequency corresponding to the loss peak (tan δ = E″/E′).
Loads optimization settings: criterion, lr, n_iter, w_left, w_right, and data_range.
Computes data_scaling to weight frequency ranges differently around the loss peak.
Optimization Loop
for t in tqdm(range(n_iter)):
pred = models[key](angfreq[key][indices[key]])
meas = ((lossmod[key])/(stormod[key]))[indices[key]]
loss = criterion(meas/meas * data_scaling, pred/meas * data_scaling)
optimizer.zero_grad()
loss.backward()
optimizer.step()
The optimization minimizes the difference between measured and predicted loss factor (tan δ).
Weighting (w_left, w_right) emphasizes frequencies below or above the loss peak for improved robustness.
Convergence depends strongly on initial guesses, data range, and learning rate.
Visualization and Output
After convergence, the notebook produces log–log plots comparing model predictions and measurements:
Loss factor (tan δ)
Storage modulus (E′)
Figures are saved as *_fig_loss_factor.pdf and *_fig_storage_modulus.pdf, ready for publication.
Key Notes
Convergence sensitivity: Good initial parameter guesses and suitable step sizes are essential.
Weighting strategy: Improves robustness near the loss peak, particularly for noisy data.
Modular design: New datasets or model variants can be added easily through configuration files.
4. Fitted Parameters
In addition to the Python scripts for non-linear optimization, this repository also provides the fitted parameters of each master curve. These parameters, published in the related dataset
(Data Sets for a Fractional Moisture-Dependent Viscoelasticity Model for Thermoplastic Polymers), are available for both the LSF model and the Generalized Maxwell model.
</p
Simulation Results for Versatile Absorption Modeling for Transmissive Optical Elements Using Ray Tracing and Finite Element Analysis
Emerging quality requirements in modern optical systems increase the need for
accurate simulation and compensation of disturbances. One key disturbance in
high-power laser applications results from thermal loading due to absorption.
The related paper presents a flexible modeling approach for absorption based on ray
tracing, where point heat sources are defined along ray paths. In addition, several
methods for mapping these point heat sources along the ray path to the finite
element mesh are introduced and compared. A major advantage of the proposed
approach lies in its flexibility, as it enables the simulation of transient phenomena
such as dynamic beam positioning and time-dependent variations in beam shape.
The presented video shows the time-dependent temperature evolution on the front surface of the investigated lens which is transmitted by a Gaussian laser beam moving along a circular trajectory
Replication Data for: Data-Parallel RBF Interpolation
This dataset contains software (preCICE and ASTE) as well as setup and result files to reproduce the numerical experiments in Section 5.2 of my dissertation titled "Flexible and Efficient Data Mapping for Simulation of Coupled Problems". For further instructions on how to run the experiments see the README.md of the dataset
Source Code and Video: 2D versus 2.5D Layer Arrangement for Animal Behaviour Multiplex Networks
This Data contains the Unity Program, especially written for the experiment published in the paper: 2D versus 2.5D Layer Arrangement for Animal Behaviour Multiplex Networks. It contains a network from an open-access dataset, which can be viewed under the study conditions.
Furthermore, a video displays in first person the view through a VR HMD on the networks
Input files and workflow scripts for molecular simulations of salt crystal growth under supersaturation
Set of GROMACS molecular dynamics input scripts, Python helper tools, and workflow scripts for simulating salt precipitation under controlled supersaturation. The repository provides:
Atomistic crystal slab configurations for NaCl, KCl, and Na2SO4;
Non-equilibrium crystal growth via reservoir ion-exchange;
Direct-coexistence solubility measurement inputs;
WHAM/MBAR scripts for ion-adsorption free-energy calculations;
</ul
Software and Data for: Interactive delineation and quantification of anatomical structure with virtual reality
This dataset contains the supplemental materials, the used tools, and the release of the software presented in the paper Interactive delineation and quantification of anatomical structure with virtual reality. The dataset is structured in the typical order of data processing:
Imaging
Tomographic Reconstruction
Brainacle Software (Delineation, Quantification)
Supplementary Figures (Analysis)
For usage and installation instructions please refer to the specific metadata.
Other software used in the pipeline, in particular, Syrmep Tomo Project (STP) v1.5.3, Fiji (portable, no java), NIfTI Input/Output plug-in, and 7-Zip, may be obtained from the point of contact in the case of changes to the software or inavailability from the respective website. These have been preserved in a separate DRAFT dataset here on DaRUS.
Paper abstract
Background
Full tissue segmentation is laborious, especially for non-model organisms, whereas accurate and reliable delineation still requires much firsthand visual inspection.
A virtual environment can be equipped with suitable data representations, interaction techniques, and method interfaces as to enable the interactive delineation and quantification of anatomical structure.
Situated in such an environment, analysts can benefit from reduced pre-processing, but also from in-situ learning and collaboration.
Results
Therefore, we apply virtual reality as a method to visualise and derive higher-level anatomical features from low-level descriptors.
Following voxel-size calibration, scalable delineations and measurements are performed in virtual reality.
The data representation for delineation is volume visualisation: a volume rendering or an isosurface mesh.
Two delineation techniques are proposed for the placement and editing of points and segments in virtual reality.
For quantification, different measures and metrics can be computed for each delineated region.
To mitigate some of the fundamental challenges of virtual reality, e. g., mid-air interaction affecting precision at a distance, different virtual-reality affordances were considered as part of the design.
As a result, we present Brainacle, a virtual reality application, and make its usage freely available.
We incorporate Brainacle in a synchrotron tomography reconstruction pipeline to delineate and quantify the gross brain regions of 20 individuals from six species of African cichlid fish.
Conclusion
Brainacle, an editor for the interactive delineation and quantification of anatomical structures in virtual reality, is applicable to different biological pipelines and workflows.
In particular, Brainacle can be used to quickly gain an overview of structure, ease repetitive delineation and measurement, and visually inspect and communicate findings
Supplemental Material for "Quantifying Energy Reduction of Foveated Volume Visualization"
Supplemental Material for "Quantifying Energy Reduction of Foveated Volume Visualization." It contains the measurements that are the basis for the discussion in the paper. These measurements investigate the energy consumption of foveated volume visualization:
non-foveated direct volume rendering (DVR)
foveated variable rate shading (VRS)
foveated rendering variant based on Linde-Buzo-Gray stippling (LBG)
The variants were tested with unlimited and limited (at least 30ms per frame) frame rates on an NVIDIA Geforce RTX 3090 Ti and an NVIDIA Geforce RTX 4090.
Power samples were captured with Tinkerforge bricklets and the NVIDIA driver (NVML).Tinkerforge Sensor Map:
12VHPWR: "Ugu," "Ufm," "Uft," "UgH," "UgF," "UeW."
PCIe Slot: "UfN," "U6Q."
P4: "Ugo."
P8: "Ugx."
</ol
Supplementary Videos for: Robustly optimal dynamics for active matter reservoir computing (Gaimann and Klopotek, 2025)
This dataset contains supplementary videos for the publication "Robustly optimal dynamics for active matter reservoir computing" (Gaimann and Klopotek, 2025)
The videos show active matter systems (swarms) driven by an external force. These swarm systems can be used to predict the future trajectory of the external driving force using reservoir computing. Their default external driving protocol is the chaotic attractor Lorenz-63, but we also employ the attractors Hénon-Heiles, Rössler, Chua, and Lorenz-96 as benchmarks. Agents are colored by their current speed. The driver is marked as a black spiked ball, follows a fixed trajectory specified by the driving protocol, and exerts a repulsive force on the agents. The past positions of agents and drivers in a time window of 0.1 time units (5 integration time steps of 0.02 time units as default) are displayed as traces. Agents experience local alignment, local repulsion, global attraction (homing) to the center of the simulation box, speed control towards a constant agent speed, and local driver repulsion. A sigmoid force clamp (wrapper) processes and limits the total force experienced by each agent. The simulation uses periodic boundary conditions. Velocity fluctuations are colored by their orientation; the green cross indicates the center of mass.
Each video corresponds to a specific parameter combination or a point in a parameter scan presented in the corresponding publication, or to a specific parameter combination.
We provide videos for the following parameter scans:
speed-controller
speed-controller (velocity fluctuations)
speed-controller, with an integration time step of 2e-3
speed-controller, without external driving (undriven)
speed-controller, with a single agent
speed-controller, with 500 agents (overdamped phenomenology)
speed-controller, with initial transient (burn-in phase)
speed-controller, with Hénon-Heiles driving protocol
speed-controller, with Rössler driving protocol
speed-controller, with Chua driving protocol
speed-controller, with Lorenz-96 driving protocol
damping analysis, with non-interacting agents
damping analysis, with interacting agents
alignment force, with speed-controller settings of Lymburn et al. (2021)
homing force, with varied speed-controller strength
reproduction of the dynamical regimes analyzed in Lymburn et al. (2021) (Fig. 7)
We also provide visualizations of the time evolution of chaotic attractors that we use as driving protocols:
Lorenz-63
Hénon–Heiles
Rössler
Chua
Lorenz-96
The raw data used to generate these videos is published as:
Gaimann, M. U., & Klopotek, M. (2025). Replication Data for: Robustly optimal dynamics for active matter reservoir computing (Gaimann and Klopotek, 2025). DaRUS. https://doi.org/10.18419/DARUS-4620.
Changelog
V2
Added videos showing active matter systems with random uniform driving with different driver update intervals (every 1, 2, 5, 10 steps) for parameter combinations of the speed-controller parameter scan, used for the computation of the short-term memory capacity
</p
Microfluidic experiments on single pore-filling instabilities with varying wettability, capillary number and viscosity ratio
Microfluidic experiments performed at the Multi-Scale Porous Media Lab, Environmental Hydrogeology group, Earth Sciences, Utrecht University.
Investigation of single pore fillings under three different intrinsic pore wall wettabilities, three flow rates and two viscosity ratios with simultaneous pressure recording.
Naming convention for videos *.tif:
ContactAngle_FlowRate_Fluid1Fluid2_FramesInOriginalVideo_imageType.tif
e.g.: 60_Q1_water_air_3330-3710_TD.tif
Naming convention for pressure data in *.txt files:
ContactAngle_FlowRate_pressure_Fluid1Fluid2.txt
We acknowledge funding by the German Research
Foundation (DFG), within the Collaborative Research Center on Interface-Driven Multi-Field
Processes in Porous Media (SFB 1313, Project No. 327154368
Replication Data for: Improving Data-based Trajectory Generation by Quadratic Programming for Redundant Mobile Manipulators
Dataset containing 36000 trajectories generated by an Optimal Control Problem (OCP) for a mobile manipulator with 10 degrees of freedom. The OCP is solved for an initial joint state configuration and a unique randomly chosen desired tool-center-point (TCP) target pose which lies within a certain goal region. The desired TCP
position is computed by drawing samples from a uniform distribution for each
coordinate. In order to obtain uniformly distributed desired TCP orientations, unit quaternions are used. Only the desired rotation matrices leading to trajectories which are not ending in singularities are kept.
A fully connected feedforward neural network (NN) is used as regression model to predict the optimal trajectories given by the OCP. The dataset is used to train, test and validate the NN. All data is normalized between [-1;1]. The input consists of the start joint position, the corresponding start TCP pose and the TCP desired target pose. In order to reduce the dimensionality of the input layer, the orientation is described via quaternions. The output consists of the optimal joint positions and velocities for each collocation point k ∈ [0; N], the joint accelerations for k ∈ [0; N−1] and the optimal end time. Here N=5 is used