Nektar++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
library
LibUtilities
TimeIntegration
TimeIntegrationWrapper.h
Go to the documentation of this file.
1
///////////////////////////////////////////////////////////////////////////////
2
//
3
// File: TimeIntegrationWrapper.h
4
//
5
// For more information, please see: http://www.nektar.info
6
//
7
// The MIT License
8
//
9
// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10
// Department of Aeronautics, Imperial College London (UK), and Scientific
11
// Computing and Imaging Institute, University of Utah (USA).
12
//
13
// License for the specific language governing rights and limitations under
14
// Permission is hereby granted, free of charge, to any person obtaining a
15
// copy of this software and associated documentation files (the "Software"),
16
// to deal in the Software without restriction, including without limitation
17
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
// and/or sell copies of the Software, and to permit persons to whom the
19
// Software is furnished to do so, subject to the following conditions:
20
//
21
// The above copyright notice and this permission notice shall be included
22
// in all copies or substantial portions of the Software.
23
//
24
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
25
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30
// DEALINGS IN THE SOFTWARE.
31
//
32
// Description: Header file of time integration scheme wrappers
33
//
34
///////////////////////////////////////////////////////////////////////////////
35
36
#ifndef NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONWRAPPER_H
37
#define NEKTAR_LIB_UTILITIES_FOUNDATIONS_TIMEINTEGRATIONWRAPPER_H
38
39
#include <
LibUtilities/TimeIntegration/TimeIntegrationScheme.h
>
40
#include <
LibUtilities/BasicUtils/NekFactory.hpp
>
41
#include <
LibUtilities/LibUtilitiesDeclspec.h
>
42
43
namespace
Nektar {
44
namespace
LibUtilities {
45
46
class
TimeIntegrationWrapper
;
47
48
/// Datatype of the NekFactory used to instantiate classes derived from
49
/// the EquationSystem class.
50
typedef
NekFactory
<
51
std::string,
TimeIntegrationWrapper
52
>
TimeIntegrationWrapperFactory
;
53
LIB_UTILITIES_EXPORT
TimeIntegrationWrapperFactory
54
&
GetTimeIntegrationWrapperFactory
();
55
56
typedef
boost::shared_ptr<TimeIntegrationWrapper>
57
TimeIntegrationWrapperSharedPtr
;
58
59
class
TimeIntegrationWrapper
60
{
61
public
:
62
LIB_UTILITIES_EXPORT
virtual
~TimeIntegrationWrapper
() {}
63
64
LIB_UTILITIES_EXPORT
inline
void
InitObject
()
65
{
66
v_InitObject
();
67
}
68
69
LIB_UTILITIES_EXPORT
TimeIntegrationSolutionSharedPtr
InitializeScheme
(
70
const
NekDouble
timestep,
71
TimeIntegrationScheme::ConstDoubleArray
&y_0,
72
const
NekDouble
time,
73
const
TimeIntegrationSchemeOperators
&op)
74
{
75
return
m_intScheme
[
m_intSteps
- 1]
76
->InitializeScheme(timestep, y_0, time, op);
77
}
78
79
LIB_UTILITIES_EXPORT
TimeIntegrationScheme::ConstDoubleArray
80
&
TimeIntegrate
(
81
const
int
timestep,
82
const
NekDouble
delta_t,
83
TimeIntegrationSolutionSharedPtr
&solvector,
84
const
TimeIntegrationSchemeOperators
&op)
85
{
86
return
m_intScheme
[min(timestep,
m_intSteps
- 1)]
87
->TimeIntegrate(delta_t, solvector, op);
88
}
89
90
LIB_UTILITIES_EXPORT
TimeIntegrationMethod
GetIntegrationMethod
()
91
{
92
return
m_method
;
93
}
94
95
LIB_UTILITIES_EXPORT
unsigned
int
GetIntegrationSteps
()
96
{
97
return
m_intSteps
;
98
}
99
100
protected
:
101
TimeIntegrationMethod
m_method
;
102
int
m_intSteps
;
103
std::vector<TimeIntegrationSchemeSharedPtr>
m_intScheme
;
104
105
/// Constructor
106
TimeIntegrationWrapper
();
107
108
virtual
void
v_InitObject
();
109
};
110
111
112
// --------
113
// IMEXOrder1
114
// --------
115
class
TimeIntegrationIMEXOrder1
;
116
typedef
boost::shared_ptr<TimeIntegrationIMEXOrder1>
117
TimeIntegrationIMEXOrder1SharedPtr
;
118
119
class
TimeIntegrationIMEXOrder1
:
public
TimeIntegrationWrapper
120
{
121
public
:
122
friend
class
MemoryManager
<
TimeIntegrationIMEXOrder1
>;
123
124
/// Creates an instance of this class
125
static
TimeIntegrationWrapperSharedPtr
create
()
126
{
127
TimeIntegrationWrapperSharedPtr
p =
128
MemoryManager<TimeIntegrationIMEXOrder1>::AllocateSharedPtr
();
129
p->InitObject();
130
return
p;
131
}
132
/// Name of class
133
static
std::string
className
;
134
135
virtual
~TimeIntegrationIMEXOrder1
() {}
136
137
protected
:
138
virtual
void
v_InitObject
();
139
};
140
141
class
TimeIntegrationIMEXOrder2
:
public
TimeIntegrationWrapper
142
{
143
public
:
144
friend
class
MemoryManager
<
TimeIntegrationIMEXOrder2
>;
145
146
/// Creates an instance of this class
147
static
TimeIntegrationWrapperSharedPtr
create
()
148
{
149
TimeIntegrationWrapperSharedPtr
p =
150
MemoryManager<TimeIntegrationIMEXOrder2>::AllocateSharedPtr
();
151
p->InitObject();
152
return
p;
153
}
154
/// Name of class
155
static
std::string
className
;
156
157
virtual
~TimeIntegrationIMEXOrder2
() {}
158
159
protected
:
160
virtual
void
v_InitObject
();
161
};
162
163
class
TimeIntegrationIMEXOrder3
:
public
TimeIntegrationWrapper
164
{
165
public
:
166
friend
class
MemoryManager
<
TimeIntegrationIMEXOrder3
>;
167
168
/// Creates an instance of this class
169
static
TimeIntegrationWrapperSharedPtr
create
()
170
{
171
TimeIntegrationWrapperSharedPtr
p =
172
MemoryManager<TimeIntegrationIMEXOrder3>::AllocateSharedPtr
();
173
p->InitObject();
174
return
p;
175
}
176
/// Name of class
177
static
std::string
className
;
178
179
virtual
~TimeIntegrationIMEXOrder3
() {}
180
181
protected
:
182
virtual
void
v_InitObject
();
183
};
184
185
class
TimeIntegrationIMEXdirk_1_1_1
:
public
TimeIntegrationWrapper
186
{
187
public
:
188
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_1_1_1
>;
189
190
/// Creates an instance of this class
191
static
TimeIntegrationWrapperSharedPtr
create
()
192
{
193
TimeIntegrationWrapperSharedPtr
p =
194
MemoryManager<TimeIntegrationIMEXdirk_1_1_1>
195
::AllocateSharedPtr
();
196
p->InitObject();
197
return
p;
198
}
199
/// Name of class
200
static
std::string
className
;
201
202
virtual
~TimeIntegrationIMEXdirk_1_1_1
() {}
203
204
protected
:
205
virtual
void
v_InitObject
();
206
};
207
208
209
class
TimeIntegrationIMEXdirk_1_2_1
:
public
TimeIntegrationWrapper
210
{
211
public
:
212
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_1_2_1
>;
213
214
/// Creates an instance of this class
215
static
TimeIntegrationWrapperSharedPtr
create
()
216
{
217
TimeIntegrationWrapperSharedPtr
p =
218
MemoryManager<TimeIntegrationIMEXdirk_1_2_1>
219
::AllocateSharedPtr
();
220
p->InitObject();
221
return
p;
222
}
223
/// Name of class
224
static
std::string
className
;
225
226
virtual
~TimeIntegrationIMEXdirk_1_2_1
() {}
227
228
protected
:
229
virtual
void
v_InitObject
();
230
};
231
232
233
class
TimeIntegrationIMEXdirk_1_2_2
:
public
TimeIntegrationWrapper
234
{
235
public
:
236
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_1_2_2
>;
237
238
/// Creates an instance of this class
239
static
TimeIntegrationWrapperSharedPtr
create
()
240
{
241
TimeIntegrationWrapperSharedPtr
p =
242
MemoryManager<TimeIntegrationIMEXdirk_1_2_2>
243
::AllocateSharedPtr
();
244
p->InitObject();
245
return
p;
246
}
247
/// Name of class
248
static
std::string
className
;
249
250
virtual
~TimeIntegrationIMEXdirk_1_2_2
() {}
251
252
protected
:
253
virtual
void
v_InitObject
();
254
};
255
256
257
class
TimeIntegrationIMEXdirk_4_4_3
:
public
TimeIntegrationWrapper
258
{
259
public
:
260
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_4_4_3
>;
261
262
/// Creates an instance of this class
263
static
TimeIntegrationWrapperSharedPtr
create
()
264
{
265
TimeIntegrationWrapperSharedPtr
p =
266
MemoryManager<TimeIntegrationIMEXdirk_4_4_3>
267
::AllocateSharedPtr
();
268
p->InitObject();
269
return
p;
270
}
271
/// Name of class
272
static
std::string
className
;
273
274
virtual
~TimeIntegrationIMEXdirk_4_4_3
() {}
275
276
protected
:
277
virtual
void
v_InitObject
();
278
};
279
280
281
class
TimeIntegrationIMEXdirk_2_2_2
:
public
TimeIntegrationWrapper
282
{
283
public
:
284
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_2_2_2
>;
285
286
/// Creates an instance of this class
287
static
TimeIntegrationWrapperSharedPtr
create
()
288
{
289
TimeIntegrationWrapperSharedPtr
p =
290
MemoryManager<TimeIntegrationIMEXdirk_2_2_2>
291
::AllocateSharedPtr
();
292
p->InitObject();
293
return
p;
294
}
295
/// Name of class
296
static
std::string
className
;
297
298
virtual
~TimeIntegrationIMEXdirk_2_2_2
() {}
299
300
protected
:
301
virtual
void
v_InitObject
();
302
};
303
304
305
class
TimeIntegrationIMEXdirk_2_3_3
:
public
TimeIntegrationWrapper
306
{
307
public
:
308
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_2_3_3
>;
309
310
/// Creates an instance of this class
311
static
TimeIntegrationWrapperSharedPtr
create
()
312
{
313
TimeIntegrationWrapperSharedPtr
p =
314
MemoryManager<TimeIntegrationIMEXdirk_2_3_3>
315
::AllocateSharedPtr
();
316
p->InitObject();
317
return
p;
318
}
319
/// Name of class
320
static
std::string
className
;
321
322
virtual
~TimeIntegrationIMEXdirk_2_3_3
() {}
323
324
protected
:
325
virtual
void
v_InitObject
();
326
};
327
328
329
class
TimeIntegrationIMEXdirk_2_3_2
:
public
TimeIntegrationWrapper
330
{
331
public
:
332
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_2_3_2
>;
333
334
/// Creates an instance of this class
335
static
TimeIntegrationWrapperSharedPtr
create
()
336
{
337
TimeIntegrationWrapperSharedPtr
p =
338
MemoryManager<TimeIntegrationIMEXdirk_2_3_2>
339
::AllocateSharedPtr
();
340
p->InitObject();
341
return
p;
342
}
343
/// Name of class
344
static
std::string
className
;
345
346
virtual
~TimeIntegrationIMEXdirk_2_3_2
() {}
347
348
protected
:
349
virtual
void
v_InitObject
();
350
};
351
352
353
class
TimeIntegrationIMEXdirk_3_4_3
:
public
TimeIntegrationWrapper
354
{
355
public
:
356
friend
class
MemoryManager
<
TimeIntegrationIMEXdirk_3_4_3
>;
357
358
/// Creates an instance of this class
359
static
TimeIntegrationWrapperSharedPtr
create
()
360
{
361
TimeIntegrationWrapperSharedPtr
p =
362
MemoryManager<TimeIntegrationIMEXdirk_3_4_3>
363
::AllocateSharedPtr
();
364
p->InitObject();
365
return
p;
366
}
367
/// Name of class
368
static
std::string
className
;
369
370
virtual
~TimeIntegrationIMEXdirk_3_4_3
() {}
371
372
protected
:
373
virtual
void
v_InitObject
();
374
};
375
376
class
TimeIntegrationForwardEuler
:
public
TimeIntegrationWrapper
377
{
378
public
:
379
friend
class
MemoryManager
<
TimeIntegrationForwardEuler
>;
380
381
/// Creates an instance of this class
382
static
TimeIntegrationWrapperSharedPtr
create
()
383
{
384
TimeIntegrationWrapperSharedPtr
p =
385
MemoryManager<TimeIntegrationForwardEuler>::AllocateSharedPtr
();
386
p->InitObject();
387
return
p;
388
}
389
/// Name of class
390
static
std::string
className
;
391
392
virtual
~TimeIntegrationForwardEuler
() {}
393
394
protected
:
395
virtual
void
v_InitObject
();
396
};
397
398
399
class
TimeIntegrationBackwardEuler
:
public
TimeIntegrationWrapper
400
{
401
public
:
402
friend
class
MemoryManager
<
TimeIntegrationBackwardEuler
>;
403
404
/// Creates an instance of this class
405
static
TimeIntegrationWrapperSharedPtr
create
()
406
{
407
TimeIntegrationWrapperSharedPtr
p =
408
MemoryManager<TimeIntegrationBackwardEuler>
409
::AllocateSharedPtr
();
410
p->InitObject();
411
return
p;
412
}
413
/// Name of class
414
static
std::string
className
;
415
416
virtual
~TimeIntegrationBackwardEuler
() {}
417
418
protected
:
419
virtual
void
v_InitObject
();
420
};
421
422
423
class
TimeIntegrationBDFImplicitOrder1
:
public
TimeIntegrationWrapper
424
{
425
public
:
426
friend
class
MemoryManager
<
TimeIntegrationBDFImplicitOrder1
>;
427
428
/// Creates an instance of this class
429
static
TimeIntegrationWrapperSharedPtr
create
()
430
{
431
TimeIntegrationWrapperSharedPtr
p =
432
MemoryManager<TimeIntegrationBDFImplicitOrder1>
433
::AllocateSharedPtr
();
434
p->InitObject();
435
return
p;
436
}
437
/// Name of class
438
static
std::string
className
;
439
440
virtual
~TimeIntegrationBDFImplicitOrder1
() {}
441
442
protected
:
443
virtual
void
v_InitObject
();
444
};
445
446
447
class
TimeIntegrationBDFImplicitOrder2
:
public
TimeIntegrationWrapper
448
{
449
public
:
450
friend
class
MemoryManager
<
TimeIntegrationBDFImplicitOrder2
>;
451
452
/// Creates an instance of this class
453
static
TimeIntegrationWrapperSharedPtr
create
()
454
{
455
TimeIntegrationWrapperSharedPtr
p =
456
MemoryManager<TimeIntegrationBDFImplicitOrder2>
457
::AllocateSharedPtr
();
458
p->InitObject();
459
return
p;
460
}
461
/// Name of class
462
static
std::string
className
;
463
464
virtual
~TimeIntegrationBDFImplicitOrder2
() {}
465
466
protected
:
467
virtual
void
v_InitObject
();
468
};
469
470
471
class
TimeIntegrationRungeKutta2_ImprovedEuler
:
472
public
TimeIntegrationWrapper
473
{
474
public
:
475
friend
class
MemoryManager
<
TimeIntegrationRungeKutta2_ImprovedEuler
>;
476
477
/// Creates an instance of this class
478
static
TimeIntegrationWrapperSharedPtr
create
()
479
{
480
TimeIntegrationWrapperSharedPtr
p =
481
MemoryManager<TimeIntegrationRungeKutta2_ImprovedEuler>
482
::AllocateSharedPtr
();
483
p->InitObject();
484
return
p;
485
}
486
/// Name of class
487
static
std::string
className
;
488
489
virtual
~TimeIntegrationRungeKutta2_ImprovedEuler
() {}
490
491
protected
:
492
virtual
void
v_InitObject
();
493
};
494
495
class
TimeIntegrationRungeKutta2_ModifiedEuler
:
496
public
TimeIntegrationWrapper
497
{
498
public
:
499
friend
class
MemoryManager
<
TimeIntegrationRungeKutta2_ModifiedEuler
>;
500
501
/// Creates an instance of this class
502
static
TimeIntegrationWrapperSharedPtr
create
()
503
{
504
TimeIntegrationWrapperSharedPtr
p =
505
MemoryManager<TimeIntegrationRungeKutta2_ModifiedEuler>
506
::AllocateSharedPtr
();
507
p->InitObject();
508
return
p;
509
}
510
/// Name of class
511
static
std::string
className
;
512
513
virtual
~TimeIntegrationRungeKutta2_ModifiedEuler
() {}
514
515
protected
:
516
virtual
void
v_InitObject
();
517
};
518
519
class
TimeIntegrationClassicalRungeKutta4
:
public
TimeIntegrationWrapper
520
{
521
public
:
522
friend
class
MemoryManager
<
TimeIntegrationClassicalRungeKutta4
>;
523
524
/// Creates an instance of this class
525
static
TimeIntegrationWrapperSharedPtr
create
()
526
{
527
TimeIntegrationWrapperSharedPtr
p =
528
MemoryManager<TimeIntegrationClassicalRungeKutta4>
529
::AllocateSharedPtr
();
530
p->InitObject();
531
return
p;
532
}
533
/// Name of class
534
static
std::string
className
;
535
536
virtual
~TimeIntegrationClassicalRungeKutta4
() {}
537
538
protected
:
539
virtual
void
v_InitObject
();
540
};
541
542
class
TimeIntegrationDIRKOrder2
:
public
TimeIntegrationWrapper
543
{
544
public
:
545
friend
class
MemoryManager
<
TimeIntegrationDIRKOrder2
>;
546
547
/// Creates an instance of this class
548
static
TimeIntegrationWrapperSharedPtr
create
()
549
{
550
TimeIntegrationWrapperSharedPtr
p =
551
MemoryManager<TimeIntegrationDIRKOrder2>::AllocateSharedPtr
();
552
p->InitObject();
553
return
p;
554
}
555
/// Name of class
556
static
std::string
className
;
557
558
virtual
~TimeIntegrationDIRKOrder2
() {}
559
560
protected
:
561
virtual
void
v_InitObject
();
562
};
563
564
class
TimeIntegrationDIRKOrder3
:
public
TimeIntegrationWrapper
565
{
566
public
:
567
friend
class
MemoryManager
<
TimeIntegrationDIRKOrder3
>;
568
569
/// Creates an instance of this class
570
static
TimeIntegrationWrapperSharedPtr
create
()
571
{
572
TimeIntegrationWrapperSharedPtr
p =
573
MemoryManager<TimeIntegrationDIRKOrder3>::AllocateSharedPtr
();
574
p->InitObject();
575
return
p;
576
}
577
/// Name of class
578
static
std::string
className
;
579
580
virtual
~TimeIntegrationDIRKOrder3
() {}
581
582
protected
:
583
virtual
void
v_InitObject
();
584
};
585
586
class
TimeIntegrationMidpoint
:
public
TimeIntegrationWrapper
587
{
588
public
:
589
friend
class
MemoryManager
<
TimeIntegrationMidpoint
>;
590
591
/// Creates an instance of this class
592
static
TimeIntegrationWrapperSharedPtr
create
()
593
{
594
TimeIntegrationWrapperSharedPtr
p =
595
MemoryManager<TimeIntegrationMidpoint>::AllocateSharedPtr
();
596
p->InitObject();
597
return
p;
598
}
599
/// Name of class
600
static
std::string
className
;
601
602
virtual
~TimeIntegrationMidpoint
() {}
603
604
protected
:
605
virtual
void
v_InitObject
();
606
};
607
608
class
TimeIntegrationAdamsBashforthOrder2
:
public
TimeIntegrationWrapper
609
{
610
public
:
611
friend
class
MemoryManager
<
TimeIntegrationAdamsBashforthOrder2
>;
612
613
/// Creates an instance of this class
614
static
TimeIntegrationWrapperSharedPtr
create
()
615
{
616
TimeIntegrationWrapperSharedPtr
p =
617
MemoryManager<TimeIntegrationAdamsBashforthOrder2>
618
::AllocateSharedPtr
();
619
p->InitObject();
620
return
p;
621
}
622
/// Name of class
623
static
std::string
className
;
624
625
virtual
~TimeIntegrationAdamsBashforthOrder2
() {}
626
627
protected
:
628
virtual
void
v_InitObject
();
629
};
630
631
class
TimeIntegrationAdamsBashforthOrder3
:
public
TimeIntegrationWrapper
632
{
633
public
:
634
friend
class
MemoryManager
<
TimeIntegrationAdamsBashforthOrder3
>;
635
636
/// Creates an instance of this class
637
static
TimeIntegrationWrapperSharedPtr
create
()
638
{
639
TimeIntegrationWrapperSharedPtr
p =
640
MemoryManager<TimeIntegrationAdamsBashforthOrder3>
641
::AllocateSharedPtr
();
642
p->InitObject();
643
return
p;
644
}
645
/// Name of class
646
static
std::string
className
;
647
648
virtual
~TimeIntegrationAdamsBashforthOrder3
() {}
649
650
protected
:
651
virtual
void
v_InitObject
();
652
};
653
654
class
TimeIntegrationAdamsMoultonOrder2
:
public
TimeIntegrationWrapper
655
{
656
public
:
657
friend
class
MemoryManager
<
TimeIntegrationAdamsMoultonOrder2
>;
658
659
/// Creates an instance of this class
660
static
TimeIntegrationWrapperSharedPtr
create
()
661
{
662
TimeIntegrationWrapperSharedPtr
p =
663
MemoryManager<TimeIntegrationAdamsMoultonOrder2>
664
::AllocateSharedPtr
();
665
p->InitObject();
666
return
p;
667
}
668
/// Name of class
669
static
std::string
className
;
670
671
virtual
~TimeIntegrationAdamsMoultonOrder2
() {}
672
673
protected
:
674
virtual
void
v_InitObject
();
675
};
676
677
class
TimeIntegrationIMEXGear
:
public
TimeIntegrationWrapper
678
{
679
public
:
680
friend
class
MemoryManager
<
TimeIntegrationIMEXGear
>;
681
682
/// Creates an instance of this class
683
static
TimeIntegrationWrapperSharedPtr
create
()
684
{
685
TimeIntegrationWrapperSharedPtr
p =
686
MemoryManager<TimeIntegrationIMEXGear>::AllocateSharedPtr
();
687
p->InitObject();
688
return
p;
689
}
690
/// Name of class
691
static
std::string
className
;
692
693
virtual
~TimeIntegrationIMEXGear
() {}
694
695
protected
:
696
virtual
void
v_InitObject
();
697
};
698
699
class
TimeIntegrationCNAB
:
public
TimeIntegrationWrapper
700
{
701
public
:
702
friend
class
MemoryManager
<
TimeIntegrationCNAB
>;
703
704
/// Creates an instance of this class
705
static
TimeIntegrationWrapperSharedPtr
create
()
706
{
707
TimeIntegrationWrapperSharedPtr
p =
708
MemoryManager<TimeIntegrationCNAB>::AllocateSharedPtr
();
709
p->InitObject();
710
return
p;
711
}
712
/// Name of class
713
static
std::string
className
;
714
715
virtual
~TimeIntegrationCNAB
() {}
716
717
protected
:
718
virtual
void
v_InitObject
();
719
};
720
721
class
TimeIntegrationMCNAB
:
public
TimeIntegrationWrapper
722
{
723
public
:
724
friend
class
MemoryManager
<
TimeIntegrationMCNAB
>;
725
726
/// Creates an instance of this class
727
static
TimeIntegrationWrapperSharedPtr
create
()
728
{
729
TimeIntegrationWrapperSharedPtr
p =
730
MemoryManager<TimeIntegrationMCNAB>::AllocateSharedPtr
();
731
p->InitObject();
732
return
p;
733
}
734
/// Name of class
735
static
std::string
className
;
736
737
virtual
~TimeIntegrationMCNAB
() {}
738
739
protected
:
740
virtual
void
v_InitObject
();
741
};
742
}
743
}
744
#endif
Generated on Wed Mar 4 2015 16:33:18 for Nektar++ by
1.8.1.2