Skip to content

Classes documentation

Danilo Cavalcanti edited this page Mar 30, 2026 · 15 revisions

The program adopts the Object Oriented Programming (OOP) paradigm. Below is the UML diagram of the main classes.

In UML class diagrams, abstract superclasses are represented using italic font and relationships such as generalization, composition, and dependency are indicated with distinct arrow types. Generalization represents a hierarchical "is-a" relationship between a general abstract superclass (arrowhead end) and a specialized derived subclass (tail end). Composition defines a strong "part-whole" relationship in which one class, the part (tail end), is owned by and cannot exist independently of another class, the whole (arrowhead end annotated with multiplicity, where * indicates an indefinite number of part instances). Dependency represents a weaker "client-supplier" relationship in which one class, the client (tail end), uses or depends on another class, the supplier (arrowhead end), but does not own or contain it.

Model classes

Model classes

Model

RegularElement classes

RegularElement

EnrichedElement classes

DiscontinuityElement classes

DiscontinuityElement

Shape classes

Shape

Material classes

MaterialDiscontinuity classes

Material classes

Material type classes

Mechanical law classes

MechanicalLaw

RelativePermeability

RelativePermeability

CapillaryPressure

CapillaryPressure

Analysis classes

Analysis classes