// Periodic_genTerm_xfem - A solver for periodic problems using X-FEM
// Copyright (C) 2010-2026 Eric Bechet, Frederic Duboeuf
//
// See the LICENSE file for license information and contributions.
// Please report all bugs and problems to <bechet@cadxfem.org> or <duboeuf@outlook.com>.

#ifndef _PERIODIC_XFEM_SOLVER_H_
#define _PERIODIC_XFEM_SOLVER_H_

#include "elasticCutmeshXfemSolver.h"


class PeriodicXfemSolver : public ElasticCutmeshXfemSolver
{
public :
  PeriodicXfemSolver() : ElasticCutmeshXfemSolver() {}
  virtual ~PeriodicXfemSolver();
  // copy boundary conditions
  virtual std::vector<genBoundaryCondition*> copyBCs();
  // select boundary conditions
  virtual void selectBCs(const std::string &fileName, int cas, std::vector<genBoundaryCondition*> &fullBCs );

  virtual void buildStiffness(int cas, genMatrix<double> &Stiff);
};

#endif //_PERIODIC_XFEM_SOLVER_H_