Skip to content

Commit 7a5d98a

Browse files
correction
1 parent 813f3a6 commit 7a5d98a

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

modules/elastodynamics/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ if(FEMUTILS_HAS_SOLVER_BACKEND_HYPRE)
138138
add_test(NAME [elastodynamics]Dirichlet_traction_bodyforce COMMAND Elastodynamics
139139
inputs/bar.dirichlet.traction.bodyforce.arc)
140140

141-
arcanefem_add_gpu_test(NAME [elastodynamics]2D_bar_bsr_bsr COMMAND ./Elastodynamics ARGS
141+
arcanefem_add_gpu_test(NAME [elastodynamics]2D_bar_hypre_bsr COMMAND ./Elastodynamics ARGS
142142
-A,//fem/matrix-format=BSR
143143
${SOLVER_HYPRE_CG}
144144
inputs/bar.arc)
@@ -158,4 +158,8 @@ if(FEMUTILS_HAS_SOLVER_BACKEND_HYPRE)
158158
${SOLVER_HYPRE_CG}
159159
inputs/bar.3D.arc)
160160

161+
add_test(NAME [elastodynamics]3D_truncated-cube_hypre_pointBc_Penalty COMMAND Elastodynamics
162+
-A,//fem/matrix-format=AF-BSR
163+
${SOLVER_HYPRE_CG}
164+
inputs/truncated-cube.pointBC.arc)
161165
endif()

modules/elastodynamics/Dirichlet.h

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,29 @@ _applyDirichlet(VariableDoFReal& rhs_values, const IndexedNodeDoFConnectivityVie
3838

3939
BC::IArcaneFemBC* bc = options()->boundaryConditions();
4040
if (bc) {
41-
for (BC::IDirichletBoundaryCondition* bs : bc->dirichletBoundaryConditions())
42-
if (bs->getEnforceDirichletMethod() == "Penalty")
41+
for (BC::IDirichletBoundaryCondition* bs : bc->dirichletBoundaryConditions()) {
42+
if (bs->getEnforceDirichletMethod() == "Penalty") {
4343
ArcaneFemFunctions::BoundaryConditions::applyDirichletToLhsAndRhs(bs, node_dof, m_linear_system, rhs_values);
44+
}
4445
else {
4546
if (t <= dt)
4647
ArcaneFemFunctions::BoundaryConditions::applyDirichletToLhsAndRhs(bs, node_dof, m_linear_system, rhs_values);
4748
else
4849
ArcaneFemFunctions::BoundaryConditions::applyDirichletToRhs(bs, node_dof, rhs_values);
4950
}
51+
}
5052

51-
for (BC::IDirichletPointCondition* bs : bc->dirichletPointConditions())
52-
if (bs->getEnforceDirichletMethod() == "Penalty")
53+
for (BC::IDirichletPointCondition* bs : bc->dirichletPointConditions()) {
54+
if (bs->getEnforceDirichletMethod() == "Penalty") {
5355
ArcaneFemFunctions::BoundaryConditions::applyPointDirichletToLhsAndRhs(bs, node_dof, m_linear_system, rhs_values);
56+
}
5457
else {
5558
if (t <= dt)
5659
ArcaneFemFunctions::BoundaryConditions::applyPointDirichletToLhsAndRhs(bs, node_dof, m_linear_system, rhs_values);
5760
else
5861
ArcaneFemFunctions::BoundaryConditions::applyPointDirichletToRhs(bs, node_dof, rhs_values);
5962
}
63+
}
6064
}
6165
}
6266

@@ -83,25 +87,17 @@ void FemModule::_assembleDirichletsGpu()
8387

8488
if (bc) {
8589
for (BC::IDirichletBoundaryCondition* bs : bc->dirichletBoundaryConditions()) {
86-
if (bs->getEnforceDirichletMethod() == "Penalty")
90+
if (t <= dt)
8791
FemUtils::Gpu::BoundaryConditions::applyDirichletToLhsAndRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
88-
else {
89-
if (t <= dt)
90-
FemUtils::Gpu::BoundaryConditions::applyDirichletToLhsAndRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
91-
else
92-
FemUtils::Gpu::BoundaryConditions::applyDirichletToRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
93-
}
92+
else
93+
FemUtils::Gpu::BoundaryConditions::applyDirichletToRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
9494
}
9595

9696
for (BC::IDirichletPointCondition* bs : bc->dirichletPointConditions()) {
97-
if (bs->getEnforceDirichletMethod() == "Penalty")
97+
if (t <= dt)
9898
FemUtils::Gpu::BoundaryConditions::applyPointDirichletToLhsAndRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
99-
else {
100-
if (t <= dt)
101-
FemUtils::Gpu::BoundaryConditions::applyPointDirichletToLhsAndRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
102-
else
103-
FemUtils::Gpu::BoundaryConditions::applyPointDirichletToRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
104-
}
99+
else
100+
FemUtils::Gpu::BoundaryConditions::applyPointDirichletToRhs(bs, m_dofs_on_nodes, m_linear_system, mesh_ptr, queue);
105101
}
106102
}
107103
}

0 commit comments

Comments
 (0)