Skip to content

AnalysisManager

AnalysisManager

AnalysisManager(mesh_maker: Model)

Manager-owned analysis stack for one Model model.

Attributes

_mesh_maker instance-attribute

_mesh_maker = mesh_maker

_analyses instance-attribute

_analyses: Dict[int, Analysis] = {}

_names instance-attribute

_names: Dict[str, Analysis] = {}

_start_tag instance-attribute

_start_tag = 1

_tagging instance-attribute

_tagging = CompactRetagPolicy[Analysis]()

test instance-attribute

test = TestManager(self)

constraint instance-attribute

constraint = ConstraintHandlerManager(self)

numberer instance-attribute

numberer = NumbererManager(self)

system instance-attribute

system = SystemManager(self)

algorithm instance-attribute

algorithm = AlgorithmManager(self)

integrator instance-attribute

integrator = IntegratorManager(self)

Methods:

add

add(analysis: Analysis) -> Analysis

static

static(name: str, constraint_handler: ConstraintHandler, numberer: Numberer, system: System, algorithm: Algorithm, test: Test, integrator: StaticIntegrator, num_steps: int) -> Analysis

Create and register a static Analysis.

Parameters:

Name Type Description Default
name str

Unique analysis name.

required
constraint_handler ConstraintHandler

Constraint handler for boundary-condition enforcement.

required
numberer Numberer

Degree-of-freedom numberer.

required
system System

Linear solver system.

required
algorithm Algorithm

Nonlinear solution algorithm.

required
test Test

Convergence test.

required
integrator StaticIntegrator

Static integrator.

required
num_steps int

Number of static analysis steps.

required

Returns:

Type Description
Analysis

The registered Analysis instance.

transient

transient(name: str, constraint_handler: ConstraintHandler, numberer: Numberer, system: System, algorithm: Algorithm, test: Test, integrator: TransientIntegrator, dt: float | None = None, num_steps: int | None = None, final_time: float | None = None, dt_min: float | None = None, dt_max: float | None = None, num_sublevels: int | None = None, num_substeps: int | None = None) -> Analysis

Create and register a transient Analysis.

Parameters:

Name Type Description Default
name str

Unique analysis name.

required
constraint_handler ConstraintHandler

Constraint handler for boundary-condition enforcement.

required
numberer Numberer

Degree-of-freedom numberer.

required
system System

Linear solver system.

required
algorithm Algorithm

Nonlinear solution algorithm.

required
test Test

Convergence test.

required
integrator TransientIntegrator

Transient integrator.

required
dt float | None

Constant time-step increment. Required unless both dt_min and dt_max are provided.

None
num_steps int | None

Optional number of transient steps.

None
final_time float | None

Optional end time. Exactly one of num_steps or final_time must be provided.

None
dt_min float | None

Optional first time step for a linear time-step ramp.

None
dt_max float | None

Optional last time step for a linear time-step ramp.

None
num_sublevels int | None

Optional transient sublevel count for retry logic.

None
num_substeps int | None

Optional transient substep count for retry logic.

None

Returns:

Type Description
Analysis

The registered Analysis instance.

variable_transient

variable_transient(name: str, constraint_handler: ConstraintHandler, numberer: Numberer, system: System, algorithm: Algorithm, test: Test, integrator: TransientIntegrator, dt: float, dt_min: float, dt_max: float, jd: int, num_steps: int | None = None, final_time: float | None = None, num_sublevels: int | None = None, num_substeps: int | None = None) -> Analysis

Create and register a variable-transient Analysis.

Parameters:

Name Type Description Default
name str

Unique analysis name.

required
constraint_handler ConstraintHandler

Constraint handler for boundary-condition enforcement.

required
numberer Numberer

Degree-of-freedom numberer.

required
system System

Linear solver system.

required
algorithm Algorithm

Nonlinear solution algorithm.

required
test Test

Convergence test.

required
integrator TransientIntegrator

Transient integrator.

required
dt float

Initial time-step increment.

required
dt_min float

Minimum allowable time step.

required
dt_max float

Maximum allowable time step.

required
jd int

Desired number of iterations per step.

required
num_steps int | None

Optional number of transient steps.

None
final_time float | None

Optional end time. Exactly one of num_steps or final_time must be provided.

None
num_sublevels int | None

Optional transient sublevel count for retry logic.

None
num_substeps int | None

Optional transient substep count for retry logic.

None

Returns:

Type Description
Analysis

The registered Analysis instance.

default_transient

default_transient(username: str, dt: float, num_steps: int | None = None, final_time: float | None = None, options: dict | None = None) -> Analysis

get

get(identifier: Union[int, str, Analysis]) -> Analysis

get_all

get_all() -> Dict[int, Analysis]

remove

remove(identifier: Union[int, str, Analysis]) -> None

clear

clear() -> None

set_tag_start

set_tag_start(start_tag: int) -> None

update_constraint_handler

update_constraint_handler(identifier: Union[int, str, Analysis], constraint_handler: ConstraintHandler) -> None

update_numberer

update_numberer(identifier: Union[int, str, Analysis], numberer: Numberer) -> None

update_system

update_system(identifier: Union[int, str, Analysis], system: System) -> None

update_algorithm

update_algorithm(identifier: Union[int, str, Analysis], algorithm: Algorithm) -> None

update_test

update_test(identifier: Union[int, str, Analysis], test: Test) -> None

update_integrator

update_integrator(identifier: Union[int, str, Analysis], integrator: Integrator) -> None

_reassign_tags

_reassign_tags() -> None