--- /dev/null
+Fixed: The building process now works well with MPI option on Windows system.
+If configured properly, we can explore the capability of distributed computing
+on Windows system within Deal.II framework.
+<br>
+(Daniel Sun, 2022/04/26)
interpolation_difference(dof1, u1, dof2.get_fe(), u1_difference);
else
{
- internal::interpolation_difference(
+ internal::interpolation_difference<dim, InVector, OutVector, spacedim>(
dof1, constraints1, u1, dof2, constraints2, u1_difference);
}
}
volume(const Triangulation<dim, spacedim> &tria,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Return an approximation of the diameter of the smallest active cell of a
const Triangulation<dim, spacedim> &triangulation,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Return an approximation of the diameter of the largest active cell of a
const Triangulation<dim, spacedim> &triangulation,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Given a list of vertices (typically obtained using
const Triangulation<dim, spacedim> &container,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Find and return the index of the closest vertex to a given point in the
const Point<spacedim> & position,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Compute a globally unique index for each vertex and hanging node
for (const auto ghost_owner : ghost_owners)
neighbor_cell_list[ghost_owner] = {};
- process_cells([&](const auto &cell, const auto key) {
+ process_cells([&](const auto &cell, const auto key) -> void {
if (cell_filter(cell))
- neighbor_cell_list[key].emplace_back(
- cell->id().template to_binary<spacedim>());
+ {
+ constexpr int spacedim = MeshType::space_dimension;
+ neighbor_cell_list[key].emplace_back(
+ cell->id().template to_binary<spacedim>());
+ }
});
Assert(ghost_owners.size() == neighbor_cell_list.size(),
Cache(const Triangulation<dim, spacedim> &tria,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Destructor.
AffineConstraints<double> & constraints,
const Mapping<dim, spacedim> &mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* This function does the same as the
AffineConstraints<double> & constraints,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Compute the constraints that correspond to boundary conditions of the
AffineConstraints<double> & constraints,
const Mapping<dim, spacedim> &mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* Same as above for homogeneous tangential-flux constraints.
AffineConstraints<double> & constraints,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
//@}
} // namespace VectorTools
ParticleHandler<dim, spacedim> & particle_handler,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* A function that generates one particle at a random location in cell @p cell and with
std::mt19937 & random_number_generator,
const Mapping<dim, spacedim> &mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* A function that generates one particle at a random location in cell @p cell and with
ParticleHandler<dim, spacedim> &particle_handler,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
- .template get_default_linear_mapping<dim, spacedim>()));
+#ifndef _MSC_VER
+ .template get_default_linear_mapping<dim, spacedim>()
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
+#endif
+ ));
/**
* A function that generates particles randomly in the domain with a
ParticleHandler<dim, spacedim> & particle_handler,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
+#ifndef _MSC_VER
.template get_default_linear_mapping<dim, spacedim>()),
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()),
+#endif
const unsigned int random_number_seed = 5432);
ParticleHandler<dim, spacedim> &particle_handler,
const Mapping<dim, spacedim> & mapping =
(ReferenceCells::get_hypercube<dim>()
+#ifndef _MSC_VER
.template get_default_linear_mapping<dim, spacedim>()),
+#else
+ .ReferenceCell::get_default_linear_mapping<dim, spacedim>()),
+#endif
const ComponentMask & components = ComponentMask(),
const std::vector<std::vector<double>> &properties = {});