NEWS
TesiproV 0.9.6 (2026-04-22)
MC_IS estimator correction and reliability analysis improvements
Monte Carlo Importance Sampling (MC_IS)
- Corrected the MC_IS estimator to remove bias caused by the previous self-normalized implementation.
- Refactored worker aggregation in
MC_IS_single to ensure correct accumulation of
weighted samples and consistent global statistics.
- Workers now compute weights directly and return aggregated statistics instead of raw sample vectors.
System reliability analysis
- Fixed incorrect propagation of
sys_type from calculateSystemProbability() to MC_IS_system(),
ensuring that serial and parallel systems are evaluated correctly.
- Resolved cases of uninitialized variables in the system worker (
mode_ids, shift, and references to I_matrix).
- Enabled multimodal sampling for both serial and parallel systems.
Performance improvements
- Optimized the transformation from u-space to x-space by removing large intermediate
matrices and computing quantiles column-wise.
- Replaced large failure indicator matrices with incremental counters to significantly reduce memory usage.
- Reduced worker-to-master communication in parallel runs by returning only aggregated statistics.
Validation and testing
- Added regression tests for
MC_IS_single, including linear limit-state cases,
non-normal distributions, and rare-event scenarios.
- Added system reliability tests comparing results with
MC_CRUDE.
- Verified consistency with FORM results within expected Monte Carlo error.
TesiproV 0.9.5 (2026-03-24)
Major refactoring of object classes
System and reliability objects
- Reworked all reference classes (
SYS_PROB, SYS_PARAM, SYS_LSF, PROB_BASEVAR, …).
- Introduced explicit constructors with argument validation for better error handling.
- Improved consistency between mean, standard deviation and coefficient of variation.
- Added robust forward/backward transformations for all supported distributions.
- Fixed handling of zero mean values (
Cov <- Inf) to reflect infinite relative scatter.
Limit-state functions
- Field type for
func changed from "function" to "ANY" with explicit default NULL.
This prevents creation of dummy closures and allows proper missing-function detection.
- Enhanced
$check() method:
- Distinguishes between missing, empty, and valid limit-state functions.
- Provides informative error messages used by automated tests.
Parametric study objects
- Constructor of
SYS_PARAM now correctly forwards arguments to parent class (callSuper(...))
ensuring that inherited fields like sys_input are preserved.
- Parallel execution restructured using the global future plan set in
.onLoad().
The outer level is capped by environment variable TesiproV.max_workers
(default: 4 cores) while inner Monte-Carlo methods manage their own threads.
Probabilistic base variables
- Complete rewrite of transformation logic in
$prepare():
- Supports normal, lognormal, Gumbel, gamma, beta and Weibull distributions consistently.
- Corrected implementation of the Gumbel distribution
(location parameter now properly computed as
location = Mean + digamma(1) * scale; scale derived via (Sd * sqrt(6)) / π).
- Added numerical root search for Weibull shape parameter when empirical formula fails.
- Added empirical, shifted lognormal, Student-t and logStudent-t distribution.
- Distribution caching via digest hash implemented in
$getlDistr() for performance improvement.
Package infrastructure
- Added internal
.onLoad() function for package-specific default options that can later be used by TesiproV
functions to configure parallel execution in a controlled and CRAN-compliant way.
Minor improvements
- Better formatted output in
$printResults().
- Consistent English comments throughout codebase for clarity and documentation generation via roxygen2.
- Updated examples in help pages to match new constructors and usage patterns.
Compatibility notes
Existing scripts using older class definitions should continue to work after minor adjustments:
replace direct field assignments by constructor arguments where applicable,
and ensure that limit-state functions are defined before calling $check().
TesiproV 0.9.2.0
Better implementation of parallel computing in Unix and macOS environments.
Changed RNG handling in parallel approach.
TesiproV 0.9.1.0
© 2021–2026 K. Nille-Hauf, T. Feiri, M. Ricker, T. Lux -- Hochschule Biberach (until 2022), TU Dortmund University – Chair of Structural Concrete (since 2023)