23 template<
class Tvec,
template<
class>
class SPHKernel>
31 if (track_particles_id) {
35 if (has_field_uint()) {
40 if (has_field_alphaAV()) {
44 if (has_field_divv()) {
48 if (has_field_dtdivv()) {
52 if (has_field_curlv()) {
56 if (has_field_soundspeed()) {
64 if (has_field_B_on_rho()) {
71 if (has_field_psi_on_ch()) {
75 if (has_field_divB()) {
79 if (has_field_curlB()) {
83 if (dust_config.has_epsilon_field()) {
84 u32 ndust = dust_config.get_dust_nvar();
89 if (dust_config.has_deltav_field()) {
90 u32 ndust = dust_config.get_dust_nvar();
95 if (compute_luminosity) {
111 if (should_save_dt_to_fields()) {
116 template<
class Tvec,
template<
class>
class SPHKernel>
117 void SolverConfig<Tvec, SPHKernel>::set_ghost_layout(
120 ghost_layout.
add_field<Tscal>(
"hpart", 1);
121 ghost_layout.
add_field<Tscal>(
"uint", 1);
124 if (has_axyz_in_ghost()) {
127 ghost_layout.
add_field<Tscal>(
"omega", 1);
129 if (ghost_has_soundspeed()) {
130 ghost_layout.
add_field<Tscal>(
"soundspeed", 1);
133 if (has_field_B_on_rho()) {
134 ghost_layout.
add_field<Tvec>(
"B/rho", 1);
137 if (has_field_psi_on_ch()) {
138 ghost_layout.
add_field<Tscal>(
"psi/ch", 1);
141 if (has_field_curlB()) {
142 ghost_layout.
add_field<Tvec>(
"curlB", 1);
145 if (dust_config.has_epsilon_field()) {
146 u32 ndust = dust_config.get_dust_nvar();
147 ghost_layout.
add_field<Tscal>(
"epsilon", ndust);
150 if (dust_config.has_deltav_field()) {
151 u32 ndust = dust_config.get_dust_nvar();
152 ghost_layout.
add_field<Tvec>(
"deltav", ndust);
std::uint32_t u32
32 bit unsigned integer
std::uint64_t u64
64 bit unsigned integer
void add_field(const std::string &field_name, u32 nvar, SourceLocation loc=SourceLocation{})
add a field of type T to the layout
namespace for math utility
namespace for the sph model
The configuration for a sph solver.