8 #include "io/xml_schemas/checkpoint/checkpoint_schema.h"
9 #include "io/xml_schemas/simulation_input/simulation_input_schema.h"
68 const SimulationInterceptorsType& interceptors,
ThirdDimension third_dimension,
69 std::variant<SimulationParams::DirectSumType, SimulationParams::LinkedCellsType> container_type);
78 const ParticleContainerType& container_type);
111 static std::tuple<std::vector<std::shared_ptr<SimpleForceSource>>, std::vector<std::shared_ptr<PairwiseForceSource>>,
112 std::vector<std::shared_ptr<TargettedForceSource>>>
114 const std::variant<SimulationParams::DirectSumType, SimulationParams::LinkedCellsType>& container_data);
122 static std::array<double, 3>
convertToVector(
const DoubleVec3Type& vector);
138 static std::tuple<long, double, double>
convertToTuple(
const ConnectedParticleEntryType& entry);
ThirdDimension
Enum class to define the dimension count of the simulation (2D or 3D). Affects primarily the dimensio...
Class to spawn particles in a cuboid. Implements the interface ParticleSpawner.
BoundaryCondition
Boundary type enum for labeling the sides of the domain.
Class to represent a particle.
Class to spawn particles of a soft body in a cuboid. Implements the interface ParticleSpawner.
Class to spawn particles in a Sphere. Implements the interface ParticleSpawner.
Class to convert XSD types to internal types.
static SoftBodyCuboidSpawner convertToSoftBodyCuboidSpawner(const SoftBodySpawnerType &soft_body_cuboid, ThirdDimension third_dimension)
Converts a soft body cuboid from the XSD format to the internal format.
static SphereSpawner convertToSphereSpawner(const SphereSpawnerType &sphere, ThirdDimension third_dimension)
Converts a sphere from the XSD format to the internal format.
static std::tuple< std::vector< std::shared_ptr< SimpleForceSource > >, std::vector< std::shared_ptr< PairwiseForceSource > >, std::vector< std::shared_ptr< TargettedForceSource > > > convertToForces(const ForcesType &forces, const std::variant< SimulationParams::DirectSumType, SimulationParams::LinkedCellsType > &container_data)
Converts a force type from the XSD format to the internal format.
static LinkedCellsContainer::BoundaryCondition convertToBoundaryCondition(const BoundaryType &boundary)
Converts a boundary type from the XSD format to the internal format.
static std::variant< SimulationParams::DirectSumType, SimulationParams::LinkedCellsType > convertToParticleContainer(const ParticleContainerType &container_type)
Converts a container type from the XSD format to the internal format.
static std::array< LinkedCellsContainer::BoundaryCondition, 6 > convertToBoundaryConditionsArray(const BoundaryConditionsType &boundary)
Converts a boundary conditions type from the XSD format to the internal format.
static Particle convertToParticle(const ParticleType &particle)
Converts a particle type from the XSD format to the internal format.
static CuboidSpawner convertToSingleParticleSpawner(const SingleParticleSpawnerType &particle, ThirdDimension third_dimension)
Converts a particle from the XSD format to the internal format.
static std::array< double, 3 > convertToVector(const DoubleVec3Type &vector)
Converts a double vector from the XSD format to the internal format.
static std::tuple< long, double, double > convertToTuple(const ConnectedParticleEntryType &entry)
Converts a connected particle entry from the XSD format to the internal format.
static std::vector< std::shared_ptr< SimulationInterceptor > > convertToSimulationInterceptors(const SimulationInterceptorsType &interceptors, ThirdDimension third_dimension, std::variant< SimulationParams::DirectSumType, SimulationParams::LinkedCellsType > container_type)
Converts the simulation interceptors from the XSD format to the internal format.
static CuboidSpawner convertToCuboidSpawner(const CuboidSpawnerType &cuboid, ThirdDimension third_dimension)
Converts a cuboid from the XSD format to the internal format.