adtzlr / felupe

:mag: finite element analysis for continuum mechanics of solid bodies
https://felupe.readthedocs.io/
GNU General Public License v3.0
81 stars 11 forks source link

Sketch the basic concept with sequence diagrams #848

Open adtzlr opened 2 months ago

adtzlr commented 2 months ago

The idea is to graphically represent the classes which are needed to setup and solve a model. These diagrams could be used in the docs or in a JOSS article. Probably they need to be simplified (e.g. only Field instead of Field, FieldAxisymmetric, ...).

Region and Fields

flowchart LR
    A[Mesh] --> D[Region]
    B[Element] --> D[Region]
    C[Quadrature] --> D[Region]
    D --> E[Field]
    D --> F[FieldAxisymmetric]
    D --> G[FieldPlaneStrain]
    E --> H(list of fields)
    F --> H
    G --> H
    H --> K[FieldContainer]

Degrees of Freedom by Boundary Conditions

flowchart LR
    A[Field] --> B[Boundary 1] --> E(dict of boundaries)
    A --> C[Boundary 2] --> E
    A --> D[Boundary ...] --> E

or

flowchart LR
    A[FieldContainer] --> B(dof.uniaxial, dof.shear, etc.)
    B --> C(dict of boundaries)

Solid Bodies

flowchart LR
    A[FieldContainer] --> C[SolidBody]
    B[ConstitutiveMaterial] --> C
    C --> D(sparse vector/matrix)

Step

flowchart LR
    A[SolidBody 1] --> B[list of items]
    F[SolidBody 2] --> B
    G[SolidBody ...] --> B
    B --> C[Step]
    D(dict of boundaries) --> C
    E(dict of ramped items and boundaries) ---> C

Job

flowchart LR
    A[Step 1] --> B(list of steps)
    E[Step 2] --> B
    F[Step ...] --> B
    B --> C[Job]
    C[Job] -.-> D[time-series XDMF result file]
tkoyama010 commented 2 months ago

Awesome graph! If you are interested in submitting to JOSS, we recommend to use our pyOpenSci Reviews Scientific Python Software to get support for submitting to JOSS. You can get your library reviewed to see if it follows Python library best practices. Of course, you can also submit to JOSS without our support :)

adtzlr commented 2 months ago

Thanks for pointing that out @tkoyama010! I opened a pre-submission issue https://github.com/pyOpenSci/software-submission/issues/211.

tkoyama010 commented 2 months ago

Awesome! I cannot wait to read your JOSS paper.

adtzlr commented 3 weeks ago

The sequence diagrams were simplified for the paper draft and are stored here: https://github.com/adtzlr/felupe-paper (private). Will soon be public available.