Controlling Solver Verbosity
NonlinearSolve.jl provides fine-grained control over diagnostic messages, warnings, and errors through the verbose keyword argument. The verbosity system allows you to control what information is displayed during the solve process. See SciMLLogging.jl for more details.
NonlinearSolveBase.NonlinearVerbosity — TypeNonlinearVerbosity <: AbstractVerbositySpecifierVerbosity configuration for NonlinearSolve.jl solvers, providing fine-grained control over diagnostic messages, warnings, and errors during nonlinear system solution.
Fields
Error Control Group
non_enclosing_interval: Messages when interval doesn't enclose root (bracketing methods)alias_u0_immutable: Messages when aliasing u0 with immutable arraylinsolve_failed_noncurrent: Messages when linear solve fails on non-current iterationtermination_condition: Messages about termination conditions
Numerical Group
threshold_state: Messages about threshold state in low-rank methods
Linear Solver Group
linear_verbosity: Verbosity configuration for linear solvers
Constructors
NonlinearVerbosity(preset::AbstractVerbosityPreset)Create a NonlinearVerbosity using a preset configuration:
SciMLLogging.None(): All messages disabledSciMLLogging.Minimal(): Only critical errors and fatal issuesSciMLLogging.Standard(): Balanced verbosity (default)SciMLLogging.Detailed(): Comprehensive debugging informationSciMLLogging.All(): Maximum verbosityNonlinearVerbosity(; errorcontrol=nothing, performance=nothing, numerical=nothing, linearverbosity=nothing, kwargs...)
Create a NonlinearVerbosity with group-level or individual field control.
Examples
# Use a preset
verbose = NonlinearVerbosity(SciMLLogging.Standard())
# Set entire groups
verbose = NonlinearVerbosity(
error_control = SciMLLogging.WarnLevel(),
numerical = SciMLLogging.InfoLevel()
)
# Set individual fields
verbose = NonlinearVerbosity(
alias_u0_immutable = SciMLLogging.WarnLevel(),
threshold_state = SciMLLogging.InfoLevel()
)
# Mix group and individual settings
verbose = NonlinearVerbosity(
numerical = SciMLLogging.InfoLevel(), # Set all numerical to InfoLevel
threshold_state = SciMLLogging.ErrorLevel() # Override specific field
)