TesiproV 0.9.6
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.
- 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
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)