17 #include "serac/serac_config.hpp"
20 #ifdef SERAC_USE_TRIBOL
66 const std::set<int>& bdry_attr_surf2,
ContactOptions contact_opts);
75 void update(
int cycle,
double time,
double& dt);
105 mfem::HypreParVector
mergedGaps(
bool zero_inactive =
false)
const;
137 std::unique_ptr<mfem::BlockOperator>
jacobianFunction(
const mfem::Vector& u, mfem::HypreParMatrix* orig_J)
const;
150 void setPressures(
const mfem::Vector& merged_pressures)
const;
167 #ifdef SERAC_USE_TRIBOL
168 return !interactions_.empty();
190 #ifdef SERAC_USE_TRIBOL
196 void updateDofOffsets()
const;
201 const mfem::ParMesh& mesh_;
207 const mfem::ParGridFunction* reference_nodes_;
209 #ifdef SERAC_USE_TRIBOL
213 mfem::ParGridFunction current_coords_;
218 std::vector<ContactInteraction> interactions_;
225 bool have_lagrange_multipliers_;
230 int num_pressure_dofs_;
238 mutable bool offsets_up_to_date_;
247 mutable mfem::Array<int> jacobian_offsets_;
257 mutable mfem::Array<int> pressure_dof_offsets_;
267 mutable mfem::Array<HYPRE_BigInt> global_pressure_dof_offsets_;
Class for encapsulating the dual vector space of a finite element space (i.e. the space of linear for...
This contains a class that represents the dual of a finite element vector space, i....
Accelerator functionality.