#pragma once

#include <array>
#include <cstdint>
#include <string>
#include <vector>

#include <fesa/model/ids.hpp>

namespace fesa {

struct PrescribedDof final {
    NodeId node;
    std::uint8_t dof;
    double value;
};

struct NodalLoad final {
    NodeId node;
    std::array<double, 6> values;
};

struct StepDefinition final {
    std::string name;
    std::vector<PrescribedDof> prescribed_dofs;
    std::vector<NodalLoad> nodal_loads;
};

}  // namespace fesa
