@@ -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