Skip to content

Commit

Permalink
postprocess fields don't need boundary conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
landinjm committed Feb 20, 2025
1 parent 4decb51 commit 9c8db8e
Show file tree
Hide file tree
Showing 38 changed files with 979 additions and 701 deletions.
18 changes: 9 additions & 9 deletions applications/CHAC_anisotropy/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,24 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.082 * 16.0 / (userInputs.domain_size[0] / 4.0) +
(3.0 * n * n - 2.0 * n * n * n);
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
scalar_IC =
0.082 * 16.0 / (userInputs.size[0] / 4.0) + (3.0 * n * n - 2.0 * n * n * n);
}
else
{
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
}

// --------------------------------------------------------------------------
Expand Down
18 changes: 9 additions & 9 deletions applications/CHAC_anisotropyRegularized/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,24 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.082 * 16.0 / (userInputs.domain_size[0] / 4.0) +
(3.0 * n * n - 2.0 * n * n * n);
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
scalar_IC =
0.082 * 16.0 / (userInputs.size[0] / 4.0) + (3.0 * n * n - 2.0 * n * n * n);
}
else if (index == 1)
{
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
33 changes: 15 additions & 18 deletions applications/CHiMaD_benchmarks/CHiMaD_benchmark6b/customPDE.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,8 @@ customPDE<dim, degree>::create_triangulation(

if (dim == 2)
{
box_corner = Point<dim>(userInputs.domain_size[0], userInputs.domain_size[1]);
semicircle_origin =
Point<dim>(userInputs.domain_size[0], userInputs.domain_size[1] / 2.0);
box_corner = Point<dim>(userInputs.size[0], userInputs.size[1]);
semicircle_origin = Point<dim>(userInputs.size[0], userInputs.size[1] / 2.0);
}

GridGenerator::subdivided_hyper_rectangle(tria_box,
Expand All @@ -138,7 +137,7 @@ customPDE<dim, degree>::create_triangulation(

GridGenerator::half_hyper_ball(tria_semicircle,
semicircle_origin,
userInputs.domain_size[1] / 2.0);
userInputs.size[1] / 2.0);

// Find the two non-corner vertices on the right side of the rectangular mesh
Point<dim> pt1;
Expand All @@ -148,14 +147,13 @@ customPDE<dim, degree>::create_triangulation(
for (unsigned int i = 0; i < GeometryInfo<dim>::vertices_per_cell; ++i)
{
Point<dim> &v = cell->vertex(i);
if ((std::abs(v(0) - userInputs.domain_size[0]) < 1e-10) &&
(v(1) > userInputs.domain_size[1] / 2.0) &&
(v(1) < userInputs.domain_size[1] - 1.0e-10))
if ((std::abs(v(0) - userInputs.size[0]) < 1e-10) &&
(v(1) > userInputs.size[1] / 2.0) && (v(1) < userInputs.size[1] - 1.0e-10))
{
pt1 = v;
}
if ((std::abs(v(0) - userInputs.domain_size[0]) < 1e-10) &&
(v(1) < userInputs.domain_size[1] / 2.0) && (v(1) > 1.0e-10))
if ((std::abs(v(0) - userInputs.size[0]) < 1e-10) &&
(v(1) < userInputs.size[1] / 2.0) && (v(1) > 1.0e-10))
{
pt2 = v;
}
Expand All @@ -169,14 +167,13 @@ customPDE<dim, degree>::create_triangulation(
for (unsigned int i = 0; i < GeometryInfo<dim>::vertices_per_cell; ++i)
{
Point<dim> &v = cell->vertex(i);
if ((std::abs(v(0) - userInputs.domain_size[0]) < 1e-10) &&
(v(1) > userInputs.domain_size[1] / 2.0) &&
(v(1) < userInputs.domain_size[1] - 1.0e-10))
if ((std::abs(v(0) - userInputs.size[0]) < 1e-10) &&
(v(1) > userInputs.size[1] / 2.0) && (v(1) < userInputs.size[1] - 1.0e-10))
{
v(1) = pt1(1);
}
if ((std::abs(v(0) - userInputs.domain_size[0]) < 1e-10) &&
(v(1) < userInputs.domain_size[1] / 2.0) && (v(1) > 1.0e-10))
if ((std::abs(v(0) - userInputs.size[0]) < 1e-10) &&
(v(1) < userInputs.size[1] / 2.0) && (v(1) > 1.0e-10))
{
v(1) = pt2(1);
}
Expand All @@ -200,8 +197,8 @@ customPDE<dim, degree>::create_triangulation(
const Point<dim> cell_center = cell->center();
const double distance_from_center = cell_center.distance(semicircle_origin);

if (cell_center[0] > userInputs.domain_size[0] + 1.0e-10 &&
distance_from_center > 0.1 * userInputs.domain_size[1])
if (cell_center[0] > userInputs.size[0] + 1.0e-10 &&
distance_from_center > 0.1 * userInputs.size[1])
{
cell->set_all_manifold_ids(8);
}
Expand Down Expand Up @@ -230,7 +227,7 @@ customPDE<dim, degree>::create_triangulation(
cell->face(face_number)->set_boundary_id(2 * i);
}
else if (std::fabs(cell->face(face_number)->center()(i) >
(userInputs.domain_size[i])))
(userInputs.size[i])))
{
cell->face(face_number)->set_boundary_id(2 * i + 1);
}
Expand All @@ -242,7 +239,7 @@ customPDE<dim, degree>::create_triangulation(
cell->face(face_number)->set_boundary_id(2 * i);
}
else if (std::fabs(cell->face(face_number)->center()(i) -
(userInputs.domain_size[i])) < 1e-12)
(userInputs.size[i])) < 1e-12)
{
cell->face(face_number)->set_boundary_id(2 * i + 1);
}
Expand Down
4 changes: 2 additions & 2 deletions applications/allenCahn_conserved/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
2 changes: 1 addition & 1 deletion applications/allenCahn_conserved/equations.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ customPDE<dim, degree>::explicitEquationRHS(
// scalarvalueType eq_n = (n-constV(userInputs.dtValue*MnV)*mu);
// Conserved version
scalarvalueType mu_av =
constV(integrated_mu / (userInputs.domain_size[0] * userInputs.domain_size[1]));
constV(integrated_mu / (userInputs.size[0] * userInputs.size[1]));
scalarvalueType eq_n = (n - constV(userInputs.dtValue * MnV) * (mu - mu_av));

// --- Submitting the terms for the governing equations ---
Expand Down
4 changes: 2 additions & 2 deletions applications/alloySolidification/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
18 changes: 9 additions & 9 deletions applications/anisotropyFacet/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,24 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.082 * 16.0 / (userInputs.domain_size[0] / 4.0) +
(3.0 * n * n - 2.0 * n * n * n);
r = std::sqrt(r);
double n = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
scalar_IC =
0.082 * 16.0 / (userInputs.size[0] / 4.0) + (3.0 * n * n - 2.0 * n * n * n);
}
else if (index == 1)
{
r = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
r += (p[dir] - userInputs.domain_size[dir] / 2.0) *
(p[dir] - userInputs.domain_size[dir] / 2.0);
r +=
(p[dir] - userInputs.size[dir] / 2.0) * (p[dir] - userInputs.size[dir] / 2.0);
}
r = std::sqrt(r);
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.domain_size[0] / 4.0) / 4.0));
scalar_IC = 0.5 * (1.0 - std::tanh((r - userInputs.size[0] / 4.0) / 4.0));
}
else
{
Expand Down
4 changes: 2 additions & 2 deletions applications/cahnHilliard/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
4 changes: 2 additions & 2 deletions applications/corrosion/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
double deltaV = std::sqrt(2.0 * epssqV);
double posx = p[0];
double posy = p[1];
double cx = 0.5 * userInputs.domain_size[0];
double cy = userInputs.domain_size[1];
double cx = 0.5 * userInputs.size[0];
double cy = userInputs.size[1];
double rad = std::sqrt((posx - cx) * (posx - cx) + (posy - cy) * (posy - cy));
double n0pro = 0.5 * (1.0 - std::tanh((rad0 - rad) / deltaV));

Expand Down
4 changes: 2 additions & 2 deletions applications/corrosion_microgalvanic/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ customPDE<dim, degree>::setInitialCondition(
// zCoordinate of the point considered
// double posz = p[2];

const double SYSTEM_WIDTH = userInputs.domain_size[0];
const double SYSTEM_HEIGHT = userInputs.domain_size[1];
const double SYSTEM_WIDTH = userInputs.size[0];
const double SYSTEM_HEIGHT = userInputs.size[1];

double hyperTan = tanh((abs(posx - 1 * SYSTEM_WIDTH) - 1 * cathodeThickness) / deltaV);
double height = 0.5 * SYSTEM_HEIGHT;
Expand Down
4 changes: 2 additions & 2 deletions applications/dendriticSolidification/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
14 changes: 6 additions & 8 deletions applications/fickianDiffusion/equations.cc
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,15 @@ customPDE<dim, degree>::explicitEquationRHS(

double t_1 = 0.2 * T;
double tau_1 = 0.2 * T;
scalarvalueType x_1 = constV(0.6 * userInputs.domain_size[0]);
scalarvalueType y_1 = constV(0.2 * userInputs.domain_size[1]);
scalarvalueType L_1 =
constV(0.01 * (userInputs.domain_size[0] + userInputs.domain_size[1]));
scalarvalueType x_1 = constV(0.6 * userInputs.size[0]);
scalarvalueType y_1 = constV(0.2 * userInputs.size[1]);
scalarvalueType L_1 = constV(0.01 * (userInputs.size[0] + userInputs.size[1]));

double t_2 = 0.6 * T;
double tau_2 = 0.2 * T;
scalarvalueType x_2 = constV(0.3 * userInputs.domain_size[0]);
scalarvalueType y_2 = constV(0.7 * userInputs.domain_size[1]);
scalarvalueType L_2 =
constV(0.01 * (userInputs.domain_size[0] + userInputs.domain_size[1]));
scalarvalueType x_2 = constV(0.3 * userInputs.size[0]);
scalarvalueType y_2 = constV(0.7 * userInputs.size[1]);
scalarvalueType L_2 = constV(0.01 * (userInputs.size[0] + userInputs.size[1]));

scalarvalueType source_term1 =
100.0 * std::exp(-(t - t_1) / tau_1 * (t - t_1) / tau_1) *
Expand Down
20 changes: 9 additions & 11 deletions applications/grainGrowth/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -111,37 +111,35 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &

for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center_list[index][dir] * userInputs.domain_size[dir]) *
(p[dir] - center_list[index][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center_list[index][dir] * userInputs.size[dir]) *
(p[dir] - center_list[index][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

scalar_IC +=
0.5 * (1.0 - std::tanh((dist - rad[index] * userInputs.domain_size[0]) / 0.5));
0.5 * (1.0 - std::tanh((dist - rad[index] * userInputs.size[0]) / 0.5));

dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center_list[index + 5][dir] * userInputs.domain_size[dir]) *
(p[dir] - center_list[index + 5][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center_list[index + 5][dir] * userInputs.size[dir]) *
(p[dir] - center_list[index + 5][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

scalar_IC +=
0.5 *
(1.0 - std::tanh((dist - rad[index + 5] * userInputs.domain_size[0]) / 0.5));
0.5 * (1.0 - std::tanh((dist - rad[index + 5] * userInputs.size[0]) / 0.5));

dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center_list[index + 10][dir] * userInputs.domain_size[dir]) *
(p[dir] - center_list[index + 10][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center_list[index + 10][dir] * userInputs.size[dir]) *
(p[dir] - center_list[index + 10][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

scalar_IC +=
0.5 *
(1.0 - std::tanh((dist - rad[index + 10] * userInputs.domain_size[0]) / 0.5));
0.5 * (1.0 - std::tanh((dist - rad[index + 10] * userInputs.size[0]) / 0.5));
}
else
{
Expand Down
4 changes: 2 additions & 2 deletions applications/nucleationModel_preferential/customPDE.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,11 +201,11 @@ customPDE<dim, degree>::adaptive_refinement_criterion()
// limit the maximal and minimal refinement depth of the mesh
unsigned int current_level = t_cell->level();

if ((mark_refine && current_level < userInputs.max_refinement_level))
if ((mark_refine && current_level < userInputs.max_refinement))
{
cell->set_refine_flag();
}
else if (!mark_refine && current_level > userInputs.min_refinement_level)
else if (!mark_refine && current_level > userInputs.min_refinement)
{
cell->set_coarsen_flag();
}
Expand Down
16 changes: 8 additions & 8 deletions applications/precipitateEvolution/ICs_and_BCs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
{3.0 / 4.0, 1.0 / 4.0, 0.5},
{1.0 / 4.0, 3.0 / 4, 0.5}
};
double rad[4] = {userInputs.domain_size[0] / 16.0,
userInputs.domain_size[0] / 16.0,
userInputs.domain_size[0] / 16.0,
userInputs.domain_size[0] / 16.0};
double rad[4] = {userInputs.size[0] / 16.0,
userInputs.size[0] / 16.0,
userInputs.size[0] / 16.0,
userInputs.size[0] / 16.0};
double orientation[4] = {1, 1, 2, 3};
double dx = userInputs.domain_size[0] / ((double) userInputs.subdivisions[0]) /
std::pow(2.0, userInputs.refine_factor);
double dx = userInputs.size[0] / ((double) userInputs.subdivisions[0]) /
std::pow(2.0, userInputs.global_refinement);
double dist;
scalar_IC = 0;

Expand All @@ -42,8 +42,8 @@ customPDE<dim, degree>::setInitialCondition([[maybe_unused]] const Point<dim> &
dist = 0.0;
for (unsigned int dir = 0; dir < dim; dir++)
{
dist += (p[dir] - center[i][dir] * userInputs.domain_size[dir]) *
(p[dir] - center[i][dir] * userInputs.domain_size[dir]);
dist += (p[dir] - center[i][dir] * userInputs.size[dir]) *
(p[dir] - center[i][dir] * userInputs.size[dir]);
}
dist = std::sqrt(dist);

Expand Down
Loading

0 comments on commit 9c8db8e

Please sign in to comment.