Parallel Finite Element - General geometry Ewald-like Method
Part of Continuum-particle Simulation Suite under MICCOM
fix.h
Go to the documentation of this file.
1 // Parallel Finite Element-General Geometry Ewald-like Method.
2 // Copyright (C) 2015-2016 Xujun Zhao, Jiyuan Li, Xikai Jiang
3 
4 // This code is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 
10 // This code is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
14 
15 
16 // You should have received a copy of the GNU General Public
17 // License along with this code; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 
20 
21 
22 #pragma once
23 
24 #include <stdio.h>
25 #include <map>
26 #include <cmath>
27 
28 // Local includes
29 #include "libmesh/libmesh_common.h"
30 #include "libmesh/reference_counted_object.h"
31 #include "libmesh/parallel_object.h"
32 #include "libmesh/point.h"
33 #include "libmesh/id_types.h"
34 #include "libmesh/mesh.h"
35 #include "libmesh/serial_mesh.h"
36 #include "libmesh/equation_systems.h"
37 
38 #include "../pm_linear_implicit_system.h"
39 #include "../elasticity_system.h"
40 #include "../pm_toolbox.h"
41 #include "../point_mesh.h"
42 #include "../pm_periodic_boundary.h"
43 #include "fix_base.h"
44 
45 
46 namespace libMesh
47 {
48 
49  /*
50  * The class is designed for computing the force field
51  * of the system
52  */
53 class FixBase;
54 
55 class Fix
56 {
57 public:
58 
61  ElasticitySystem& el_sys);
62 
63 
65  Fix(PMLinearImplicitSystem& pm_sys);
66 
67  void initialization();
68 
70  virtual ~Fix(){};
71 
72  typedef std::string type_force_name;
73 
74  typedef std::vector<Real> type_force_parameter;
75 
76  typedef std::pair <type_force_name, type_force_parameter> type_force;
77 
78 
89 
93 
135 
void initialization()
Definition: fix.C:37
Definition: brownian_system.h:58
Definition: fix.h:55
std::string type_force_name
Definition: fix.h:70
Fix(PMLinearImplicitSystem &pm_sys, ElasticitySystem &el_sys)
Constructor for a system with elastic structures (finite size particles)
Definition: pm_linear_implicit_system.h:52
virtual ~Fix()
Destructor.
Definition: fix.h:70
Definition: fix_base.h:38
std::pair< type_force_name, type_force_parameter > type_force
Definition: fix.h:76
Definition: elasticity_system.h:57
std::vector< Real > type_force_parameter
Definition: fix.h:74