@@ -159,6 +159,97 @@ if(FEMUTILS_HAS_SOLVER_BACKEND_PETSC)
159159 -A,//fem/matrix-format=AF-BSR
160160 inputs/bar.2D.traction.bodyforce.arc)
161161
162+ set (SOLVER_PETSC_DIRECT_CG
163+ -A,//fem/linear-system /@name =PETScLinearSystem
164+ -A,//fem/linear-system /solver=cg
165+ -A,//fem/linear-system /atol=1e-9
166+ -A,//fem/linear-system /rtol=0)
167+
168+ set (SOLVER_PETSC_DIRECT_GMRES
169+ -A,//fem/linear-system /@name =PETScLinearSystem
170+ -A,//fem/linear-system /solver=gmres
171+ -A,//fem/linear-system /atol=1e-9
172+ -A,//fem/linear-system /rtol=0)
173+
174+ arcanefem_add_gpu_test(NAME [elasticity]3D_Dirichlet_bodyforce_traction_petsc-direct_bsr COMMAND ./Elasticity ARGS
175+ -A,//fem/matrix-format=BSR
176+ ${SOLVER_PETSC_DIRECT_CG}
177+ inputs/bar.3D.Dirichlet.traction.bodyForce.arc)
178+
179+ arcanefem_add_gpu_test(NAME [elasticity]3D_Dirichlet_bodyforce_traction_petsc-direct_af-bsr COMMAND ./Elasticity ARGS
180+ -A,//fem/matrix-format=AF-BSR
181+ ${SOLVER_PETSC_DIRECT_CG}
182+ inputs/bar.3D.Dirichlet.traction.bodyForce.arc)
183+
184+ arcanefem_add_gpu_test(NAME [elasticity]3D_Dirichlet_bodyforce_petsc-direct_bsr COMMAND ./Elasticity ARGS
185+ -A,//fem/solution-comparison-file=check/bar.3D.Dirichlet.bodyForce.txt
186+ -A,//fem/matrix-format=BSR
187+ ${SOLVER_PETSC_DIRECT_CG}
188+ inputs/bar.3D.Dirichlet.bodyForce.arc)
189+
190+ arcanefem_add_gpu_test(NAME [elasticity]3D_Dirichlet_bodyforce_petsc-direct_af-bsr COMMAND ./Elasticity ARGS
191+ -A,//fem/solution-comparison-file=check/bar.3D.Dirichlet.bodyForce.txt
192+ -A,//fem/matrix-format=AF-BSR
193+ ${SOLVER_PETSC_DIRECT_CG}
194+ inputs/bar.3D.Dirichlet.bodyForce.arc)
195+
196+ arcanefem_add_gpu_test(NAME [elasticity]3D_sphere_Dirichlet_bodyforce_petsc-direct_af-bsr COMMAND ./Elasticity ARGS
197+ -A,//fem/matrix-format=AF-BSR
198+ ${SOLVER_PETSC_DIRECT_CG}
199+ inputs/3D.sphere.dirichlet.traction.bodyforce.tetra.arc)
200+
201+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_pointBC_RowElimination_petsc-direct_bsr COMMAND ./Elasticity ARGS
202+ -A,//fem/solution-comparison-file=check/bar.2D.PointDirichlet.Dirichlet.bodyForce.txt
203+ -A,//fem/matrix-format=BSR
204+ ${SOLVER_PETSC_DIRECT_GMRES}
205+ -A,//fem/boundary-conditions/dirichlet[1]/enforce-Dirichlet-method=RowElimination
206+ -A,//fem/boundary-conditions/dirichlet[2]/enforce-Dirichlet-method=RowElimination
207+ -A,//fem/boundary-conditions/dirichlet-point[1]/enforce-Dirichlet-method=RowElimination
208+ -A,//fem/boundary-conditions/dirichlet-point[2]/enforce-Dirichlet-method=RowElimination
209+ inputs/bar.2D.PointDirichlet.Dirichlet.bodyForce.arc)
210+
211+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_pointBC_RowElimination_petsc-direct_af-bsr COMMAND ./Elasticity ARGS
212+ -A,//fem/solution-comparison-file=check/bar.2D.PointDirichlet.Dirichlet.bodyForce.txt
213+ -A,//fem/matrix-format=AF-BSR
214+ ${SOLVER_PETSC_DIRECT_GMRES}
215+ -A,//fem/boundary-conditions/dirichlet[1]/enforce-Dirichlet-method=RowElimination
216+ -A,//fem/boundary-conditions/dirichlet[2]/enforce-Dirichlet-method=RowElimination
217+ -A,//fem/boundary-conditions/dirichlet-point[1]/enforce-Dirichlet-method=RowElimination
218+ -A,//fem/boundary-conditions/dirichlet-point[2]/enforce-Dirichlet-method=RowElimination
219+ inputs/bar.2D.PointDirichlet.Dirichlet.bodyForce.arc)
220+
221+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_pointBC_RowColElimination_petsc-direct_af-bsr COMMAND ./Elasticity ARGS
222+ -A,//fem/solution-comparison-file=check/bar.2D.PointDirichlet.Dirichlet.bodyForce.txt
223+ -A,//fem/matrix-format=AF-BSR
224+ ${SOLVER_PETSC_DIRECT_GMRES}
225+ -A,//fem/boundary-conditions/dirichlet[1]/enforce-Dirichlet-method=RowColumnElimination
226+ -A,//fem/boundary-conditions/dirichlet[2]/enforce-Dirichlet-method=RowColumnElimination
227+ -A,//fem/boundary-conditions/dirichlet-point[1]/enforce-Dirichlet-method=RowColumnElimination
228+ -A,//fem/boundary-conditions/dirichlet-point[2]/enforce-Dirichlet-method=RowColumnElimination
229+ inputs/bar.2D.PointDirichlet.Dirichlet.bodyForce.arc)
230+
231+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_pointBC_petsc-direct_bsr COMMAND ./Elasticity ARGS
232+ -A,//fem/solution-comparison-file=check/bar.2D.PointDirichlet.Dirichlet.bodyForce.txt
233+ -A,//fem/matrix-format=BSR
234+ ${SOLVER_PETSC_DIRECT_CG}
235+ -A,//fem/boundary-conditions/dirichlet[1]/enforce-Dirichlet-method=Penalty
236+ -A,//fem/boundary-conditions/dirichlet[2]/enforce-Dirichlet-method=Penalty
237+ -A,//fem/boundary-conditions/dirichlet-point[1]/enforce-Dirichlet-method=Penalty
238+ -A,//fem/boundary-conditions/dirichlet-point[2]/enforce-Dirichlet-method=Penalty
239+ inputs/bar.2D.PointDirichlet.Dirichlet.bodyForce.arc)
240+
241+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_traction_bsr_petsc-direct COMMAND ./Elasticity ARGS
242+ -A,//fem/solution-comparison-file=check/bar.2D.Dirichlet.traction.txt
243+ -A,//fem/matrix-format=BSR
244+ ${SOLVER_PETSC_DIRECT_CG}
245+ inputs/bar.2D.Dirichlet.traction.arc)
246+
247+ arcanefem_add_gpu_test(NAME [elasticity]Dirichlet_traction_bodyforce_af-bsr_petsc-direct COMMAND ./Elasticity ARGS
248+ -A,//fem/solution-comparison-file=check/bar.2D.traction.bodyforce.txt
249+ -A,//fem/matrix-format=AF-BSR
250+ ${SOLVER_PETSC_DIRECT_CG}
251+ inputs/bar.2D.traction.bodyforce.arc)
252+
162253 if (FEMUTILS_HAS_PARALLEL_SOLVER)
163254 add_test (NAME [elasticity]Dirichlet_2p COMMAND ${MPIEXEC_EXECUTABLE} -n 2 ./Elasticity
164255 -A,//fem/solution-comparison-file=check/bar.2D.Dirichlet.bodyForce.txt
0 commit comments