-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.tex
987 lines (867 loc) · 43 KB
/
CHANGELOG.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
\documentclass{article}
\usepackage[letterpaper, margin=1in]{geometry}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{bm}
\usepackage{alltt}
\title{Changes/additions to GOMA since last manual update}
\author{GOMA Authors}
\date{\today}
\begin{document}
\maketitle
% Changelog for GOMA. If you add a new capability to GOMA, or significantly
% change any existing feature, please quickly describe the changes below.
% Update this document and check it into the repository with your changes,
% so there will be a running documentation of new features after the GOMA 5.0
% manual. This is a LaTeX document, so unless you're familiar with LaTeX
% formatting, keep your documentation to plain text.
The purpose of this file is to provide a place to quickly catalog new capabililities in GOMA for which user-documentation is required. As of Spring 2011, the goma user manual is in Framemaker and very difficult to access and change and rebuild. Eventually everything in this file will get added to the user manual. This file provides developers a place to quickly describe their new capabilties and add the beginnings of a doc page for each. Several examples are provided.
Some rules are in order:
\begin{enumerate}
\item Please identify yourself and the date you changed this file. I know we can extract this info from the svn logs, but it is nice to have it here too. (see examples)
\item Please don't make major re-arrangements of this file because we like to be able to decipher the svn diffs.
\item Please add a syntax line for the input or mat files. This will make it easy to reconstruct when we migrate this into more permanent documentation.
\item Above all, please add your new changes!!! Even if it is terse because you don't have time.
\end{enumerate}
Finally, NOTE that we have provided several categories for changes. Specifically, 1) Configuration Management, 2) Goma Input File capabilities, 3) Goma Material file Capabilities and 4) Overall Capability. Feel free to add more categories.
%***************************************************
%***********s*******POOR-MAN's ISSUE TRACKING OUTSTANDING ITEMS
%***************************************************
Issue: CHEMKIN untested for 10 years and current test suite problems are inactive.
Issue: mm\_input.c: Domain Mapping File is a chemkin thing that needs to be deleted or ressurected.
%***************************************************
%************Configuration Management Changes*******
%***************************************************
\section{Configuration Management Changes}
\begin{alltt}
PRS 11/29/2012: NOTE ADDED REFERENCES TO OPENMPI, TRILINOS 10 to 6.0 Manual
ADDED already
Capability: Re-worked makefile system
Developer: ebenner Date 9/1/2010
Brief description: Re-worked makefile system. Makefile and Makefile_debug and
Makefile_guts are the only makefiles you need now.
ADDED already
Capability: Build system for supporting Goma TPLs
Developer: ebenner Date 9/1/2010
Brief description: Updated build system for supporting TPLs. Overall Makefile
ADDED already
Capability: upgrade to Trilinos 10.0
Developer: ebenner Date 9/1/2010
Brief description: Associated changes to goma and makefiles for Trilinos 10.0
ADDED already
Capability: upgrade to openmpi
Developer: sarober Date 9/1/2010
Brief description: Associated changes to goma and makefiles for openmpi
\end{alltt}
%***************************************************
%************Goma Input File Capabilities***********
%***************************************************
\section{Goma Input File Capabilities}
\begin{alltt}
ADDED TO MANUAL 12/2/2012:
Capability: Transient restarts.
Developer: Unknown Date: Unknown
Description: A negative restart time will trigger goma to look for the
nearest restart time value in an exodus file
Example: Initial Time = -10.0 (see Initial time card).
In this example the restart exoII file is searched for the time
closest to -10.0.
ADDED TO MANUAL 12/2/2012:
Capability: Transient external field data
Developers: smdavis, prschun Date: 3/1/2011
Brief Description: A "time_dependent" flag will bring in the nodal variable
interpolated to the current time step. This can be useful in doing
transient coupling in problems like advection-diffusion.
Example Cards: External Field = BEN_1 Q1 infile.exoII timedependent
See External Field card description. The ``timedependent'' modifier
which is optional triggers this field to be read in time from the
exodus file infile.exoII and goma calls for the time plan closest to
its actualy time plane.
Capability: BC = F_DIODE_BC Talk to randy Schunk or Scott Roberts.
Developers: prschun Date: 5/20/2011
Description: Unique boundary condition for the Fill (LS) function
which allows liquid to leave a domain, but not come in.
Example: BC = F_DIODE_BC
ADDED TO MANUAL (12/2/2012)
Capability: Level Set Initialize = variable_type init_value_minus
init_value_plus
Developers: ??
Description: No idea but I think it is to inialize other fields around the zero
level set
Example: Level Set Intialize Velocity 3.34 0
ADDED TO MANUAL (12/2/2012)
Capability: VOLUME_INT LUB_LOAD: Lubrication Load post processing capability
Developers: Randy schunk
Description: Integrate the lubrication pressure over entire mesh area.
Example:
Post Processing Volumetric Integration =
VOLUME_INT = LUB_LOAD 1 0 volume.out
END OF VOLUME_INT
ADDED TO MANUAL (12/2/2012)
Capability: Post-processing for Lame MU coefficient
Developers: Scott A. Roberts, sarober
Description: Adds an additional post processing item for the Lame MU
coefficient.
Post Processing Specifications
Lame MU = yes
ADDED TO MANUAL (12/2/2012)
Capability: Post-processing for Lame LAMBDA coefficient
Developers: Scott A. Roberts, sarober
Description: Adds an additional post processing item for the Lame LAMBDA
coefficient.
Post Processing Specifications
Lame LAMBDA = yes
ADDED TO MANUAL (12/7/2012)
Capability: Post-processing for von Mises stress and strain invariants
Developers: Scott A. Roberts, sarober
Description: Adds an additional post processing item for the post processing of
the von Mises invariants for the strain and stress tensor.
Post Processing Specifications
Von Mises Strain = yes
Von Mises Stress = yes
PRS NOT SURE WHAT TO ADD HERE TO MANUAL. UNDONE. (12/7/2012)
Capability: Post-processing of shell normals
Developers: Scott A. Roberts (sarober) Date: 2/6/2012
Description: Overloaded the SHELL_NORMALS post processing to now take the
value calculated by R_LUBP and output that.
Example:
Shell Normal Vectors = yes
ADDED TO MANUAL (12/7/2012)
Capability: Command-line override of 'Initial Time' and 'Maximum Time'
Developers: Scott A. Roberts (sarober) Date: 2/27/2012
Description: Allows setting the simulation initial (start) time and the
maximum (end) time via a command-line argument. -ts specifies initial
time while -te specifies maximum time.
Example:
./goma -a -i file.i -ts 0.001 -te 0.1
PRS NOT SURE WHAT TO ADD HERE TO MANUAL. STILL TESTING. (12/7/2012)
Capability: Added global variable Porous_liq_inventory to allow for
tracking of the actual current liquid inventory in shell porous
media. This variable is used in a user-defined boundary conditon to
shut off the inflow of liquid after a finite amount is reached. See
sample in user_bc.c under shell_p_open_user_surf
Developers: P. R. Schunk Date 7/16/2012
Description: see above
Example: see SH_P_OPEN_USER
PRS NOT SURE WHAT TO ADD HERE TO MANUAL. STILL TESTING. (12/7/2012)
Capability: Boundary condition for user-defined open pore pore
pressure. SH_P_OPEN_USER
Developers: P. R. Schunk Date 7/16/2012
Description: see above
Example: BC = SH_P_OPEN_USER {max_inventory_in_porous_media}
ADDED TO MANUAL (12/7/2012)
Capability: New second layer lubrication equation R_LUBP_2 (LUBP_2)
Developer: P. R. Schunk, August 2012
Description: Added second reynolds lubrication equation to
accommodate multilayer alternating stacks of lubrication and porous
shells, for multilayer thin porous media.
Example: EQ = lubp_2 Q1 LUBP_2 Q1 1 1 1
ADDED TO MANUAL (12/7/2012)
Capability: New second layer thin-porous open cell transport (DARCY)
equation companion to R_SHELL_SAT_OPEN, called R_SHELL_SAT_OPEN_2
Developer: P. R. Schunk, August 2012
Description: Added second open porous shell equation to accomodate
2-layer stacks of thin porous structures alternating with Reynolds
lubrication regions.
Example: EQ = shell_sat_open_2 Q1 SH_P_OPEN_2 Q1 1 1 1
Capability: Modification to GD_TIME to allow setting a maximum time
Developer: W. Ortiz
Description: User specified max time is used in place of current
solution time in order to allow a value to ramp up to a fixed
value. The max time parameter is optional.
Example:
BC = GD_LINEAR SS 1 R_MOMENTUM1 0 VELOCITY1 0 {web_speed/time_max} 0.
BC = GD_TIME SS 1 R_MOMENTUM1 0 LINEAR 0 0 1. {time_max}
BC = GD_LINEAR SS 1 R_MOMENTUM1 0 VELOCITY1 0 0. -1.
Capability: Post processing global and printing of level set points
Developer: W. Ortiz
Description: Added a new Post Processing Global section to post
processing to allow for file output post processing. The global post
processing runs at each print so that it follows printing frequency.
Printing of LS interface to text datafiles. Uses reconstruction method
(Points or Facets) to print out appropriate points representing the
level set interface.
Two options LEVEL_SET_INTERFACE_PRINT prints the interface at the last
time step and takes a file name for input and overwrites file at every
step; and LEVEL_SET_INTERFACE_PRINT_ALL_TIMES prints interface at
every time step, including the time in the output and appending to the
filename.
Allows for easier data processing of interface position, such as for
plotting.
Example:
Post Processing Global =
GLOBAL = LEVEL_SET_INTERFACE_PRINT interface.dat
GLOBAL = LEVEL_SET_INTERFACE_PRINT_ALL_TIMES interface_all.dat
END OF GLOBAL
File formats:
- LEVEL_SET_INTERFACE_PRINT (tab separated)
x_coord y_coord point_indicator
- LEVEL_SET_INTERFACE_PRINT_ALL_TIMES (tab separated)
time x_coord y_coord point_indicator
Where point_indicator is 0 always if data is for point reconstruction,
and is 0, 1 for point pairs making up facet lines for facet
reconstruction.
Capability: Boundary condition for hydrostatic pressure
Developer: D. Hariprasad, December 2014
Description: Specifies pressure as P = P_0 + rho*g*x where rho is a variable
density and the user specifies P_0.
Example: BC = FLOW_PRESSURE_VAR NS 1 0
Capability: Galerkin least-squares continuity stabilization
Developer: D. Hariprasad, February 2015
Description: Adds a Galerkin least-squares stabilization term using the residual
of the continuity equation for incompressible or steady-state compressible
flows. This should help with high Reynolds number flow. Similar to the
Pressure Stabilization already implemented in Goma. See Franca and Hughes 1988
for an abstract discussion of the method or Forster, Wall, and Ramm 2010 for a
Navier-Stokes based discussion of the method. The choice of a local or
global stability parameter is left to the user.
Example: Continuity Stabilization = local
Capability: Two-dimensional structural shell equations (extension of the
one-dimensional shell implemented in Goma)
Developer: Kristianto Tjiptowidjojo, June 2014
Description: Two-dimensional shell equations require the following:
- Three shell normal equations - only have one ETM
- Two shell curvature equations - only have two ETM
- Three mesh equations - for structural shell, we only consider
boundary, diffusion, and source ETMs
Example:
EQ = shell_normal1 Q1 SH_N1 Q1 1.0
EQ = shell_normal2 Q1 SH_N2 Q1 1.0
EQ = shell_normal3 Q1 SH_N3 Q1 1.0
EQ = mesh1 Q1 D1 Q1 0. 0. 1.0 1.0 1.0
EQ = mesh2 Q1 D2 Q1 0. 0. 1.0 1.0 1.0
EQ = mesh3 Q1 D3 Q1 0. 0. 1.0 1.0 1.0
EQ = shell_curvature Q1 K Q1 1.0
EQ = shell_curvature2 Q1 K2 Q1 1.0
mass adv bnd dif src
Capability: VOLUME_INT SHELL_VOLUME: Shell volume post processing capability
Developers: Kristianto Tjiptowidjojo
Description: Integrate the lubrication height over entire mesh area.
Example:
Post Processing Volumetric Integration =
VOLUME_INT = SHELL_VOLUME 1 0 volume.out
END OF VOLUME_INT
PRS ADDED TO MANUAL (12/11/2012) as noted:
Capability: Specialized interpolations for sharp-interface tracking.
/*
* I_FLAG CONSTANTS
* ------------------------------------------------------------------------
*
* These constants are used in the i[] field in the Problem_Description
* structure
*
* Interpolation functions for variables...
*/
PRS NOT ADDED (4)
#define I_P0_G 19 /* Piecewise constant with ghost values. */
#define I_P1_G 20 /* Piecewise linear with ghost values. */
#define I_Q1_G 21 /* Lagrangian linear with ghost values. */
#define I_Q2_G 22 /* Lagrangian quadratic with ghost
values. */
PRS ADDED (4)
#define I_P0_XV 23 /* Piecewise constant with enrichment for jump in value. */
#define I_P1_XV 24 /* Piecewise linear with enrichment for jump in value. */
#define I_Q1_XV 25 /* Lagrangian linear with enrichment for jump in value. */
#define I_Q2_XV 26 /* Lagrangian quadratic with enrichment for
jump in value. */
PRS NOT ADDED (3)
#define I_P1_XG 27 /* Piecewise linear with enrichment for jump in gradient. */
#define I_Q1_XG 28 /* Lagrangian linear with enrichment for jump in gradient. */
#define I_Q2_XG 29 /* Lagrangian quadratic with enrichment for
jump in gradient. */
PRS ADDED (6)
#define I_P0_GP 30 /* Piecewise constant confined to positive side of interface. */
#define I_P1_GP 31 /* Piecewise linear confined to positive side of interfaces. */
#define I_Q1_GP 32 /* Lagrangian linear confined to positive side of interface. */
#define I_Q2_GP 33 /* Lagrangian quadratic confined to positive side of interface. */
#define I_P0_GN 34 /* Piecewise constant confined to negative side of interface. */
#define I_P1_GN 35 /* Piecewise linear confined to negative side of interfaces. */
#define I_Q1_GN 36 /* Lagrangian linear confined to negative side of interface. */
#define I_Q2_GN 37 /* Lagrangian quadratic confined to
negative side of interface. */
PRS NOT ADDED (7)
#define I_Q1_HG 38 /* Lagrangian linear with discontinuous enrichment for jump in gradient. */
#define I_Q1_HV 39 /* Lagrangian linear with discontinuous enrichment for jump in value. */
#define I_Q1_HVG 40 /* Lagrangian linear with discontinuous enrichment for jump in value and gradient. */
#define I_Q2_HG 41 /* Lagrangian quadratic with discontinuous enrichment for jump in gradient. */
#define I_Q2_HV 42 /* Lagrangian quadratic with discontinuous enrichment for jump in value. */
#define I_Q2_HVG 43 /* Lagrangian quadratic with discontinuous enrichment for jump in value and gradient. */
#define I_TABLE 44 /* Table Interpolation */
Capability: TFMP: Thin film multiphase flow model [equations, variables, boundary conditions, post processing]
Developers: Andrew Cochrane, July 2017
Description: Multiphase model for nanoimprint lithography
Example:
BC = SHELL_TFMP_PRES_BC NS 1 1013250
BC = SHELL_TFMP_FREE_LIQ_BC SS 1
#Number of EQ = 2 # mas adv bnd dif src por
EQ = tfmp_mass Q1 TFMP_PRES Q1 1 1 1
EQ = tfmp_bound Q1 TFMP_SAT Q1 1 1 1
Post Processing Specifications
TFMP_gas_velo = yes
TFMP_liq_velo = yes
TFMP_inverse_Peclet = yes
TFMP_Krg = yes
Volumetric Integration Output Format = CSV
Post Processing Volumetric Integration =
VOLUME_INT = POROUS_LIQ_INVENTORY 1 0 volume.csv
END OF VOLUME_INT
Capability: Mapping stress from initial guess to log-conformation
tensor (see "Log-conformation formulation for viscoelastic flows" under
"Goma Material File Capabilities")
Developers: Richard Martin and Weston Ortiz
Date: 5/3/2018
Description: This input card is used with the log-conformation
tensor (with Polymer Constitutive Equation = \{OLDROYDB | GIESEKUS | PTT\} and
Polymer Stress Formulation = LOG_CONF in the material file). It is included with
the card "Conformation Map = \{yes|no\}" right after the Initial Guess
card and lets Goma know if the stress it's reading in is the regular polymer stress
or the log-conformation tensor stress. When it reads in the regular polymer
stress, you need to set "Conformation Map = yes". If the stress is already
read in as the log-conformation tensor, set "Conformation Map = no".
Example:
General Specifications
Initial Guess = read_exoII_file initial_guess.exoII
Conformation Map = yes
Capability: Post processing of log-conformation tensor (see
"Log-conformation formulation for viscoelastic flows" under
"Goma Material File Capabilities")
Developers: Richard Martin and Weston Ortiz
Date: 5/3/2018
Description: This input card is used with the log-conformation
tensor (with Polymer Constitutive Equation = \{OLDROYDB | GIESEKUS | PTT\} and
Polymer Stress Formulation = LOG_CONF in the material file). It includes a post
processing capability for the log-conformation tensor. The stress (S11, S12, and
so forth) that Goma outputs is the log-conformation stress. To map it to the
regular polymer stress, you need to set "Map Log-Conf Stress = yes" in the post-
processing cards. The regular polymer stress will then be included in the output
file as MS11, MS12, and so forth.
Example:
Post Processing Specifications
Map Log-Conf Stress = yes
Capability: Moving plane boundary condition due to etch reaction at surface
Developer: Kristianto Tjiptowidjojo
Date: February 20, 2019
Description: It is mesh boundary condition akin to MOVING_PLANE but tied
to species equation to advance the rate of propagation.
Right now, it is hardwired to wet etching KOH reaction with CGS unit.
Usage: BC = MOVING_PLANE_ETCH SS <sset> <etch plane>
Example:
BC = MOVING_PLANE_ETCH SS 53 100
Capability: Species flux boundary condition due to etch reaction at surface
Developer: Kristianto Tjiptowidjojo
Date: February 20, 2019
Description: It is species flux condition at surface
Right now, it is hardwired to CGS unit.
Usage: BC = YFLUX_ETCH SS <sset> <species number> <etch plane>
Example:
BC = YFLUX_ETCH SS 53 0 100
\end{alltt}
%***************************************************
%************Goma Material File Capabilities********
%***************************************************
\section{Goma Material File Capabilities}
\begin{alltt}
ADDED PRS (12/13/2012)
Capability: LEVEL_SET option for Electrical conductivity model
Developer: Randy Schunk Date: 5/20/2011
Description: LEVEL_SET model allows for this property to be changed
from one phase to another, with the phase being marked
with a level-set 0.
Example: Electrical Conductivity = LEVEL_SET 0.1 .0943 0
In this example the value of electrical conductivity is 0.1 on the
negative side of the interface and 0.943 ont he positive.
Capability: LEVEL_SET option for all properties on THERMAL, CARREAU, and CARREAU_WLF models
Developer: prschun Date 5/20/2011
Description: See electrical conductivity card above.
Example:
ADDED PRS (12/13/2012)
Low Rate Viscosity = LEVEL_SET {mu} {1.0} 0.
ADDED PRS (12/13/2012)
Power Law Exponent = LEVEL_SET {1.0} {0.55} 0.
ADDED PRS (12/14/2012)
High Rate Viscosity = LEVEL_SET {mu} {0.067} 0.
ADDED PRS (12/14/2012)
Time Constant = LEVEL_SET {0.1} {0.1} 0.
ADDED PRS (12/14/2012)
Aexp = LEVEL_SET {2.} {2.} 0.
ADDED PRS (12/14/2012)
Thermal Exponent = LEVEL_SET {0} {2.05} 0.
ADDED PRS (12/14/2012)
Thermal WLF Constant2 = LEVEL_SET {0.681} {0.681} 0.
ADDED PRS (12/14/2012)
Capability: JOULE_LS model on shell energy equation Ext_field card
ADDED PRS (12/14/2012)
Capability: POLY_TIME lubrication height function model.
Developer: Scott Roberts Date: 7/18/2011
Description: Allows an arbitrary-order polynomial (in time) as the height function
model for the upper height function in lubrication problems. Called through
the material file card
Upper Height Function Constants = POLY_TIME c_0 c_1 c_2 c_3 ...
where the c_i is the constant in front of the t^i term.
ADDED PRS (12/17/2012)
Capability: TANGENTIAL_ROTATE lubrication velocity model
Developer: sarober Date: 8/9/2011
Description: Allows the unique specification of tangential motion in a lubrication
shell element. Previous implementations allowed specification only in terms of
coordinate directions, but this can be used to rotate a cylinder.
Example:
Lower Velocity Function Constants = TANGENTIAL_ROTATE {tx} {ty} {tz} {U1} {U2}
The t vector must never be normal to the shell. It is then projected onto the
shell, and the U1 velocity is specified in a direction that is the cross product
between the shell normal and the t vector. The U2 velocity is then specified in a
direction that is normal to that first velocity.
ADDED PRS (12/17/2012)
Capability: JOURNAL bearing lubrication height function model.
Developer: sarober Date: 8/9/2011
Description: Allows the height function to simulate a journal bearing. It is only
tested for the case where you are rotating a cylinder that is aligned with the
z coordinate and is centered at (0,0). The parameters are the mean gap thickness
and the eccentricity.
Example:
Upper Height Function Constants = JOURNAL {Hlub} {ecc}
ADDED TO ALL PERTINENT PROPERTIES (PRS 12/21/2012)
Capability: TABLE based material parameters
Developers: Tom Baer and Allen Roach Date: 1998-1999
Description: Many material properties (e.g. viscosity) are able to be defined through
a table as a function of another variable, such as temperature. This is not documented
anywhere in the manual.
ADDED PRS (12/21/2012...The eve of the end of the mayan world)
Capability: TABLE for LAME MU
Developers: sarober Date: 10/07/2011
Description: Specify the LAME MU coefficient through a table as a function of temperature.
Example:
ADDED PRS (12/17/2012)
Capability: POISSON_RATIO for LAME LAMBDA
Developers: sarober Date: 10/07/2011
Description: If you have a complex model for your Lame mu coefficient already, why repeat
it for lambda? \(\lambda=2\mu\nu/(1-2\nu)\)
Example: Lame LAMBDA = POISSON_RATIO 0.3
ADDED PRS (12/18/2012)
Capability: ADD TREF reference to BOUSSINESQ and BOUSS models
Capability: Lame Temperature Shift = {CONSTANT | POWER_LAW | TABLE}
Developers: prschun Date: 4/10/2012
Description: Applieds a temperature shift fact to LAME Mu models (right now
hardwired to only work with the Lame Mu = TABLE option). When you use the
Lame Mu = TABLE card you must supply the card
Lame Temperature Shift = CONSTANT {flt}
or
Lame Temperature Shift = POWER_LAW {Troom} {Tmelt} {exponent}
Example: Lame Temperature Shift = POWER_LAW 25. 550. 0.94
Capability: Shell extensional stiffness = {CONSTANT}
Developers: Kristianto Tjiptowidjojo Date: June 2014
Description: Specified extensional stiffness for the membrane part of the
two-dimensional shell equations
Example: Shell extensional stiffness = CONSTANT 1.0e6
Capability: Shell Poisson ratio = {CONSTANT}
Developers: Kristianto Tjiptowidjojo Date: June 2014
Description: Specified Poisson ratio for the two-dimensional shell equations
Example: Shell Poisson ratio = CONSTANT 0.3
Capability: Liquid Constitutive Equation = SYLGARD
Developer: RRRAO
Descritpion and problem: temperature dependent polymer concentration model
specifically for this sylgard material. NOT ADDED TO MANUAL.
Capability: Liquid Constitutive Equation = FOAM_EPOXY
Developer: RRRAO
Descritpion and problem: Need to add to goma6.0 manual a description of this model.
NOT ADDED TO MANUAL.
Capability: FlowingLiquid Viscosity Card EPOXY
Developer: Kristianto Tjiptowidjojo
Description: Add epoxy curing model to the increase of FlowingLuqid Viscosity in
Brinkman term of momentum equation. The functional form is the same as EPOXY
model in Liquid Constitutive Equation
Example: FlowingLiquid Viscosity = EPOXY {mu0} {alpha_g} {A} {B} {Aexp} {species_num}
mu_0 is viscosity at reference, i.e. unreacted, state; alpha_g is extent
reaction at gel point;
A and B are exponents of extent-of-reaction dependence;
Aexp is the exponent of thermal, i.e. Arrhenius, dependence;
and species_num is the species index in integer that track the extent of reaction
in the species equation
Capability: Dilational Viscosity
{TABLE ! DILVISCM_KAPPAWIPESMU? | ...}
Developer: RRRao?????
Exmamples???
Capability: Shell User Parameter = float 1, etc. In material file
Developer: rbsecor???
Description: Looks like this was an experimental capability to feed paramters
with old lubrication shell technology used by robert secor et al.
Action: Check with him and rip it out if no longer needed.
Capability: Acoustic Wave Number (material property card??)
Developer: rbsecor
Examples None
Capability: Acoustic Impedance (material property card??)
Developer: rbsecor
Examples None
Capability: Acoustic Absorption
Developer: rbsecor
Examples None
ADDED PRS (12/21/2012)
Capability: Lower Velocity Function Card SLIDER_POLY_TIME
Developers: prschun Date: 10/26/2011
Description: New model for the Lower velocity function card which allows a
general time-polynomial. The first constant is a time-scale factor which can
be used to scale the time, and the remainder are the coefficients of the
polynomial in time starting from the constant term.
Example:
Lower Velocity Function Constants = SLIDER_POLY_TIME {time_scale = 1000.}
{-1.0*100.0*44.170122} {100.*361.41971} {-100.*807.45844} {100*256.08906}
{-100.*35.316517} {100.*2.1560711} {-100.*0.030632551} {-100.*0.0013365347}
ADDED PRS (12/21/2012)
Capability: Upper Velocity Function Card CIRCLE_MELT
Developers: Scott A. Roberts, sarober Date: 03/20/2012
Description: New model for the upper velocity function card which allows a
converging or diverging height that is like a circle. Also works with melting.
First coefficient is the x location of the circle center, second coefficient is
the radius, and the third is the minimum height.
Example:
Upper Velocity Function Constants = CIRCLE_MELT {x_0=5} {r=1} {hmin=0.001}
Capability: Faux plasticity model
Developers: Scott A. Roberts, sarober, Date: 4/10/2012
Description: Short of using a full EVP model, it may be possible to ``fake''
plasticity by lowering the lame coefficients once the strain gets into the
plastic regime, according to the stress-strain curve of the material. This new
capability allows the user to input the stress-strain curve, and the Lame mu
will be calculated from the von Mises stress and strain, applied to the stress
strain curve. Also, must use Poisson Ratio as the model for Lame Lambda so
everything is consistent.
Example:
Lame MU = TABLE 2 FAUX_PLASTIC 0 LINEAR FILE=stress_strain.txt
Lame LAMBDA = POISSON_RATIO 0.33
ADDED TO MANUAL PRS (12/21/2012)
Capability: LOWER_DISTANCE model for Lower Height Function Model
Developers: Scott A. Roberts, sarober
Date: May 2, 2012
Description: Allow user to specify an arbitrary lower height function model via
a TABLE read that is translated in the x direction with the lower velocity
function model. Requires use of the SLIDER_POLY_TIME lower velocity function
model.
Example:
Lower Height Function Constants = TABLE 2 LOWER_DISTANCE 0 LINEAR FILE=shell.dat
Contents of shell.dat is a table with 2 columns. The first is a position, the
second is a height.
ADDED TO MANUAL PRS (12/22/2012)
Capability: NEW POROUS CLOSED SHELL and POROUS OPEN SHELL cards
required
Developer: Randy Schunk, prschun
Date June 1, 2012
Description: Hooked up shell porous media to main infrastructure of
porous media equations in goma. This entailed some substantial changes
to the material files. I attempt to give you a recipee of the
changes required to run open and closed shell porous media problems.
Examples: see below
ADDED TO MANUAL PRS (12/22/2012)
NEW CARDS and Models
Capability: New Media type for shell porous media
POROUS_SHELL_UNSATURATED
Developer: Randy Schunk, prschun
Description: this type forces the material file inputs for porous
properties to be taken from the regular porous media cards.
Example:
Media Type = POROUS_SHELL_UNSATURATED
ADDED TO MANUAL PRS (12/22/2012)
Capability: New Saturation model. SHELL_TANH
Developer: Randy Schunk, prschun
Description: This model was written by Scott Roberts. I simply moved
it from the hardwired mode to the input deck.
Example:
Saturation = SHELL_TANH {sigma=25.} {theta=30.0} {Rmin =0.1*R} {Rmax = 10.*R}
ADDED TO MANUAL PRS (12/22/2012)
Capability: Rename of Porous Shell Height card
Developer: Randy Schunk, prschun
Description: ``Porous Shell Height'' card is simply a name change
from ``Porous Shell Closed Height'' card.
Example:
Porous Shell Height = CONSTANT 0.00001
ADDED TO MANUAL PRS (12/22/2012)
Capability: Rename of Porous Shell Radius card
Developer: Randy Schunk, prschun
Description: ``Porous Shell Radius'' card is simply a name change
from ``Porous Shell Closed Radius'' card.
Example:
Porous Shell Radius = CONSTANT 0.00001
ADDED TO MANUAL PRS (12/22/2012)
Capability: Cross shell permeability kappa card
Developer: Randy Schunk, prschun
Description: Required card for all shell porous media models. this
card sets the cross-shell permeability. Currently only used for open
porous shells.
Example:
Porous Shell Cross Permeability = CONSTANT {20*0.000000819505}
ADDED TO MANUAL PRS (12/22/2012)
Capability: Permeability EXTERNAL_FIELD model
Developer: Randy Schunk
Description: Brings in exoII mapping of porous permeability as computed
from an image-to-mesh capability
Example: Permeability = EXTERNAL_FIELD {1.0}
ADDED TO MANUAL PRS (12/22/2012)
Capability: Saturation TANH_EXTERNAL model
Developer: Randy Schunk
Description: Brings in exoII mapping of porous saturation function as computed
from an image-to-mesh capability. The mapped field is on a 0-1 gray
scale between two regions, and the capillary saturation curves are
scaled linearly between two extremes on this scale. The first 4 floats
are for the first curve, and the second 4 for the second curve. The
definitions of the floats are given on the TANH saturation model
Example: Saturation = TANH_EXTERNAL 0.2 0. 2.0 70000.0 0.2 0. 1.1 100000.0
ADDED TO MANUAL PRS (12/22/2012)
Capability: Cross shell permeability kappa EXTERNAL_FIELD model
Developer: Randy Schunk
Description: Brings in exoII mapping of this permeability as computed
from an image-to-mesh capability
Example: Porous Shell Cross Permeability = EXTERNAL_FIELD {1.0}
ADDED TO MANUAL PRS (12/22/2012)
Capability: Porous Shell Initial Pore Pressure card
Developer: Randy Schunk, prschun
Description: Required card. Place holder for shell porous media initial pressure.
Example:
Porous Shell Initial Pore Pressure = CONSTANT -4000
Recipee for converting all POROUS CLOSED SHELL MODELS (Take out -
cards, and add + cards):
Porous Shell Closed Porosity = CONSTANT 0.1
-Porous Shell Closed Height = CONSTANT 0.00001
-Porous Shell Closed Radius = CONSTANT 0.00001
+Porous Shell Height = CONSTANT 0.00001
+Porous Shell Radius = CONSTANT 0.00001
Porous Shell Closed Gas Pressure = CONSTANT 1.0e6
Porous Shell Atmospheric Pressure = CONSTANT 1.0e6
Porous Shell Reference Pressure = CONSTANT 0.0
+Porous Shell Cross Permeability = CONSTANT {0.}
+Porous Shell Initial Pore Pressure = CONSTANT 0.
Recipee for converting all POROUS OPEN SHELL MODELS (Take out -
cards, and add + cards):
# Porous term terms for linking lubrication to level set field
-Media Type = POROUS_BRINKMAN
-Porosity = CONSTANT 1.0
-Permeability = CONSTANT 1.0
-Brinkman Porosity = CONSTANT 1.0
-Brinkman Permeability = CONSTANT 1.0
-FlowingLiquid Viscosity = CONSTANT 0.0
-Inertia Coefficient = CONSTANT 0.0
+Media Type = POROUS_SHELL_UNSATURATED <<<<N. B.!
+Porosity = CONSTANT {0.4}
+Permeability = ORTHOTROPIC {2*0.000000819505} {2*0.000000819505} {2*
0.000000819505} 1. 0. 0. 0. 1. 0. 0. 0. 1.
+Capillary Network Stress = PARTIALLY_WETTING
+Rel Gas Permeability = CONSTANT {1./0.01}
+Rel Liq Permeability = VAN_GENUCHTEN 0. 0. 0.7 {lqvisc=0.01}
+{R=0.01}
+Saturation = SHELL_TANH {sigma=25.} {theta=30.0} {Rmin = 0.1*R} {Rm
ax = 10.*R}
+
+--Misc Porous numerical props (Porous Section 2)
+Porous Weight Function = SUPG 1.0
+Porous Mass Lumping = true
+Porous Advective Scaling = CONSTANT 0 1.
+
+---Porous Species Properties (Porous Section 3)
+/* Darcy fickian only for saturated media */
+Porous Diffusion Constitutive Equation = DARCY_FICKIAN
+Porous Gas Diffusivity = CONSTANT 0 0.
+
+Porous Latent Heat Vaporization = CONSTANT 0 0.
+Porous Latent Heat Fusion = CONSTANT 0 0.
+Porous Vapor Pressure = NON_VOLATILE 0 0.
+Porous Liquid Volume Expansion = CONSTANT 0 1.
+ ^
+***Species Number (all zero for primary liquid solvent)****|
+
+--Porous Gas-inert properties
+/*Note. if you change p_ambient here you need to make sure the initialize
+card and the boundary conditions are compatible with the saturation curve. */
+
+Porous Gas Constants = IDEAL_GAS {mwair=0} {rgas=0} {temp=0} {p_amb
ient=0}
+
+
####################
### Source Terms ###
####################
@@ -62,11 +88,13 @@
### Porous Shell Terms ###
##########################
Porous Shell Closed Porosity = CONSTANT 0.1
-Porous Shell Closed Height = CONSTANT 0.25
-Porous Shell Closed Radius = CONSTANT 0.01
+Porous Shell Height = CONSTANT 1.0
+Porous Shell Radius = CONSTANT 0.01
Porous Shell Closed Gas Pressure = CONSTANT 1e6
-Porous Shell Atmospheric Pressure = CONSTANT 1e6
+Porous Shell Atmospheric Pressure = CONSTANT 0.
Porous Shell Reference Pressure = CONSTANT 1e6
+Porous Shell Cross Permeability = CONSTANT {20*0.000000819505}
+Porous Shell Initial Pore Pressure = CONSTANT -4000
Capability: TFMP: Thin film multiphase flow model [equations, variables,
boundary conditions, post processing]
Developers: Andrew Cochrane, July 2017
Description: Multiphase model for nanoimprint lithography
Example:
Upper Height Function Constants = CONSTANT_SPEED -1925e-7 2000e-7
FSI Deformation Model = FSI_SHELL_ONLY
Thin Film Multiphase Density = CONSTANT {44.01} {83146217.5} {298.15} {1013250.}
Thin Film Multiphase Viscosity = CONSTANT {mu_g} {mu_l}
Thin Film Multiphase Diffusivity Model = PIECEWISE {bdif} {tfmp_diff_center} {tfmp_beta_d}
Thin Film Multiphase Mass Lumping = TRUE
Thin Film Multiphase Clipping = {tfmp_clip} {tfmp_clip_strength}
Thin Film Multiphase Relative Permeability Model = PIECEWISE {Scg} {alphag} {Scl} {alphal}
Thin Film Multiphase Dissolution Model = SQUARE 2.233e-5 3.3555e-11 44.01
Thin Film Multiphase Drop Lattice = SQUARE 1.0 1.0
Capability: Log-conformation formulation for viscoelastic flows
Date: 5/3/2018
Developers: Richard Martin, Weston Ortiz
Description: Uses an alternate formulation for the Oldroyd-B, Giesekus,
and PTT polymer constitutive models, using the log-conformation tensor. It
is included as "Polymer Stress Formulation = LOG_CONF" underneath
the Polymer Constitutive Equation card in the material file. The
stress tensor that it outputs (S11, S12, S22, and so forth) is the log-conformation
tensor, not the regular polymer stress. Two input cards can be included in the
input deck: "Conformation Map = \{yes|no\}", and "Map Log-Conf Stress = \{yes|no\}".
The Conformation Map is included after the Initial Guess card, and
lets Goma know if the stress in the initial guess file is the regular polymer stress
(hence, "Conformation Map = yes"), or if the stress is read in as
the log-conformation tensor ("Conformation Map = no"). In post
processing, "Map Log-Conf Stress = yes" will output the regular polymer stress
as MS11, MS12, and so forth. The log-conformation formulation works for multimode
constitutive equations and 2-dimensional cases (does not work in 3D). See "Mapping
stress from initial guess to log-conformation tensor" and "Post processing of
log-conformation tensor" under "Goma Input File Capabilities" for more
information.
Example:
Polymer Constitutive Equation = \{OLDROYDB | GIESEKUS | PTT\}
Polymer Stress Formulation = LOG_CONF
Polymer Weight Function = SUPG
\end{alltt}
%***************************************************
%************Overall Capabilities*******************
%***************************************************
\section{Overall Capabilities}
In this section add brief description of a general capability which has been
added which may involve many input cards, etc. Those cards should appear in the
above sections.
\begin{alltt}
ADDED TO MANUAL PRS (12/22/2012)
Capability: Enable phase fields with shell elements and in parallel.
Developer: Randy Schunk, Aug 2012
Brief description: Phase field was not compatible with parallel
processing (dp_vif, brk/fix, etc.). Fixed this. Also enabled
phase field to be used with thin shell lubrication with R_LUBP_2
equation)
ADDED TO MANUAL PRS (12/22/2012).
Capability: True shell element capability.
Developer(s): prschun, sarober, tjipdowi, hkmoffa. Date: 2009-2011
Brief Description. 3D shells you must use a SHELL4 or SHELL9 element type in exodus.
Many shell equations added now. Seperate user-manual exists for this.
ADDED TO MANUAL PRS (12/22/2012)
Capability: Time-dependent exodus II input:
Developer(s): smdavis, prschun. Date: 3/1/2011
Brief Description: We have the ability now to bring in transient field data to drive a
calculation. That is, if the external field variable is flagged appropriately, then
that information is brought in at every selected time step and interpolated to best
match the given time step size.
ADDED TO MANUAL PRS (12/22/2012)
Capability: Pixel-to-image-to-mesh capability.
Developer(s): prschun, esecor, tjipdowi, sarober Date:8/9/2011
Brief Description: We can now read in through external fields a pixel map in the format
no. pixel points
x_1 y_1 z_1 value
x_2 y_2 z_2 value
...
x_N y_n z_n value
ADDED TO MANUAL PRS (12/22/2012)
External Pixel Field = {variable name} {Q1|Q2} pixel.txt {blockid}
With this capability one can read in a pixel field generated from any drawing tool or
any image (in this format) and map it onto the mesh for a variety of uses as an
external field variable. More to come.
Capability: Maximum-through-time history of von Mises strain in mesh
Developer(s): Scott A. Roberts, sarober Date: 4/12/2012
Brief Description: Calculates the maximum von Mises strain that has been experienced
at any given material point. This was designed to be used for FAUX_PLASTICITY, and will
soon be required for its use.
Example:
EQ = max_strain Q1 MAX_STRAIN Q1 1 1
Capability: Documentation and testing of element quality specifications
(rd_elem_quality_specs in mm_input.c)
Developers: Randy Lober (circa 1998)
Description: These capabilities are used to ouput and possibly deploy in solution
control of element quality during free and moving boundary ALE calculations. They have
really never been used, but the idea wass for adaptivity.
The issue here is that there use is NOT documented. Should they be? Or should they be
deprecated. The cards are:
Jacobian quality weight= yes | TRUE
Volume change quality weight=
Angle quality weight=
Triangle quality weight=
Element quality tolerance type=
Capability: TFMP: Thin film multiphase flow model [equations, variables, boundary
conditions, post processing]
Developers: Andrew Cochrane, July 2017
Description: Multiphase model for disperse and separated gas-liquid lubrication flow with
gas dissolution.
\end{alltt}
\begin{align*}
\frac{\partial Sh}{\partial t} + \bm{\nabla \cdot} (\bm{\bar{v_l}}h) &= 0 \\
\frac{\partial \rho_g(1-S)h}{\partial t} + \bm {\nabla} \cdot (\bm{\bar{v_g}}\rho_gh) + J &= 0
\end{align*}
\begin{alltt}
Capability: Coupled Shell-Membrane and TFMP model [equations, variables, boundary
conditions, post processing]
Developers: Andrew Cochrane and Kristitanto Tjiptowidjojo, October 2017
Description: Membrane equations based on Pranckh dissertation and Soedel book, more info
in Cochrane dissertation.
A quasi-static steady-state model for the web structure develops under the application of
total force balance. The tangential force balance equations comprise extension stress,
shear of the web and bending moment stress
\end{alltt}
\begin{subequations}
\begin{align*}
&\boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{N}_1& & + \kappa_1 \boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{M}_1& &= 0\\
&\boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{N}_2& & + \kappa_2 \boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{M}_2& &= 0\\
&\text{Extension and}& &\text{Bending moments about}& \nonumber&\\
&\text{web-plane shear}& &\text{axes in the web-plane}& \nonumber&
\end{align*}
\end{subequations}
\begin{alltt}
The normal force balance equation contains components that arise from extension around
a curve, bending moments and applied pressure.
\end{alltt}
\begin{align*}
&\kappa_1 N_{11} + \kappa_2 N_{22}& & - \boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{M}_1 - \boldsymbol{\nabla}_\mathrm{II} \cdot \boldsymbol{M}_2& &+ F& = 0 \label{eq:3dshell_normal_balance}\\
&\text{Curved extension}& &\text{Bending moments}& &\text{Applied pressure}& \nonumber
\end{align*}
\begin{alltt}
Capability: Coupled Inextensible Shell structure mechanics and TFMP model [equations,
variables, boundary conditions, post-processing]
Developers: Andrew Cochrane, August 2018
Description: Inextensible shells equations based on [2003 Carvalho], GT-027, and Pranck
dissertation are coupled to TFMP equations. Motion of the upper and lower bounding surfaces
is implemented in the TFMP equations. The target problem is a lubrication layer supported
web wrapped around a rotating roller. The results are comparable to the predictions of foil
bearing theory. See forthcoming article [2019 Cochrane].
\end{alltt}
\begin{alltt}
This inextensible shell equations of structural mechanics:
\end{alltt}
\begin{align*}
\frac{\partial T}{\partial s} + \kappa \frac{\partial }{ \partial s }( \kappa D ) + P_t &= 0 \\
- \frac{\partial^2}{\partial s^2}(\kappa D) + \kappa T + P_n &= 0
\end{align*}
\begin{alltt}
The equations of mesh position/deformation:
\end{alltt}
\begin{align*}
%\frac{\partial^2 x}{\partial s ^2} + \kappa \frac{\partial y}{\partial s} &= 0 \label{eq:circle_d2x_ds2}\text{ or}\\
\frac{\partial^2 y}{\partial s ^2} - \kappa \frac{\partial x}{\partial s} &= 0
\end{align*}
\begin{align*}
\frac{\partial^2 s}{\partial \xi^2} = 0
\end{align*}
\begin{alltt}
The thin film multiphase flow equations, extended to include tangential motion of the
confining boundaries:
\end{alltt}
\begin{align*}
\frac{\partial Sh}{\partial t} + \frac{\partial}{\partial s} \left(h v_l + Sh\frac{u_a + u_b}{2}\right) &= 0 \\
\frac{\partial \rho_g(1-S)h}{\partial t} + \frac{\partial}{\partial s} \left(\rho_g h v_g + \rho_g (1-S)h\frac{u_a + u_b}{2}\right) &= 0
\end{align*}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End: