33#ifndef PFC_INITIAL_CONDITIONS_RANDOM_SEEDS_HPP
34#define PFC_INITIAL_CONDITIONS_RANDOM_SEEDS_HPP
38#include "../field_modifier.hpp"
45 double m_density, m_amplitude;
49 double get_amplitude()
const {
return m_amplitude; }
51 double get_density()
const {
return m_density; }
55 std::vector<Seed>
seeds;
57 const double radius = 20.0;
65 std::mt19937_64
re(42);
69 std::uniform_real_distribution<double>
ro(0.0, 8.0 *
atan(1.0));
70 using vec3 = std::array<double, 3>;
85 pfc::field::apply(
m, get_field_name(), [
seeds](
const pfc::Real3 &
X) {
87 if (
seed.is_inside(
X)) {
88 return seed.get_value(
X);
Definition field_modifier.hpp:240
The Model class represents the physics model for simulations in OpenPFC.
Definition model.hpp:95
Definition random_seeds.hpp:44
void apply(Model &m, double) override
Apply the field modification to the model (pure virtual)
Definition random_seeds.hpp:53
Seed is a helper class to construct various of initial conditions.
Definition seed.hpp:39
Functional, coordinate-space field operations (header-only)
Helper class for constructing spherical seed initial conditions.
Represents the global simulation domain (the "world").
Definition world.hpp:91