// Periodic_genTerm - A solver for periodic problems using 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_SOLVER_H_
#define _PERIODIC_SOLVER_H_

#include "elasticSolver.h"


class PeriodicSolver : public ElasticSolver
{
public :
  PeriodicSolver() : ElasticSolver() {}
  virtual ~PeriodicSolver();
  // 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_SOLVER_H_