OOFEM
3.0
Loading...
Searching...
No Matches
src
core
Contact
contactsearch.h
Go to the documentation of this file.
1
/*
2
*
3
* ##### ##### ###### ###### ### ###
4
* ## ## ## ## ## ## ## ### ##
5
* ## ## ## ## #### #### ## # ##
6
* ## ## ## ## ## ## ## ##
7
* ## ## ## ## ## ## ## ##
8
* ##### ##### ## ###### ## ##
9
*
10
*
11
* OOFEM : Object Oriented Finite Element Code
12
*
13
* Copyright (C) 1993 - 2025 Borek Patzak
14
*
15
*
16
*
17
* Czech Technical University, Faculty of Civil Engineering,
18
* Department of Structural Mechanics, 166 29 Prague, Czech Republic
19
*
20
* This library is free software; you can redistribute it and/or
21
* modify it under the terms of the GNU Lesser General Public
22
* License as published by the Free Software Foundation; either
23
* version 2.1 of the License, or (at your option) any later version.
24
*
25
* This program is distributed in the hope that it will be useful,
26
* but WITHOUT ANY WARRANTY; without even the implied warranty of
27
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28
* Lesser General Public License for more details.
29
*
30
* You should have received a copy of the GNU Lesser General Public
31
* License along with this library; if not, write to the Free Software
32
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33
*/
34
35
#ifndef contactsearch_h
36
#define contactsearch_h
37
38
#include "
intarray.h
"
39
#include <memory>
40
41
namespace
oofem
{
42
class
FloatArray
;
43
class
ContactPair
;
44
class
FEContactSurface
;
45
class
Domain
;
46
class
TimeStep
;
47
66
67
class
ContactSearchAlgorithm
68
{
69
protected
:
70
Domain
*
domain
;
71
std::vector<std::unique_ptr<ContactPair>>
contactPairs
;
72
73
public
:
74
ContactSearchAlgorithm
(
Domain
*d) {
domain
= d;}
75
~ContactSearchAlgorithm
(){;}
82
virtual
void
createContactPairs
() = 0;
91
virtual
void
updateContactPairs
(
TimeStep
*tStep) = 0;
96
std::vector<std::unique_ptr<ContactPair>>&
getContactPairs
() {
return
contactPairs
; }
100
const
std::vector<std::unique_ptr<ContactPair>>&
getContactPairs
()
const
{
return
contactPairs
; }
101
};
102
103
104
class
ContactSearchAlgorithm_Surface2FESurface
:
public
ContactSearchAlgorithm
105
{
106
protected
:
107
FEContactSurface
*
slaveContactSurface
;
108
FEContactSurface
*
masterContactSurface
;
109
int
surface_dimension
;
110
public
:
111
ContactSearchAlgorithm_Surface2FESurface
(
FEContactSurface
*scs,
FEContactSurface
*mcs,
Domain
*d,
int
sd);
112
~ContactSearchAlgorithm_Surface2FESurface
(){;}
113
void
createContactPairs
()
override
;
114
void
updateContactPairs
(
TimeStep
*tStep)
override
{;}
115
};
116
117
118
119
class
ContactSearchAlgorithm_Surface2FESurface_3d
:
public
ContactSearchAlgorithm_Surface2FESurface
120
{
121
protected
:
122
public
:
123
ContactSearchAlgorithm_Surface2FESurface_3d
(
FEContactSurface
*scs,
FEContactSurface
*mcs,
Domain
*d);
124
~ContactSearchAlgorithm_Surface2FESurface_3d
(){;}
125
void
updateContactPairs
(
TimeStep
*tStep)
override
;
126
};
127
128
class
ContactSearchAlgorithm_Surface2FESurface_2d
:
public
ContactSearchAlgorithm_Surface2FESurface
129
{
130
protected
:
131
public
:
132
ContactSearchAlgorithm_Surface2FESurface_2d
(
FEContactSurface
*scs,
FEContactSurface
*mcs,
Domain
*d);
133
~ContactSearchAlgorithm_Surface2FESurface_2d
(){;}
134
void
updateContactPairs
(
TimeStep
*tStep)
override
;
135
};
136
137
138
139
140
141
142
143
}
// end namespace oofem
144
#endif
//contactsearch_h
oofem::ContactPair
Represents a contact interaction between a master and a slave contact point.
Definition
contactpair.h:68
oofem::ContactSearchAlgorithm_Surface2FESurface_2d::ContactSearchAlgorithm_Surface2FESurface_2d
ContactSearchAlgorithm_Surface2FESurface_2d(FEContactSurface *scs, FEContactSurface *mcs, Domain *d)
Definition
contactsearch.C:135
oofem::ContactSearchAlgorithm_Surface2FESurface_2d::updateContactPairs
void updateContactPairs(TimeStep *tStep) override
Updates previously created contact pairs for the current time step.
Definition
contactsearch.C:141
oofem::ContactSearchAlgorithm_Surface2FESurface_2d::~ContactSearchAlgorithm_Surface2FESurface_2d
~ContactSearchAlgorithm_Surface2FESurface_2d()
Definition
contactsearch.h:133
oofem::ContactSearchAlgorithm_Surface2FESurface_3d::updateContactPairs
void updateContactPairs(TimeStep *tStep) override
Updates previously created contact pairs for the current time step.
Definition
contactsearch.C:78
oofem::ContactSearchAlgorithm_Surface2FESurface_3d::ContactSearchAlgorithm_Surface2FESurface_3d
ContactSearchAlgorithm_Surface2FESurface_3d(FEContactSurface *scs, FEContactSurface *mcs, Domain *d)
Definition
contactsearch.C:72
oofem::ContactSearchAlgorithm_Surface2FESurface_3d::~ContactSearchAlgorithm_Surface2FESurface_3d
~ContactSearchAlgorithm_Surface2FESurface_3d()
Definition
contactsearch.h:124
oofem::ContactSearchAlgorithm_Surface2FESurface::surface_dimension
int surface_dimension
Definition
contactsearch.h:109
oofem::ContactSearchAlgorithm_Surface2FESurface::~ContactSearchAlgorithm_Surface2FESurface
~ContactSearchAlgorithm_Surface2FESurface()
Definition
contactsearch.h:112
oofem::ContactSearchAlgorithm_Surface2FESurface::ContactSearchAlgorithm_Surface2FESurface
ContactSearchAlgorithm_Surface2FESurface(FEContactSurface *scs, FEContactSurface *mcs, Domain *d, int sd)
Definition
contactsearch.C:51
oofem::ContactSearchAlgorithm_Surface2FESurface::slaveContactSurface
FEContactSurface * slaveContactSurface
Definition
contactsearch.h:107
oofem::ContactSearchAlgorithm_Surface2FESurface::masterContactSurface
FEContactSurface * masterContactSurface
Definition
contactsearch.h:108
oofem::ContactSearchAlgorithm_Surface2FESurface::createContactPairs
void createContactPairs() override
Creates initial contact pairs based on the current configuration.
Definition
contactsearch.C:60
oofem::ContactSearchAlgorithm_Surface2FESurface::updateContactPairs
void updateContactPairs(TimeStep *tStep) override
Updates previously created contact pairs for the current time step.
Definition
contactsearch.h:114
oofem::ContactSearchAlgorithm::getContactPairs
std::vector< std::unique_ptr< ContactPair > > & getContactPairs()
Returns the internally stored list of contact pairs.
Definition
contactsearch.h:96
oofem::ContactSearchAlgorithm::domain
Domain * domain
Definition
contactsearch.h:70
oofem::ContactSearchAlgorithm::ContactSearchAlgorithm
ContactSearchAlgorithm(Domain *d)
Definition
contactsearch.h:74
oofem::ContactSearchAlgorithm::~ContactSearchAlgorithm
~ContactSearchAlgorithm()
Definition
contactsearch.h:75
oofem::ContactSearchAlgorithm::getContactPairs
const std::vector< std::unique_ptr< ContactPair > > & getContactPairs() const
Returns the internally stored list of contact pairs (const overload).
Definition
contactsearch.h:100
oofem::ContactSearchAlgorithm::updateContactPairs
virtual void updateContactPairs(TimeStep *tStep)=0
Updates previously created contact pairs for the current time step.
oofem::ContactSearchAlgorithm::createContactPairs
virtual void createContactPairs()=0
Creates initial contact pairs based on the current configuration.
oofem::ContactSearchAlgorithm::contactPairs
std::vector< std::unique_ptr< ContactPair > > contactPairs
Definition
contactsearch.h:71
oofem::Domain
Definition
domain.h:121
oofem::FEContactSurface
Abstract representation of a finite element contact surface.
Definition
fecontactsurface.h:87
oofem::FloatArray
Definition
floatarray.h:92
oofem::TimeStep
Definition
timestep.h:82
intarray.h
oofem
Definition
additivemanufacturingproblem.C:83
This page is part of the
OOFEM-3.0
documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at
for OOFEM by
doxygen
1.15.0 written by
Dimitri van Heesch
, © 1997-2011