Skip to content

NormDispOrUnbalanceTest

NormDispOrUnbalanceTest

NormDispOrUnbalanceTest(tol_incr: float, tol_r: float, max_iter: int, print_flag: int = 0, norm_type: int = 2, max_incr: int = -1)

Bases: Test

Norm displacement increment OR unbalance force convergence test.

NormDispOrUnbalanceTest achieves convergence if either the displacement increment norm OR the unbalanced force norm satisfies its respective tolerance.

Tcl form

test NormDispOrUnbalance <tolIncr> <tolR> <maxIter> <printFlag> <normType> <maxIncr>

Example
from femora.core.model import Model

model = Model()
test = model.analysis.test.normdisporunbalance(
    tol_incr=1e-6,
    tol_r=1e-6,
    max_iter=100,
    print_flag=1,
    norm_type=2,
    max_incr=-1,
)

Create a NormDispOrUnbalance convergence test.

Parameters:

Name Type Description Default
tol_incr float

Tolerance for displacement increment norm.

required
tol_r float

Tolerance for unbalanced force residual norm.

required
max_iter int

Maximum number of iterations to perform before returning failure.

required
print_flag int

Print control flag. 0 prints nothing, 1 prints norm info each iteration, 2 prints norms and iterations at success, 4 prints norms, displacement, and residual vectors, 5 prints warnings only.

0
norm_type int

Mathematical norm type to use. 0 for Max-norm, 1 for 1-norm, 2 for 2-norm (default).

2
max_incr int

Maximum times the error can increase before giving up. Use -1 for default.

-1