# TransNFV: Integrating Transactional Semantics for Efficient State Management
in Virtual Network Functions

Zhonghao Yang
SUTD  Shuhao Zhang
SUTD  Binbin Chen
SUTD

###### Abstract

Managing shared mutable states in high concurrency state access operations is
a persistent challenge in Network Functions Virtualization (NFV). This is
particularly true when striving to meet chain output equivalence (COE)
requirements. This paper presents TransNFV, an innovative NFV framework that
incorporates transactional semantics to optimize NFV state management. The
TransNFV integrates VNF state access operations as transactions, resolves
transaction dependencies, schedules transactions dynamically, and executes
transactions efficiently. Initial findings suggest that TransNFV maintains
shared VNF state consistency, meets COE requirements, and skillfully handles
complex cross-flow states in dynamic network conditions. TransNFV thus
provides a promising solution to enhance state management and overall
performance in future NFV platforms.

##  1 Introduction

Network Function Virtualization (NFV) has revolutionized network function
deployment through software-based Virtualized Network Functions (VNFs) [7].
This shift brings improved flexibility, adaptability, and cost-efficiency
compared to traditional hardware-based solutions. However, managing stateful
VNFs, particularly those handling cross-flow states shared among multiple
instances, poses considerable challenges. Moreover, NFV must fulfil chain
output equivalence (COE) requirements, ensuring that the VNF actions across an
NFV chain align with a hypothetical, always-available, single NF with infinite
capacity [5]. These challenges are even more pronounced in emerging 5G/6G
networks, where the dynamic bandwidth allocation model based on user needs and
network conditions necessitates optimal shared resource allocation and
efficient VNF performance [1].

Despite significant progress, existing NFV frameworks face difficulties in
managing shared VNF states and complying with COE requirements under dynamic
network conditions [2, 6, 9, 11, 4, 5, 13]. To address this, we present
TransNFV, a ground-breaking NFV framework designed to manage cross-flow states
efficiently while ensuring COE compliance. TransNFV distinguishes itself by
employing database transaction concepts to encapsulate state access operations
in VNFs into distinct units. This unique approach ensures the consistency and
reliability of shared mutable states across VNF instances and provides an
effective strategy for managing cross-flow states while addressing COE
complexities.

To realize such an approach, TransNFV introduces four novel mechanisms: (i)
transaction modelling for VNFs, (ii) transaction planning to resolve
dependencies, (iii) adaptive transaction scheduling based on real-time
execution status, and (iv) efficient concurrent transaction execution. These
features contribute to TransNFV’s scalability, adaptability, and robustness.
Initial experiments demonstrate the potential of TransNFV to significantly
improve strategies in managing cross-flow states under dynamic network
conditions. In particular, our results show that TransNFV outperforms the most
closely related work, CHC framework [5], with up to double the throughput and
2.5 times lower processing latency while maintaining the same COE compliance.

The remainder of this paper is organized as follows: Section 2 presents a
motivating example to underscore the need for an innovative approach to shared
state management in NFV. Section 3 details the unique mechanisms of TransNFV.
Section 4 provides an in-depth view of the TransNFV prototype. Section 5
discusses our early-stage results, and we conclude in Section 6 with a summary
and discussion of potential future work.

##  2 Motivation

Achieving chain output equivalence (COE) in NFV chains, especially under high-
throughput, low-latency demand is a daunting task. Existing NFV frameworks
fall short of fully addressing these challenges. This section underscores
these hurdles via an example.

###  2.1 Motivating Example

Figure 1: An Example NFV Chain.

Figure 1 shows a representative NFV chain that consists of Network Address
Translation (NAT), Load Balancing (LB), and Trojan Detection (TD). Although
these functions, deployed sequentially across different Virtual Network
Function (VNF) instances, handle distinct packet flows, they rely on shared
state objects, which adds complexity to state management in VNFs [3]. Each
function operates as follows:

  1. 1.

Network Address Translation (NAT): On receiving a new connection, NAT
instances select an available port from a shared list and update the per-flow
state with the connection’s port mapping. Simultaneously, they manage cross-
flow states like the available ports and total packet count.

  2. 2.

Load Balancing (LB): LB instances allocate incoming packets to a suitable
server based on its current capacity. They also maintain a connection-to-
server mapping and collaborate with other instances to keep track of the
active connections and byte count per server.

  3. 3.

Trojan Detection (TD): TD instances monitor flow timings across different
connections on each host to detect Trojan Horse attacks by identifying
predefined malicious patterns.

From this operational breakdown of the representative NFV chain, we distill
two overarching challenges intrinsic to the management of states in VNFs. The
first challenge arising from this example is the need for COE in NFV chains, a
concept elaborated in [5]. This requirement equates to:

  * •

Availability: Every instance in our chain, whether NAT, LB, or TD, must have
continuous and up-to-date access to the shared state. This need is crucial
even in the face of network fluctuations, such as instance failures or changes
in traffic allocation. For instance, if a NAT instance fails, the system
should swiftly provide an up-to-date state to the replacement instance to
ensure seamless service.

  * •

Consistency: Certain instances in our example, like NAT and LB, need to update
shared states, including available ports and the active number of connections
per server. Synchronizing these concurrent state updates is crucial for
maintaining the consistency of shared cross-flow states.

  * •

Ordering: In some network functions, it’s vital to track the order of incoming
traffic. For instance, a TD instance looks for threats based on a specific
sequence of network events. Any mix-up in this order, possibly due to network
congestion or recovery from failure, can cause incorrect detections. The issue
gets more complex with multiple detectors, underscoring the importance of
preserving traffic order in managing VNF states.

  * •

Isolation: Every module in the NFV chain should be able to recover
independently from a failure without causing disruptions in the chain. For
instance, if an LB instance fails and recovers, it should not affect the
operation of NAT or TD instances.

The second challenge resides in the need to maintain execution efficiency
while ensuring COE. Particularly in our example, this involves several key
components:

  * •

Concurrent State Access: Both NAT and LB instances require concurrent reading
and updating of shared state objects across multiple instances, such as the
available ports list and server capabilities. The absence of adequate
synchronization mechanisms could lead to significant contention overhead,
affecting efficiency;

  * •

Dynamic Traffic Conditions: The NFV Chain must operate under dynamic traffic
conditions characterized by frequent instance failures and network bursts.
This requires mechanisms capable of discarding associated updates, reverting
to a safe state, and efficiently redistributing traffic processing to prevent
redundancy. For instance, a sudden surge in traffic could overwhelm the LB
instances, necessitating rapid reallocation of traffic to maintain service
quality;

  * •

Cross-flow State Management: The complexity of managing cross-flow states
under such dynamic conditions is a non-trivial task. Given the shared state
nature of our example, i.e., available ports, server capabilities, and active
connections per server maintaining efficiency while ensuring COE is an
intricate challenge.

###  2.2 Limitations of Previous Work

The field of Network Function Virtualization (NFV) has witnessed considerable
progress. Yet, current NFV frameworks [12, 10, 4, 5, 13, 11] struggle to
efficiently manage VNF states while maintaining chain output equivalence
(COE).

Certain frameworks, such as FTMB [12], Pico Replication [10], and Split/Merge
[11], primarily focus on state access availability. They seek to preserve
state availability during traffic reallocation and failure recovery by
discarding state changes. However, their assumption of static states restricts
their applicability in real-world situations, which commonly involve state
changes.

Managing shared mutable VNF states and satisfying COE requirements is a
daunting task. Frameworks like OpenNF [4] and S6 [13] have attempted to
address mutable states within a single VNF but not across multiple instances.
Other frameworks [2, 6, 9, 11, 4, 5, 13] have made strides to support mutable
states across multiple VNF instances, but they either overlook cross-flow
states or make assumptions of perfect traffic partitioning, which simplifies
the issue but neglects the intricacies of state sharing among instances.

Recently, certain frameworks, such as OpenNF [4], CHC [5], and others [13,
11], have strived to maintain cross-flow state consistency during execution.
However, they still face difficulties with the rigorous demands of COE, like
state consistency during instances’ replication and ensuring state access
order. These solutions also tend to fall short in dynamic network conditions,
including instance failure or traffic reallocation.

Among these, the CHC framework [5] stands out for its attempt to fully
accommodate COE requirements. Yet, it also has limitations. Its coarse-grained
approach to managing cross-flow state results in considerable overhead. CHC’s
strategy for caching or flushing state objects, based on upstream traffic
partitioner information, leads to frequent transfers between cache and main
memory, resulting in high communication overhead. Moreover, the employment of
mechanisms like locks to preserve consistency across multiple instances incurs
additional overhead.

##  3 Key Mechanisms

TransNFV combines transactional semantics with NFV state management, enabling
efficient stateful VNFs execution while ensuring chain output equivalence
(COE). This is achieved through four key mechanisms: 1) modelling shared state
access operations of VNFs as transactions, 2) identifying and resolving
dependencies among VNF state access operations using a task precedence graph
(TPG), 3) adaptively scheduling transactional workloads based on real-time
execution status, and 4) execute transactions correctly and efficiently. These
approaches help TransNFV tackle challenges associated with shared state
management in previous NFV frameworks.

###  3.1 Modelling VNF State Access

TransNFV employs a graph-based representation to express the VNF chain as a
directed acyclic graph (DAG), where vertices represent VNFs, and edges denote
the flow of traffic between VNFs. Additionally, TransNFV outlines three types
of state access operations in each VNF: $READ$, which fetches the value of a
state object; $WRITE$, which updates the state object with specific values;
and $READ\\_MODIFY$, which reads and modifies the value of a state object.
TransNFV models VNF execution logic through three steps: pre-processing, state
access, and post-processing.

  * •

The _pre-processing_ step includes identifying state entries linked to state
access requests of incoming packets, as well as executing parts of the VNF
logic that do not require accessing the state.

  * •

The _state access_ step involves state access operations (i.e., $READ$,
$WRITE$ or $READ\\_MODIFY$) on the shared state objects.

  * •

The _post-processing_ step performs additional actions based on the results of
the state access operations, and carries out parts of the VNF logic that rely
on the returned value of state access.

To ensure VNF state consistency and integrity, TransNFV incorporates
transactional semantics into VNF state management. Notably, it treats a set of
state access operations collected during the state access step as a single
atomic transaction, meaning all modifications triggered by a packet are either
fully committed or completely aborted. This approach provides an efficient
mechanism to handle VNF instance failures. When a VNF instance fails, TransNFV
ensures any modifications made by the failed instance are discarded and
isolated from other operations. Furthermore, the failed state access
operations can be re-executed as a transaction to ensure correct execution,
leading to reliable and consistent state objects even under dynamic network
conditions.

###  3.2 Dependency Identification

TransNFV adapts to the dynamic scheduling of transactional workloads at
runtime by mapping these workloads and their dependencies to a task precedence
graph (TPG). The TPG is designed to capture and resolve three types of
dependencies:

  * •

_Temporal Dependency (TD)_ : This depicts the temporal relationship between
two state access operations stemming from different transactions, but
targeting the same state. TD ensures that state accesses maintain an order
that aligns with the sequence of packet arrivals, thereby satisfying the
ordering requirement.

  * •

_Parametric Dependency (PD)_ : This captures the parametric relationship
between two state access operations that write to the same state, where one
write operation is contingent on the outcome of the other. PD tracking is
employed by the system to address potential conflicts among write operations
in the VNF logic, adhering to the consistency requirement.

  * •

_Logical Dependency (LD)_ : This denotes the logical relationship among state
access operations within a single transaction. By tracking LD, TransNFV
ensures that all operations within a transaction are tightly connected and, in
the event of failures, can be collectively aborted, adhering to the
availability and isolation requirements.

TransNFV captures the transactional dependencies within each batch of state
transactions by constructing a TPG. However, identifying these dependencies
can pose challenges due to the potential out-of-order arrival of network
packets. To address this, TransNFV divides the TPG construction process into
two primary phases: the packet processing phase and the state access
processing phase. These phases are alternated periodically, allowing for
effective management of different packet batches. The period can be fine-tuned
to balance execution latency and throughput.

  * •

Packet Processing Phase: During this phase, LDs within the same transaction
are identified based on their statement order. To identify TDs, operations are
sorted by timestamp and inserted into key-partitioned concurrent lists
corresponding to each operation’s target state. For operations with PD,
’proxy’ operations are inserted into the lists. These act as placeholders for
the potential reading of a state object that may be modified by another
operation.

  * •

State Access Processing Phase: During this phase, all subsequent state
transactions are halted until TransNFV reverts to the packet processing phase.
Here, TDs and PDs are efficiently identified by iterating through the sorted
lists and the ’proxy’ operations, respectively. This efficient identification
of dependencies and swift TPG construction are crucial for TransNFV to adapt
its scheduling strategy to the varying workload characteristics of different
state transaction batches.

###  3.3 Transaction Scheduling

As part of its execution process, VNF instances use the constructed TPG to
guide the dynamic scheduling of transactional workloads for concurrent
processing. This involves exploring the TPG to identify executable tasks
(i.e., state access operations) while respecting dependencies among tasks and
attempting to maximize the concurrent execution. To adapt to varying workload
characteristics and optimize opportunities for parallelism, TransNFV employs
different scheduling strategies. These strategies are determined in real-time
based on three key dimensions:

  1. 1.

_Exploration of Remaining State Access Operations_ : This dimension pertains
to how the TPG is navigated during the scheduling process. VNF instances can
employ either a structured approach, such as depth-first or breadth-first
search-like traversal, or an unstructured approach that relies on random
traversal. Depth-first and breadth-first approaches prioritize tasks that are
deeper or wider in the graph, respectively. On the other hand, the random
traversal approach does not favour any particular depth or breadth of tasks.
The choice of the traversal method affects how soon certain tasks are
scheduled and hence can impact the overall parallelism.

  2. 2.

_Scheduling Granularity_ : This dimension pertains to the size of the task
unit that is scheduled at one time. During the exploration process, VNF
instances can decide to schedule either a single operation or a group of
operations as a unit of scheduling. Scheduling a single operation may reduce
complexity but also limit parallelism. In contrast, scheduling a group of
operations can increase parallelism but may also increase the complexity of
handling dependencies among operations.

  3. 3.

_Transaction Abort Handling_ : This dimension pertains to how failed
operations are handled. VNF instances can adopt an eager abort approach, where
a failed operation is aborted immediately, thereby minimizing computation
wastage for other operations that would have been dependent on the failed
operation. However, this approach may incur high context-switching overhead.
Alternatively, a lazy abort approach can be adopted, where failed operations
are allowed to continue until a convenient point, reducing context-switching
overhead at the risk of potentially wasting computational resources on tasks
that will eventually be aborted.

The selection of a strategy for each dimension depends on the unique
characteristics of the workload (such as the distribution of dependencies
among operations) and the specific requirements of the application (such as
tolerance for wasted computation or context-switching overhead). To ensure
efficient and effective workload scheduling, TransNFV may employ a decision
model, which is currently under investigation, that dynamically determines the
most suitable strategy for each dimension at runtime, based on current and
projected workload characteristics.

###  3.4 Transaction Execution

The execution process within the TransNFV framework seamlessly integrates the
TPG, individual finite state machines for each state access operation, and a
multi-versioning state table. This integration ensures robust handling of
transactional workloads and guarantees system consistency and transactional
accuracy.

Each vertex of TPG is annotated with a finite state machine that represents
its current status. The state machine transitions between various states
reflecting the scheduling and execution processes: 1) _Blocked_ : The
operation is pending execution due to unresolved dependencies; 2) _Ready_ :
All dependencies have been resolved, and the operation is poised for
execution; 3) _Executed_ : The operation has been processed successfully; 4)
_Aborted_ : The operation has been terminated due to processing failures
either from itself or its dependent operations.

To complement the TPG, TransNFV uses a multi-versioning state table to manage
consistency during concurrent state access operations. The table maintains a
mapping between state access timestamps and state versions, associating every
state access operation with a unique state version. This strategy safeguards
system consistency, preventing the impact of operation failures or aborts from
propagating throughout the system.

In addition, the multi-versioning state table provides a robust recovery
mechanism in the face of network or instance failures. By facilitating the
rollback of failed transactions to a safe stage, TransNFV can recover states
without compromising system consistency or integrity. This meticulous strategy
enhances TransNFV’s capability to efficiently manage a diverse range of
workloads.

##  4 System Prototype

TransNFV’s architecture divides control plane and data plane functionalities.
The control plane manages the VNF state, while the data plane handles VNF
execution tasks such as packet reception, forwarding, and computations based
on state access results. We explain the TransNFV workflow in Figure 2 in six
steps.

Figure 2: TransNFV System Prototype.

TransNFV in the data plane. The data plane incorporates packet reception,
forwarding, and NF-specific computations. We enhance LibVNF [8], an open-
source VNF library, to support data plane functions in TransNFV. Although the
libVNF API is versatile enough to build various VNFs and manage states across
multiple VNF replicas, it lacks complete COE compliance, such as consistency
and order requirements. We extend libVNF using the three-step transactional
model outlined in Section 3.1:  1 Pre-processing: Upon packet reception, VNF
instances formulate the corresponding state access operations into a
transaction, maintaining system consistency.  2 State Access: After
constructing the transactions, they are sent to the control plane, where
execution suspends until state access results are received, ensuring
synchronized state access across VNF instances.  3 Post-processing: Once state
access results are acquired, NF-specific computations proceed, the output of
which is used for further processing or response generation.

TransNFV in the control plane. The control plane ensures efficient state
access operations and consistency of NFV states. It is made up of three key
components:  A Dependency Identification: This identifies transactional
dependencies present within the incoming batch of state transactions, as
discussed in Section 3.2, allowing for efficient and consistent processing.  B
Transaction Scheduling: Once the stateful Transaction Processing Graph (TPG)
is formed, the scheduler analyses the workload characteristics, and guided by
a heuristic decision model, determines optimal scheduling decisions, as
detailed in Section 3.3.  C Transaction Execution: Executor threads implement
state access operations as per the scheduling decisions, maintaining
correctness, as detailed in Section 3.4. In case of potential aborts or
failures, the multi-versioning state tables allow the recovery of states,
preserving system integrity and consistency.

(a) Throughput

(b) Latency

(c) Execution time breakdown

Figure 3: System comparison under various ratios of new connections of LB.

##  5 Preliminary Results

We showcase TransNFV’s effectiveness in VNF state management by implementing
load balancing (LB) as described by Khalid et al. [5], which is part of our
motivating example discussed in Section 2. We leave the evaluation of the
entire NFV chain as future work. The implementation of LB employs two state
tables: a connection counter table, and a connection server mapping table. The
LB instance uses these tables to identify new connections, find the server
with the fewest active connections, update the relevant counter value, and
direct the packet to the correct server.

We have purposefully designed the input network traffic to include a
significant proportion of packets from new connections, all contending to
establish a link with the shared server. In contrast to packets from
established connections that are processed without requiring state access,
each packet from a new connection triggers a series of state access to
pinpoint the least busy server and subsequently update the load counter of the
selected server. Simultaneously, other instances are tasked with managing new
connections, which are likely to access overlapping ranges of server states.
This situation poses a significant challenge in efficiently identifying
appropriate servers without compromising the requirements of correctness. This
provides a stringent test for TransNFV’s capability to handle high concurrency
and contention in state access operations effectively and accurately.

###  5.1 Performance Overview

We evaluate the performance of TransNFV and CHC by comparing three primary
performance metrics: throughput, latency, and the breakdown of execution time.
We configured TransNFV to run on a dual-socket Intel Xeon Gold 6248R server
with 384 GB DRAM. Each socket contains $24$ cores of 3.00GHz and 35.75MB of L3
cache. The OS kernel is _Linux 4.15.0-118-generic_.

Throughput. We initially conducted experiments to gauge the influence of
varying ratios of new connection requests (i.e., 5% to 60%) among all incoming
packets on application throughput. The results are presented in Figure 3a. We
also studied the system performance when locks are completely removed, denoted
by No-Lock. This represents an ideal situation and offers an upper limit on
the system performance. From this analysis, we observed two main points: 1)
With an increasing ratio of new connections, the throughput for both TransNFV
and CHC declines due to the addition of more state accesses by new
connections. However, TransNFV consistently outperforms CHC by achieving
significantly higher throughput, approximately twice as much. This affirms the
efficiency of incorporating transactional semantics into shared VNF state
access management in TransNFV. 2) Despite TransNFV’s superior performance over
CHC in shared VNF state management, it exhibits a throughput that is 2-3 times
lower compared to the No-Lock. This suggests substantial room for optimization
in the management of concurrent state access during VNF execution.

Latency. Subsequently, we conducted experiments to juxtapose the processing
latency of TransNFV and CHC, the results of which are shown in Figure 3b. We
primarily measured the processing latency of the Load Balancer (LB) handling
new connection requests under two extremes: 5% and 60% of new connections.
These represented the two poles in our prior experiment. As the ratio of new
connections increased, so did the processing time of new requests. However,
TransNFV managed to consistently achieve significantly lower processing
latency (up to 1.8 times less) compared to CHC. Much like our previous
results, this observation further corroborates the efficiency of introducing
transactional semantics into shared VNF state access management.

###  5.2 Processing Overhead

To delve further into the LB’s processing time, we performed a dissection of
the time utilized by each aspect of the VNF state access execution under
TransNFV and CHC.

We show the time breakdown in the following perspectives. 1) _Useful Time_
refers to the time spent on actual state access. 2) _Sync Time_ refers to the
time spent on synchronization, including blocking time before lock insertion
is permitted or blocking time due to synchronization barriers during mode
switching. 3) _Lock Time_ refers to the time spent on inserting locks after it
is permitted. 4) _Construct Time_ refers to the time spent on constructing the
auxiliary data structures, e.g., TPG in TransNFV. 5) _Explore Time_ refers to
the time spent on exploring available operations to process. 6) _Others_
refers to all other operations and system overheads, such as index lookup,
context switching, and remote memory access.

Figure 3c illustrates the time breakdown per state access in CHC and TransNFV.
We mainly have two main observations. First, although TransNFV dedicates a
substantial portion of time to exploration (_Explore Time_), it significantly
reduces synchronization (_Sync Time_) and lock (_Lock Time_) overhead compared
to CHC. This elucidates its superior performance on multicore processors.
Second, TransNFV still dedicates a significant amount of time to exploration
(_Explore Time_). Moreover, as the ratio of new connections increases, the
fraction of exploration time enlarges. This consequently diminishes throughput
and increases processing time, as shown in Section 5.1. This phenomenon mainly
arises from excessive message-passing between threads to identify available
operations, and more dependencies lead to more message-passing overhead.

##  6 Conclusion and Future Work

This paper introduces a novel Network Function Virtualization (NFV) framework,
TransNFV, that incorporates transactional semantics into VNF state management.
Our primary goal is to optimize the performance of stateful VNFs while
maintaining compliance with COE requirements. To this end, we propose a fine-
grained dependency resolution for concurrent state access operations, drawing
upon transaction processing techniques. Preliminary experimental evaluations
demonstrate that these key mechanisms effectively mitigate contention overhead
arising from concurrent state accesses.

Going forward, we see several promising avenues for further exploration. We
aim to improve the efficiency of dependency identification by integrating
advanced techniques such as machine learning or static analysis. The interplay
between Software-Defined Networking (SDN) and TransNFV may also offer
intriguing opportunities to adapt network policies based on workload
characteristics. Furthermore, while TransNFV currently manages transaction
failures, we aim to enhance its resilience to system-wide failures by
developing robust checkpointing and recovery mechanisms. We look forward to
investigating these intriguing research opportunities as we continue our
efforts to optimize stateful VNF execution in line with the evolving demands
of network infrastructures.

## Acknowledgments

This work is supported by the National Research Foundation, Singapore and
Infocomm Media Development Authority under its Future Communications Research
& Development Programme FCP-SUTD-RG-2022-005.

## References

  * [1] A. A. Barakabitze, A. Ahmad, R. Mijumbi, and A. Hines.  5g network slicing using sdn and nfv: A survey of taxonomy, architectures and future challenges.  Computer Networks, 167:106984, 2020.
  * [2] A. Bremler-Barr, Y. Harchol, and D. Hay.  Openbox: A software-defined framework for developing, deploying, and managing network functions.  In Proceedings of the 2016 ACM SIGCOMM Conference, pages 511–524, 2016.
  * [3] L. De Carli, R. Sommer, and S. Jha.  Beyond pattern matching: A concurrency model for stateful deep packet inspection.  In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, pages 1378–1390, 2014.
  * [4] A. Gember-Jacobson, R. Viswanathan, C. Prakash, R. Grandl, J. Khalid, S. Das, and A. Akella.  Opennf: Enabling innovation in network function control.  ACM SIGCOMM Computer Communication Review, 44(4):163–174, 2014\.
  * [5] J. Khalid and A. Akella.  Correctness and performance for stateful chained network functions.  In NSDI, volume 19, pages 26–28, 2019.
  * [6] Z. Meng, J. Bi, H. Wang, C. Sun, and H. Hu.  Micronf: An efficient framework for enabling modularized service chains in nfv.  IEEE Journal on Selected Areas in Communications, 37(8):1851–1865, 2019.
  * [7] R. Mijumbi, J. Serrat, J.-L. Gorricho, N. Bouten, F. De Turck, and R. Boutaba.  Network function virtualization: State-of-the-art and research challenges.  IEEE Communications surveys & tutorials, 18(1):236–262, 2015.
  * [8] P. Naik, A. Kanase, T. Patel, and M. Vutukuru.  Libvnf: Building virtual network functions made easy.  In Proceedings of the ACM Symposium on Cloud Computing, SoCC ’18, page 212–224, New York, NY, USA, 2018. Association for Computing Machinery.
  * [9] S. Palkar, C. Lan, S. Han, K. Jang, A. Panda, S. Ratnasamy, L. Rizzo, and S. Shenker.  E2: A framework for nfv applications.  In Proceedings of the 25th Symposium on Operating Systems Principles, pages 121–136, 2015.
  * [10] S. Rajagopalan, D. Williams, and H. Jamjoom.  Pico replication: A high availability framework for middleboxes.  In Proceedings of the 4th annual Symposium on Cloud Computing, pages 1–15, 2013.
  * [11] S. Rajagopalan, D. Williams, H. Jamjoom, and A. Warfield.  Split/merge: system support for elastic execution in virtual middleboxes.  In NSDI, volume 13, pages 227–240, 2013.
  * [12] J. Sherry, P. X. Gao, S. Basu, A. Panda, A. Krishnamurthy, C. Maciocco, M. Manesh, J. Martins, S. Ratnasamy, L. Rizzo, et al.  Rollback-recovery for middleboxes.  In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, pages 227–240, 2015.
  * [13] S. Woo, J. Sherry, S. Han, S. Moon, S. Ratnasamy, and S. Shenker.  Elastic scaling of stateful network functions.  In 15th $\\{$USENIX$\\}$ Symposium on Networked Systems Design and Implementation ($\\{$NSDI$\\}$ 18), pages 299–312, 2018.


# Shallow-water equations with complete Coriolis force: Group Properties and
Similarity Solutions

Andronikos Paliathanasis
Institute of Systems Science, Durban University of Technology
PO Box 1334, Durban 4000, Republic of South Africa Email<EMAIL_ADDRESS>
###### Abstract

The group properties of the shallow-water equations with the complete Coriolis
force is the subject of this study. In particular we apply the Lie theory to
classify the system of three nonlinear partial differential equations
according to the admitted Lie point symmetries. For each case of the
classification problem the one-dimensional optimal system is determined. The
results are applied for the derivation of new similarity solutions.

Keywords: Lie symmetries; invariants; shallow water; similarity solutions;
Coriolis force

##  1 Introduction

Shallow-water equations are a set of hyperbolic nonlinear partial differential
equations, known also as the Saint-Venant equations, which describe a thin
layer of inviscid fluid with a free surface. There are various applications of
the Shallow-water equations in physical science, for some recent results we
refer the reader to [1, 2, 3, 4, 5, 6] and references therein. In general
hyperbolic equations are of special interest for the study of flows. Two-phase
flow is of special interest because it is described by a set of hyperbolic
equations with non-equilibrium phenomena between different phases. There are
various real world applications for these models, hence there are various
studies in the literature [7, 8, 9, 10, 11, 12, 13, 14].

In this piece of work we are interested in the group properties of the
rotating two-dimensional shallow-water equations. The shallow-water equations
with the complete Coriolis force term and topography were derived in [15].

In the case of a linear plane the shallow-water equations are

$h_{t}+\left(hu\right)_{x}+\left(hv\right)_{y}=0,$ (1)
$u_{t}+uu_{x}+vu_{x}-\left(2\Omega_{z}-\Omega_{y}h_{y}\right)v+\left(gh-h^{2}\Omega_{y}u\right)_{x}-\Omega_{y}\left(\left(hu\right)_{x}+\left(hv\right)_{y}\right)=0,$
(2)
$v_{t}+uv_{x}+vv_{y}+\left(2\Omega_{z}-\Omega_{y}h_{y}\right)u+\left(gh-h^{2}\Omega_{y}u\right)_{y}=0,$
(3)

where the axes have been selected to be tangent to a sphere at a specific
latitude $\phi_{0}~{}$such that the Coriolis term
$\Omega=\left(\Omega_{x},\Omega_{y},\Omega_{z}\right)$ has components
$\Omega_{x}=0,~{}\Omega_{y}=\Omega\cos\phi_{0}~{},~{}\Omega_{z}=\Omega\sin\phi_{0}$.

We study the one-parameter point transformations which leave invariant the set
of the three equations, (1), (2) and (3). Specifically, the theory of Lie
point symmetries is applied in order to determine the admitted Lie point
symmetries and the one-dimensional optimal system.

Lie theory is a powerful mathematical treatment for the study of nonlinear
differential equations. The existence of a transformation which leaves
invariant a set of differential equations indicates the existence of invariant
functions, known also as Lie invariants, which can be used to simplify the set
of differential equations by reduction of the differential equations. There
are various applications of the Lie point symmetries in physical theories [16,
17, 18, 19, 20, 21, 22, 23] as also in fluid dynamics and in shallow-water
equations. The Lie point symmetries of the non-rotating shallow-water
equations were studied in [24], while a similar analysis with specific
Coriolis term was performed in [25]. In the latter case it was found that the
special Coriolis term can be neglected by the field equations with the use of
point transformations. Rotating shallow-water equations with more general
fluids were studied in [26] while other studies of shallow-water equations can
be found in [27, 28, 24, 29, 30, 31, 32, 33, 34] and in some recent works in
[35, 36, 37, 38, 39]. In addition, for the hyperbolic equations which describe
the two-phase flow Lie symmetries were applied in [40, 41].

Ovsiannikov [42] in 1982 demonstrated the construction of the one-dimensional
optimal system for the Lie algebra, using a global matrix for the adjoint
transformation. Since then the classification of the one-dimensional optimal
system has become a main tool for the study of nonlinear differential
equations [43, 44, 45]. Such analysis for the shallow-water system has been
presented before in [25, 26, 46, 47]. However, in this study we present for
the first time the complete symmetry classification for the shallow-water
equations with a complete Coriolis term. The structure of the paper is as
follows.

In Section 2 we present the basic properties and definitions of Lie’s theory.
The classification of the Lie point symmetries for the system of our study is
presented in Section 3. We find that in the extreme values of the latitude
$\phi_{0}$ the shallow-water equations admit additional Lie point symmetries,
while when $\phi_{0}=\frac{\pi}{2}$ we recover previous results of the
literature. For all the different cases, we classify the one-dimensional
optimal system which is essential to perform reductions and calculate
similarity solutions. In Section 4 we apply the Lie invariants to reduce the
dependent variables of the shallow-water equations and we present the cases
for which similarity solutions can be expressed in terms of closed-form
function. Finally in Section 5 we summarize our results and we draw our
conclusions.

##  2 Preliminaries

We present the basic definitions and properties for the mathematical tools
which we apply in this work. Precisely we give the main definition of point
symmetries and of a Lie symmetry vector. Consider now the system $H^{A}$ of
partial differential equations with independent variables $y^{i}$ and
dependent variables $u^{A}=u^{A}\left(y^{i}\right),$ that is

$H^{A}\left(y^{i},u^{A},u_{i}^{A},...\right)\equiv 0,$ (4)

where $u_{i}^{A}=\frac{\partial u^{A}}{\partial y^{i}}$.

We define the infinitesimal one-parameter point transformation

$\displaystyle\bar{y}^{i}$ $\displaystyle=$ $\displaystyle
y^{i}\left(y^{j},u^{B};\varepsilon\right),$ (5) $\displaystyle\bar{u}^{A}$
$\displaystyle=$ $\displaystyle u^{A}\left(y^{j},u^{B};\varepsilon\right),$
(6)

defined in the space of variables $\left\\{y^{i},u^{A}\right\\}~{}$in
$\varepsilon$ is an infinitesimal parameter. From (5), (6) the infinitesimal
transformation is defined

$\displaystyle\bar{y}^{i}$ $\displaystyle=$ $\displaystyle
y+\varepsilon\xi^{i}\left(y^{j},u^{B}\right)$ (7) $\displaystyle\bar{u}^{A}$
$\displaystyle=$ $\displaystyle
u^{A}+\varepsilon\eta^{A}\left(y^{j},u^{B}\right)$ (8)

with extension in the jet space $\left\\{y^{i},u^{A},u_{,i}^{A},...\right\\}$
as

$\displaystyle\bar{u}_{i}^{A}$ $\displaystyle=$ $\displaystyle
u_{i}^{A}+\varepsilon\eta_{i}^{A\left[1\right]}$ $\displaystyle...$
$\displaystyle\bar{u}_{i_{1}i_{2}...i_{n}}^{A}$ $\displaystyle=$
$\displaystyle u_{i_{1}i_{2}...i_{n}}^{A}+\varepsilon
D_{i}\eta^{A}-u_{i_{1}i_{2}...i_{n-1}}^{A}D_{i}\left(\xi^{j}\right),$

where

$\eta_{i}^{A\left[1\right]}=D_{i}\eta^{A}-u_{i_{1}i_{2}...i_{n-1}}D_{i}\left(\xi^{j}\right)$
(9)

and

$\eta^{A\left[n\right]}=D_{i}\eta^{A\left[n-1\right]}-u_{i_{1}i_{2}...i_{n-1}}D_{i}\left(\xi^{j}\right).$
(10)

Under the action of the one-parameter point transformation (5), (6) the system
of differential equations becomes
$\bar{H}^{A}\left(\bar{y}^{i},\bar{u}^{A},\bar{u}_{i}^{A},...,\varepsilon\right)$.
We say that the system $H^{A}$ remains invariant under the action of the one-
parameter point transformation (5), (6) if and only if
$\bar{H}^{A}\left(\bar{y}^{i},\bar{u}^{A},\bar{u}_{i}^{A},...,\varepsilon\right)$
$\equiv 0$, or equivalently [48, 49, 50]

$\lim_{\varepsilon\rightarrow
0}\frac{\bar{H}^{A}\left(\bar{y}^{i},\bar{u}^{A},...;\varepsilon\right)-H^{A}\left(y^{i},u^{A},...\right)}{\varepsilon}=0,$
(11)

that is,

$\mathcal{L}_{X}\left(H^{A}\right)=0,$ (12)

where $\mathcal{L}$ denotes the Lie derivative with respect the generator
$X~{}$of the infinitesimal transformation (5), (6), that is,

$X=\xi^{i}\left(y^{j},u^{B}\right)\partial_{i}+\eta^{A}\left(y^{j},u^{B}\right)\partial_{A}.$

The latter vector field is set in the jet space,
$\left\\{y^{i},u^{A},u_{,i}^{A},...\right\\},$

$X^{\left[n\right]}=X+\eta^{\left[1\right]}\partial_{u_{i}^{A}}+...+\eta^{\left[n\right]}\partial_{u_{i_{i}i_{j}...i_{n}}^{A}}.$
(13)

When (12) is true for a specific vector field $X$, then the vector field $X$
is a Lie symmetry for the system of partial differential equations $H^{A}$.

The admitted symmetry vectors of a given set of differential equations
constitute a closed-group known as a Lie group. A Lie group defines the main
properties for the set of the differential equations. The main application of
the Lie symmetries is the determination of solutions known as similarity
solutions and follow from the application of the Lie invariants in the
differential equations. However, in order to classify all the possible
similarity transformations and solutions the one-dimensional optimal system
should be calculated [48].

##  3 Lie symmetry analysis

We apply the theory for the system of the three-dimensional partial
differential equations, (1), (2) and (3). It follows that the admitted Lie
point symmetries for arbitrary latitude $\phi_{0}$ are

$X_{1}=\partial_{t}~{},~{}X_{2}=\partial_{x}~{},~{}X_{3}=\partial_{y},$

In Table 1 we present the commutators for the three-dimensional Lie algebra,
$\left\\{X_{1},X_{2},X_{3}\right\\}$. The adjoint representation of the latter
Lie algebra is presented in Table 2. From Table 1 we infer that the admitted
Lie algebra is the $3A_{1}$ according to the classification scheme of Patera
et al. [51, 52]

From tables 1 and 2 we conclude that the one-dimensional optimal system [48]
of the four-dimensional Lie algebra consists of the vector fields

$\left\\{X_{1}\right\\}~{},~{}\left\\{X_{2}\right\\}~{},~{}\left\\{X_{3}\right\\}~{},~{}\left\\{X_{1}+\alpha
X_{2}\right\\}~{},$ $\left\\{X_{1}+\alpha
X_{3}\right\\}~{},\left\\{X_{2}+\alpha X_{3}\right\\},\left\\{X_{1}+\alpha
X_{2}+\beta X_{3}\right\\}.$

Table 1: Commutator table for the Lie point symmetries of the Shallow-Water system $\left[X_{I},X_{J}\right]$ | $\mathbf{X}_{1}$ | $\mathbf{X}_{2}$ | $\mathbf{X}_{3}$
---|---|---|---
$\mathbf{X}_{1}$ | $0$ | $0$ | $0$
$\mathbf{X}_{2}$ | $0$ | $0$ | $0$
$\mathbf{X}_{3}$ | $0$ | $0$ | $0$
Table 2: Adjoint representation for the Lie point symmetries of the Shallow-Water System $Ad\left(e^{\left(\varepsilon\mathbf{X}_{i}\right)}\right)\mathbf{X}_{j}$ | $\mathbf{X}_{1}$ | $\mathbf{X}_{2}$ | $\mathbf{X}_{3}$
---|---|---|---
$\mathbf{X}_{1}$ | $X_{1}$ | $X_{2}$ | $X_{3}$
$\mathbf{X}_{2}$ | $X_{1}$ | $X_{2}$ | $X_{3}$
$\mathbf{X}_{3}$ | $X_{1}$ | $X_{2}$ | $X_{3}$

For special values of the parameters $\Omega_{z}$ or $\Omega_{y}$ the
resulting Shallow-water system is invariant under a different Lie algebra. We
find that the two limits are for the latitudes (i) $\phi_{0}=0$ and (ii)
$\phi_{0}=\frac{\pi}{2}$, which correspond to values (i)
$\Omega_{y}=\Omega~{},~{}\Omega_{z}=0~{}$, and (ii)
$\Omega_{y}=0,~{}\Omega_{z}=\Omega$.

###  3.1 Lie symmetries at the equator

For latitude $\phi_{0}=0$, that is, for the equator, the resulting Shallow-
water equations, (1), (2) and (3), are written as

$h_{t}+\left(hu\right)_{x}+\left(hv\right)_{y}=0,$ (14)
$u_{t}+uu_{x}+vu_{x}+\left(\Omega_{y}h_{y}\right)v+\left(gh-h^{2}\Omega_{y}u\right)_{x}-\Omega_{y}\left(\left(hu\right)_{x}+\left(hv\right)_{y}\right)=0,$
(15)
$v_{t}+uv_{x}+vv_{y}-\left(\Omega_{y}h_{y}\right)u+\left(gh-h^{2}\Omega_{y}u\right)_{y}=0$
(16)

and admit the following Lie point symmetries

$Y_{1}=\partial_{t}~{},~{}Y_{2}=\partial_{x}~{},~{}Y_{3}=\partial_{y},~{}Y_{4}=t\partial_{t}+x\partial_{x}+y\partial_{y}~{},~{}Y_{5}=t\partial_{y}+\partial_{V}~{}$

with commutators and adjoint representation as given in Tables 3 and 4. The
Lie symmetries form the $\left\\{3A_{1}\otimes_{s}2A_{1}\right\\}$ Lie
algebra.

With the use of the adjoint representation from Table 4 we can determine the
one-dimensional optimal system, that is,

$\left\\{Y_{1}\right\\}~{},~{}\left\\{Y_{2}\right\\}~{},~{}\left\\{Y_{3}\right\\}~{},~{}\left\\{Y_{4}\right\\}~{},~{}\left\\{Y_{5}\right\\}~{},~{}$
$\left\\{Y_{1}+a_{2}Y_{2}\right\\}~{},~{}\left\\{Y_{1}+a_{3}Y_{3}\right\\}~{},~{}\left\\{Y_{1}+a_{4}Y_{4}\right\\}~{},$
$~{}~{}~{}\left\\{Y_{1}+a_{5}Y_{5}\right\\}~{},~{}\left\\{Y_{2}+a_{3}Y_{3}\right\\}~{},~{}\left\\{Y_{1}+a_{5}Y_{5}\right\\},$
$~{}\left\\{Y_{1}+a_{2}Y_{2}+a_{3}Y_{3}\right\\}~{},~{}\left\\{a_{1}Y_{1}+a_{4}Y_{4}+a_{5}Y_{5}\right\\}.$

Table 3: Commutator table for the Lie point symmetries of the Shallow-Water System for $\phi_{0}=0$ $\left[\mathbf{Y}_{I},\mathbf{Y}_{J}\right]$ | $\mathbf{Y}_{1}$ | $\mathbf{Y}_{2}$ | $\mathbf{Y}_{3}$ | $\mathbf{Y}_{4}$ | $\mathbf{Y}_{5}$
---|---|---|---|---|---
$\mathbf{Y}_{1}$ | $0$ | $0$ | $0$ | $Y_{1}$ | $Y_{3}$
$\mathbf{Y}_{2}$ | $0$ | $0$ | $0$ | $Y_{2}$ | $0$
$\mathbf{Y}_{3}$ | $0$ | $0$ | $0$ | $Y_{3}$ | $0$
$\mathbf{Y}_{4}$ | $-Y_{1}$ | $-Y_{2}$ | $-Y_{3}$ | $0$ | $0$
$\mathbf{Y}_{5}$ | $-Y_{3}$ | $0$ | $0$ | $0$ | $0$
Table 4: Adjoint representation for the Lie point symmetries of the Shallow-water System for $\phi_{0}=0$ $Ad\left(e^{\left(\varepsilon\mathbf{Y}_{i}\right)}\right)\mathbf{Y}_{j}$ | $\mathbf{Y}_{1}$ | $\mathbf{Y}_{2}$ | $\mathbf{Y}_{3}$ | $\mathbf{Y}_{4}$ | $\mathbf{Y}_{5}$
---|---|---|---|---|---
$\mathbf{Y}_{1}$ | $Y_{1}$ | $Y_{2}$ | $Y_{3}$ | $Y_{4}-\varepsilon X_{1}$ | $Y_{5}-\varepsilon X_{3}$
$\mathbf{Y}_{2}$ | $Y_{1}$ | $Y_{2}$ | $Y_{3}$ | $Y_{4}-\varepsilon X_{2}$ | $Y_{5}$
$\mathbf{Y}_{3}$ | $Y_{1}$ | $Y_{2}$ | $Y_{3}$ | $Y_{4}-\varepsilon X_{3}$ | $Y_{5}$
$\mathbf{Y}_{4}$ | $e^{\varepsilon}Y_{1}$ | $e^{\varepsilon}Y_{2}$ | $e^{\varepsilon}Y_{3}$ | $Y_{4}$ | $Y_{5}$
$\mathbf{Y}_{5}$ | $Y_{1}+\varepsilon X_{3}$ | $Y_{2}$ | $Y_{3}$ | $Y_{4}$ | $Y_{5}$

###  3.2 Lie symmetries at the pole

For latitudes near to the pole, i.e. $\phi=\frac{\pi}{2}$, the Shallow-water
equations (1), (2) and (3) can be written in the simple form

$h_{t}+\left(hu\right)_{x}+\left(hv\right)_{y}=0,$ (17)
$u_{t}+uu_{x}+vu_{x}+gh_{x}-2\Omega_{z}v=0,$ (18)
$v_{t}+uv_{x}+vv_{y}+gh_{y}+2\Omega_{z}u=0.$ (19)

The group properties of the latter system were studied before in [25], where
in comparison with [25] $f=2\Omega_{z}$.

Equations (17), (18) and (19) are invariant under the action of a nine-
dimensional Lie algebra with elements

$Z_{1}=\partial_{t}~{},~{}Z_{2}=\partial_{x}~{},~{}Z_{3}=\partial_{y}~{},$
$~{}Z_{4}=x\partial_{x}+y\partial_{y}+u\partial_{u}+v\partial_{v}+2h\partial_{h}~{}$
$Z_{5}=y\partial_{x}-x\partial_{y}+v\partial_{u}-u\partial_{v}~{},$
$Z_{6}=\sin\left(2\Omega t\right)\partial_{x}+\cos\left(2\Omega
t\right)\partial_{y}+2\Omega\left(\cos\left(2\Omega
t\right)\partial_{u}-\sin\left(2\Omega t\right)\partial_{v}\right)~{},$
$Z_{7}=-\cos\left(2\Omega t\right)\partial_{x}+\sin\left(2\Omega
t\right)\partial_{y}+2\Omega\left(\sin\left(2\Omega
t\right)\partial_{u}+\cos\left(2\Omega t\right)\partial_{v}\right)~{},$
$\displaystyle Z_{8}$ $\displaystyle=$ $\displaystyle\sin\left(2\Omega
t\right)\partial_{t}+\Omega\left(x\cos\left(2\Omega
t\right)+y\sin\left(2\Omega
t\right)\right)\partial_{x}-\Omega\left(x\sin\left(2\Omega
t\right)-y\cos\left(2\Omega t\right)\right)\partial_{y}+$
$\displaystyle-\Omega\left(u\cos\left(2\Omega t\right)-v\sin\left(2\Omega
t\right)-2\Omega\left(y\cos\left(2\Omega t\right)-x\sin\left(2\Omega
t\right)\right)\right)\partial_{u}+$
$\displaystyle-\Omega\left(u\sin\left(2\Omega t\right)+u\cos\left(2\Omega
t\right)+2\Omega\left(y\sin\left(2\Omega t\right)+x\cos\left(2\Omega
t\right)\right)\right)\partial_{v}-2\Omega h\cos\left(2\Omega
t\right)\partial_{h},$ $\displaystyle Z_{9}$ $\displaystyle=$
$\displaystyle\cos\left(2\Omega
t\right)\partial_{t}+\Omega\left(y\cos\left(2\Omega
t\right)-x\sin\left(2\Omega
t\right)\right)\partial_{x}-\Omega\left(x\cos\left(2\Omega
t\right)+y\sin\left(2\Omega t\right)\right)\partial_{y}+$
$\displaystyle+\Omega\left(u\sin\left(2\Omega t\right)+v\cos\left(2\Omega
t\right)-2\Omega\left(x\cos\left(2\Omega t\right)+y\sin\left(2\Omega
t\right)\right)\right)\partial_{u}+$
$\displaystyle+\Omega\left(-u\cos\left(2\Omega t\right)+v\sin\left(2\Omega
t\right)+\Omega\left(x\sin\left(2\Omega t\right)-y\cos\left(2\Omega
t\right)\right)\right)\partial_{v}+2\Omega\sin\left(2\Omega
t\right)\partial_{h}.$

The commutators are presented in Table 5.

The symmetry vectors form a nine-dimensional Lie algebra. Furthermore, the
adjoint representation of the nine-dimensional Lie algebra is given in Tables
6 and 7.

The shallow-water equations without a Coriolis term admit also nine Lie point
symmetries with the same commutators. Hence, the same Lie algebra with that of
the Coriolis term at the pole but in a different representation. That common
property has been observed before in [25]. The coordinate transformation which
relates the two different representations of the Lie algebra can be use to
remove the Coriolis term from the system (17), (18) and (19).

We do not continue with the determination of the one-dimensional optimal
system for the system (17), (18) and (19), because it can be find in [25].

Table 5: Commutator table for the Lie point symmetries of the Shallow-water system for $\phi_{0}=\pi/2$ $\left[\mathbf{Z}_{I},\mathbf{Z}_{J}\right]$ | $\mathbf{Z}_{1}$ | $\mathbf{Z}_{2}$ | $\mathbf{Z}_{3}$ | $\mathbf{Z}_{4}$ | $\mathbf{Z}_{5}$ | $\mathbf{Z}_{6}$ | $\mathbf{Z}_{7}$ | $\mathbf{Z}_{8}$ | $\mathbf{Z}_{9}$
---|---|---|---|---|---|---|---|---|---
$\mathbf{Z}_{1}$ | $0$ | $0$ | $0$ | $0$ | $0$ | $-2\Omega Z_{7}$ | $2\Omega Z_{8}$ | $2\Omega Z_{9}$ | $-2\Omega Z_{8}$
$\mathbf{Z}_{2}$ | $0$ | $0$ | $0$ | $Z_{2}$ | $-Z_{3}$ | $0$ | $0$ | $-2\Omega Z_{7}$ | $-2\Omega Z_{6}$
$\mathbf{Z}_{3}$ | $0$ | $0$ | $0$ | $Z_{3}$ | $Z_{2}$ | $0$ | $0$ | $\,-2\Omega Z_{6}$ | $-2\Omega Z_{7}$
$\mathbf{Z}_{4}$ | $0$ | $-Z_{2}$ | $-Z_{3}$ | $0$ | $0$ | $-Z_{6}$ | $-Z_{7}$ | $0$ | $0$
$\mathbf{Z}_{5}$ | $0$ | $Z_{3}$ | $-Z_{2}$ | $0$ | $0$ | $\left(1-2\Omega\right)Z_{7}$ | $\left(1-2\Omega\right)Z_{6}$ | $-2\Omega Z_{8}$ | $2\Omega Z_{8}$
$\mathbf{Z}_{6}$ | $2\Omega Z_{7}$ | $0$ | $0$ | $Z_{6}$ | $-\left(1-2\Omega\right)Z_{7}$ | $0$ | $0$ | $2\Omega Z_{3}$ | $2\Omega Z_{2}$
$\mathbf{Z}_{7}$ | $\,-2\Omega Z_{8}$ | $0$ | $0$ | $Z_{7}$ | $\,-\left(1-2\Omega\right)Z_{6}$ | $0$ | $0$ | $-2\Omega Z_{2}$ | $-2\Omega Z_{3}$
$\mathbf{Z}_{8}$ | $-2\Omega Z_{9}$ | $2\Omega Z_{7}$ | $2\Omega Z_{6}$ | $0$ | $2\Omega Z_{8}$ | $-2\Omega Z_{3}$ | $2\Omega Z_{2}$ | $0$ | $2\Omega\left(Z_{1}+2\Omega Z_{5}\right)$
$\mathbf{Z}_{9}$ | $2\Omega Z_{8}$ | $2\Omega Z_{6}$ | $2\Omega Z_{7}$ | $0$ | $-2\Omega Z_{8}$ | $-2\Omega Z_{2}$ | $2\Omega Z_{3}$ | $-2\Omega\left(Z_{1}+2\Omega Z_{5}\right)$ | $0$
Table 6: Adjoint representation for the Lie point symmetries of the Shallow-water system for $\phi_{0}=\pi/2$, $sh$ indicates $sinh$ while $ch$ means $cosh$ (1/2)  $Ad\left(e^{\left(\varepsilon\mathbf{Z}_{i}\right)}\right)\mathbf{Z}_{j}$ | $\mathbf{Z}_{1}$ | $\mathbf{Z}_{2}$ | $\mathbf{Z}_{3}$ | $\mathbf{Z}_{4}$ | $\mathbf{Z}_{5}$
---|---|---|---|---|---
$\mathbf{Z}_{1}$ | ${\small Z}_{1}$ | ${\small Z}_{2}$ | ${\small Z}_{3}$ | ${\small Z}_{4}$ | ${\small Z}_{5}$
$\mathbf{Z}_{2}$ | ${\small Z}_{1}$ | ${\small Z}_{2}$ | ${\small Z}_{3}$ | ${\small Z}_{4}{\small-\varepsilon Z}_{2}$ | ${\small Z}_{5}{\small-\varepsilon Z}_{3}$
$\mathbf{Z}_{3}$ | ${\small Z}_{1}$ | ${\small Z}_{2}$ | ${\small Z}_{3}$ | ${\small Z}_{4}{\small-\varepsilon Z}_{3}$ | ${\small Z}_{5}{\small+\varepsilon Z}_{2}$
$\mathbf{Z}_{4}$ | ${\small Z}_{1}$ | ${\small e}^{\varepsilon}{\small Z}_{2}$ | ${\small e}^{\varepsilon}{\small Z}_{3}$ | ${\small Z}_{4}$ | ${\small Z}_{5}$
$\mathbf{Z}_{5}$ | ${\small Z}_{1}$ | $\cos\left(\varepsilon\right){\small Z}_{2}{\small+}\sin\left(\varepsilon\right){\small Z}_{3}$ | ${\small-}\sin\left(\varepsilon\right){\small Z}_{2}{\small+}\cos\left(\varepsilon\right){\small Z}_{3}$ | ${\small Z}_{4}$ | ${\small Z}_{5}$
$\mathbf{Z}_{6}$ | ${\small Z}_{1}{\small-2\Omega\varepsilon Z}_{7}$ | ${\small Z}_{2}$ | ${\small Z}_{3}$ | ${\small Z}_{4}{\small-\varepsilon Z}_{6}$ | ${\small Z}_{5}$
$\mathbf{Z}_{7}$ | ${\small Z}_{1}{\small+2\Omega\varepsilon Z}_{6}$ | ${\small Z}_{2}$ | ${\small Z}_{3}$ | ${\small Z}_{4}{\small-\varepsilon Z}_{7}$ | ${\small Z}_{5}$
$\mathbf{Z}_{8}$ | ${\small ch}^{2}\left(2\Omega\varepsilon\right){\small Z}_{1}{\small-sh}^{2}\left(2\Omega\varepsilon\right){\small Z}_{5}{\small+}\frac{1}{2}{\small sh}\left(4\Omega\varepsilon\right){\small Z}_{9}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{2}{\small+sh}\left(2\Omega\varepsilon\right){\small Z}_{7}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{3}{\small+sh}\left(2\Omega\varepsilon\right){\small Z}_{6}$ | ${\small Z}_{4}$ | ${\small-}\frac{sh^{2}\left(2\Omega\varepsilon\right)}{2\Omega}{\small Z}_{1}{\small+ch}^{2}\left(2\Omega\varepsilon\right){\small Z}_{5}{\small-}\frac{sh\left(4\Omega\varepsilon\right)}{4\Omega}{\small Z}_{9}$
$\mathbf{Z}_{9}$ | ${\small ch}^{22}\left(2\Omega\varepsilon\right){\small Z}_{1}{\small-sh}^{2}\left(2\Omega\varepsilon\right){\small Z}_{5}{\small+}\frac{1}{2}{\small sh}\left(4\Omega\varepsilon\right){\small Z}_{8}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{2}{\small+sh}\left(2\Omega\varepsilon\right){\small Z}_{6}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{3}{\small+sh}\left(2\Omega\varepsilon\right){\small Z}_{7}$ | ${\small Z}_{4}$ | ${\small-}\frac{sh^{2}\left(2\Omega\varepsilon\right)}{2\Omega}{\small Z}_{1}{\small+ch}^{2}\left(2\Omega\varepsilon\right){\small Z}_{5}{\small+}\frac{sh\left(4\Omega\varepsilon\right)}{4\Omega}{\small Z}_{8}$
Table 7: Adjoint representation for the Lie point symmetries of the Shallow-water system for $\phi_{0}=\pi/2$, $sh$ indicates $sinh$ while $ch$ means $cosh$ (2/2)  $Ad\left(e^{\left(\varepsilon\mathbf{Z}_{i}\right)}\right)\mathbf{Z}_{j}$ | $\mathbf{Z}_{6}$ | $\mathbf{Z}_{7}$ | $\mathbf{Z}_{8}$ | $\mathbf{Z}_{9}$
---|---|---|---|---
$\mathbf{Z}_{1}$ | $\cos\left(2\Omega\varepsilon\right){\small Z}_{6}{\small+}\sin\left(2\Omega\varepsilon\right){\small Z}_{7}$ | ${\small-}\sin\left(2\Omega\varepsilon\right){\small Z}_{6}{\small+}\cos\left(2\Omega\varepsilon\right){\small Z}_{7}$ | $\cos\left(2\Omega\varepsilon\right){\small Z}_{8}{\small-}\sin\left(2\Omega\varepsilon\right){\small Z}_{9}$ | $\sin\left(2\Omega\varepsilon\right){\small Z}_{8}{\small+}\cos\left(2\Omega\varepsilon\right){\small Z}_{9}$
$\mathbf{Z}_{2}$ | ${\small Z}_{6}$ | ${\small Z}_{7}$ | ${\small Z}_{8}{\small+2\Omega\varepsilon Z}_{7}$ | ${\small Z}_{9}{\small+2\Omega\varepsilon Z}_{6}$
$\mathbf{Z}_{3}$ | ${\small Z}_{6}$ | ${\small Z}_{7}$ | ${\small Z}_{8}{\small-2\Omega\varepsilon Z}_{6}$ | ${\small Z}_{9}{\small+2\Omega\varepsilon Z}_{7}$
$\mathbf{Z}_{4}$ | ${\small e}^{\varepsilon}{\small Z}_{6}$ | ${\small e}^{\varepsilon}{\small Z}_{7}$ | ${\small Z}_{8}$ | ${\small Z}_{9}$
$\mathbf{Z}_{5}$ | ${\small Z}_{6}$ | ${\small Z}_{7}$ | $\cos\left(\varepsilon\right){\small Z}_{8}{\small+}\sin\left(\varepsilon\right){\small Z}_{9}$ | ${\small-}\sin\left(\varepsilon\right){\small Z}_{8}{\small+}\cos\left(\varepsilon\right){\small Z}_{9}$
$\mathbf{Z}_{6}$ | ${\small Z}_{6}$ | ${\small Z}_{7}$ | ${\small Z}_{8}{\small-2\Omega\varepsilon Z}_{3}$ | ${\small Z}_{9}{\small+2\Omega\varepsilon Z}_{2}$
$\mathbf{Z}_{7}$ | ${\small Z}_{6}$ | ${\small Z}_{7}$ | ${\small Z}_{8}{\small+2\Omega\varepsilon Z}_{2}$ | ${\small Z}_{9}{\small+2\Omega\varepsilon Z}_{3}$
$\mathbf{Z}_{8}$ | ${\small sh}\left(2\Omega\varepsilon\right){\small Z}_{3}{\small+ch}\left(2\Omega\varepsilon\right){\small Z}_{6}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{7}{\small-sh}\left(2\Omega\varepsilon\right){\small Z}_{2}$ | ${\small Z}_{8}$ | ${\small ch}\left(4\Omega\varepsilon\right){\small Z}_{9}{\small+sh}\left(4\Omega\varepsilon\right)\left(Z_{1}-2\Omega Z_{5}\right)$
$\mathbf{Z}_{9}$ | ${\small-sh}\left(2\Omega\varepsilon\right){\small Z}_{2}{\small+ch}\left(2\Omega\varepsilon\right){\small Z}_{6}$ | ${\small ch}\left(2\Omega\varepsilon\right){\small Z}_{7}{\small-sh}\left(2\Omega\varepsilon\right){\small Z}_{3}$ | ${\small ch}\left(4\Omega\varepsilon\right){\small Z}_{8}{\small+sh}\left(4\Omega\varepsilon\right)\left(Z_{1}-2\Omega Z_{5}\right)$ | ${\small Z}_{9}$

##  4 Similarity solutions

In this Section we apply the Lie point symmetries to determine similarity
solutions for the Shallow-water system, (1), (2) and (3). For arbitrary
latitude the admitted Lie point symmetries provide only travelling-wave
solutions. Therefore we focus on the case with $\phi_{0}=0$, where there are
additional Lie point symmetries which can provide alternate reductions.

In order to determine exact similarity solutions for the original system we
need the application of at least two Lie point symmetries. Thus in the
following lines we continue with the investigation of exact similarity
solutions by using the Lie invariants of the following set of Lie point
symmetries $\left\\{X_{1}+X_{2}+X_{3},X_{2}-X_{3}\right\\},$ and in the limit
at the equator we study similarity solutions from the Lie symmetries
$\left\\{Y_{2},Y_{5}\right\\},~{}\left\\{Y_{2},Y_{5}\right\\},~{}\left\\{Y_{4},Y_{5}\right\\}$.
The reduced equations are ordinary differential equations and lead to closed-
form solutions.

###  4.1 Reduction with $\left\\{X_{1}+X_{2}+X_{3},X_{2}-X_{3}\right\\}$

Consider the similarity transformation provided by the set of the symmetry
vectors $\left\\{X_{1}+X_{2}+X_{3},X_{2}-X_{3}\right\\}$,

$h\left(t,x,y\right)=H\left(w\right)~{},~{}u\left(t,x,y\right)=U\left(w\right),~{}v\left(t,x,y\right)=V\left(w\right)\text{
with }w=\left(x+y\right)-2t,$ (20)

while the reduced system is

$\frac{G\left(w\right)}{2\Omega_{z}}\frac{{H}_{w}}{H}={V^{2}-2V-U^{2}+2\,U+\Omega_{y}H}^{2}{\,U+\Omega_{y}\,H}^{2}{V,}$
(21)

$-\frac{G\left(w\right)}{2\Omega_{z}}{U}_{w}=\,2HU\Omega_{y}\left(HV+HU+1\right)-VHg-
UHg+U^{2}V+2\,UV^{2}-4\,UV+4\,V+V^{3}-4V^{2},$ (22)

$\displaystyle-\frac{G\left(w\right)}{2\Omega_{z}}{V}_{w}$ $\displaystyle=$
$\displaystyle VHg+UHg-2U^{2}V-UV^{2}+4\,UV-4\,U+4U^{2}-U^{3}+$
$\displaystyle-H\Omega_{y}\left(U^{2}H+2U\left(1+H\right)+VH\left(2-V\right)\right),$

where

$\displaystyle G\left(w\right)$ $\displaystyle=$ $\displaystyle
6U^{2}+6V^{2}-12\,V-4\,Hg+12UV+8-3U^{2}V-3UV^{2}$ (24)
$\displaystyle+2UHg-V^{3}-U^{3}+2\,VHg-12\,U+$
$\displaystyle-H\Omega_{y}\left(U+V-2\right)\left(U+3HU+H\left(2-V-H\Omega_{z}\right)+2-V\right).$

In Fig. 1 we present the numerical solution of the travelling-wave solution as
it is given by the dynamical system (21), (22) and (22). The numerical
solution is for $\phi_{0}=\frac{\pi}{4}$ and $\Omega_{z}=\Omega_{y}$.

Figure 1: Qualitative evolution of
$H\left(w\right),~{}U\left(w\right),~{}V\left(w\right)$ as it is given from
numerical simulation of the dynamical system (21), (22) and (22). The plots
are for $\Omega_{z}=\Omega_{y}=1$ and $g=10$ and for different initial
conditions as they are presented at the plots.

###  4.2 Reduction with $\left\\{Y_{2},Y_{5}\right\\}$

The application of the Lie point symmetries $\left\\{Y_{2},Y_{5}\right\\}$
lead to the invariants

$h\left(t,x,y\right)=H\left(t\right)~{},~{}u\left(t,x,y\right)=U\left(t\right)~{},~{}v\left(t,x,y\right)=\frac{y}{t}+V\left(t\right),$
(25)

where the unknown functions,
$H\left(t\right),~{}U\left(t\right)\,,~{}V\left(t\right)$, satisfy the
following system

$tH_{t}+H=0~{},~{}tU_{t}-\Omega H=0~{},~{}tV_{t}+V=0,$ (26)

with exact solution

$H\left(t\right)=\frac{H_{0}}{t}~{},~{}U\left(t\right)=-\frac{H_{0}\Omega}{t}+U_{0}~{},~{}V\left(t\right)=\frac{V_{0}}{t}.$
(27)

###  4.3 Reduction with $\left\\{Y_{4},Y_{5}\right\\}$

Reduction with the Lie point symmetries $\left\\{Y_{4},Y_{5}\right\\}$
provides the following system of ordinary differential equations

$\displaystyle\frac{H_{w}}{H}$ $\displaystyle=$ $\displaystyle\frac{\Omega
H^{2}+w-U}{L\left(w\right)},~{}$ (28) $\displaystyle U_{w}$ $\displaystyle=$
$\displaystyle\frac{H\left(2UH\Omega+w\Omega-g\right)}{L\left(w\right)}~{},~{}$
(29) $\displaystyle V_{w}$ $\displaystyle=$ $\displaystyle
V\left(U-w\right)^{-1},$ (30)

where

$h\left(t,x,y\right)=H\left(w\right)~{},~{}u\left(t,x,y\right)=U\left(w\right)\text{
,
}v\left(t,x,y\right)=\frac{y}{t}+V\left(w\right)~{}\text{and}~{}w=\frac{x}{t}$
(31)

and

$L\left(w\right)=wH\Omega\left(H+1\right)+\Omega
UH^{2}-gH+\left(w-U\right)^{2}.$ (32)

However, that solution is not accepted because it leads to an infinite value
of $V\left(w\right)$. The qualitative evolution of $U\left(w\right)$ and
$V\left(w\right)$ for various initial conditions is presented in Fig. 2

Figure 2: Qualitative evolution of $H\left(w\right),~{}U\left(w\right)$ and
$V\left(w\right)$ as they are given from the differential equation (LABEL:e5)
for $\Omega=1$ and for different values for the initial conditions are they
are presented in figures.

##  5 Conclusions

In this work we studied the group properties of the shallow-water equations on
a linear plane with the complete Coriolis force. In particular we performed a
classification of the admitted Lie point symmetries which are the generators
of one-parameter point transformations which leave invariant shallow-water
equations.

The coordinate system has been selected such that two terms of the Coriolis
force are involved in the shallow-water equations. These terms which are the
Coriolis components on the axes depend upon the position on the plane. For an
arbitrary position and for the more general form the shallow-water equations
admit three Lie point symmetries which are the time translation and the two
space translations. For specific values of the Coriolis terms new symmetries
follow.

When $\phi_{0}=0$, that is, at the equator, we found that the resulting system
of hyperbolic differential equations is invariant under the action of a five-
dimensional Lie algebra, while, when $\phi_{0}=\frac{\pi}{2}$, that is, at the
pole, the shallow-water equations admit nine Lie point symmetries. In the
latter scenario the Lie point symmetries form the same algebra as the shallow-
water equations without the Coriolis term. However, the two algebras are in
different representations. This case has been studied before in the literature
so we focused upon the case with $\phi_{0}=0$.

For the latter case we applied the new Lie point symmetries to determine
similarity transformations and to write similarity solutions for the equations
by using closed-form functions. We presented reductions which describe
travelling-wave and scaling solutions. When it is possible, we write the
closed-form solution of the shallow-water equations. However, in the remaining
cases we solve numerically the reduced system and we study the qualitative
behaviour of the physical variables.

This work contributes to the subject of the group properties of hyperbolic
equations with emphasis in fluid dynamics. We present for the first time new
solutions of the shallow-wave equations with a complete Coriolis term. Such an
analysis shows the novelty and the power of the Lie symmetries for the study
of nonlinear phenomena.

In a future work we plan to extend our analysis in the case of nonlinear
topographies and with possible sources.

## References

  * [1] N.D. Mutlubas, A. Geyer and R. Quirchmayr, Nonl. Anal. Theor. Meth. Appl. 197, 111849 (2020)
  * [2] S.-i. Iga and Y. Matsuda, J. Atmos. Sci. 62, 2514 (2005)
  * [3] J. Dong and D.F. Li, J. Comp. Appl. Math. 376, 112871 (2020)
  * [4] J. Jung, J.H. Hwang and A.G.L. Borthwick, KSCE J. Civil Engin. 24, 1959 (2020)
  * [5] A. Kurganov, Y.L. Liu and V. Zeitlin, Phys. Fluids 32, 7757 (2020)
  * [6] M. Zhu and Y. Wang, Zeitschrift für angewandte Mathematik und Physik 71, 96 (2020)
  * [7] G.F. Hewitt, Heat Transfer Engineering, 4, 67 (1983)
  * [8] E. Goncalves, Y. Hoarau and D. Zeidan, Shock Waves, 29, 221 (2019)
  * [9] D. Zeidan, P. Bähr, P. Farber, J. Gräbel and P. Ueberholz, Computer and Fluids 181, 90 (2019)
  * [10] E. Goncalves and D. Zeidan, Commun. Comput. Phys. 24, 167 (2018)
  * [11] D. Zeidan, E. Romenski, A. Slaouti and E.F. Toro, Int. J. Num. Meth. Fluids 54, 393 (2007)
  * [12] E. Romenski, D. Zeidan, A. Slaouti, and E. F. Toro, Hyperbolic Conservative Model for Compressible Two-Phase Flow, Reprint NI03022-NPA, Isaac Newton Institute for Mathematical Sciences, Cambridge, U.K. (2003)
  * [13] J. Zhai, W. Liu and L. Yuan, Computers and Fluids 134, 90 (2016)
  * [14] D. Zeidan, L.T. Zhang and E. Goncalves, Int. J. Appl. Mech. 12, 2050049 (2020)
  * [15] P.J. Dellar and R. Salmon, Physics of Fluids 17, 106601 (2005)
  * [16] F.M. Mahomed and P.G.L. Leach, Quaestiones Mathematicae 12, 121 (1989)
  * [17] S. Moyo and P.G.L. Leach,J. Math. Anal. Appl. 252, 840 (2000)
  * [18] P.G.L. Leach, J. Phys. A: Math. Gen. 13, 1991 (1980)
  * [19] A. Paliathanasis, M. Tsamparlis and M.T. Mustafa, Int. J. Geom. Meth. Mod. Phys. 12, 1550033 (2015)
  * [20] A.H. Kara and F.M. Mahomed, Int. J. Theor. Phys. 34, 2267 (1995)
  * [21] S. Jamal, Mod. Phys. Lett. A. 35, 2050068 (2020)
  * [22] S. Jamal and A.G. Johnpillai, Indian J. Phys. 94, 233 (2020)
  * [23] S. Jamal, G. Shabbir and A.S. Mathebula, IJGMMP 15, 1850191 (2018)
  * [24] A.A. Chesnokov, J. Appl. Mech. Techn. Phys. 49, 737 (2008)
  * [25] A.A. Chesnokov, Eur. J. Appl. Math. 20, 461 (2009)
  * [26] A. Palithanasis, Symmetry 11, 1115 (2019)
  * [27] X. Xin, L. Zhang, Y. Xia and H. Liu, Appl. Math. Lett. 94, 112 (2019)
  * [28] S. Szatmari and A. Bihlo, Comm. Nonl. Sci. Num. Sim. 19, 530 (2014)
  * [29] J.-G. Liu, Z.-F. Zeng, Y. He and G.-P. Ai, Int. J. Nonl. Sci. Num. Sim. 16, 114 (2013)
  * [30] M. Pandey, Int. J. Nonl. Sci. Num. Sim. 16, 93 (2015)
  * [31] A. Paliathanasis, Zeitschrift für Naturforschung A 74, 869 (2019)
  * [32] P. Siriwat, C. Kaewmanee and S.V. Meleshko, Int. J. Non-lin. Mechanics, 86, 185 (2016)
  * [33] A. Hematulin, S.V. Meleshko and S.G. Gavrilyuk, Math. Methods Appl. Sci. 30 2101 (2007)
  * [34] P. Siriwat and S.V. Meleshko, Symmetry Integr. Geom.: Methods Appl. 4, 1 (2008)
  * [35] V.A. Dorodnitsym and E.I. Kaptsov, Comm. Nonl. Sci. Num. Sim. 89, 105343 (2020)
  * [36] S.V. Meleshko and N.F. Samatova, Comm. Nonl. Sci. Num. Sim. 90, 105337 (2020)
  * [37] S.V. Meleshko, Comm. Nonl. Sci. Num. Sim. 89, 105293 (2020)
  * [38] A. Bihlo, N. Poltavets and R.O. Popovych, Chaos 30, 073132 (2020)
  * [39] A. Bihlo and R.O. Popovych, Studies in Applied Mathematics 145, 291 (2020)
  * [40] D. Zeidan and B. Bira, Math. Meth. Appl. Sci. 42, 4679 (2019)
  * [41] B. Bira, T.S. Raja and D. Zeidan, Comput. Math. Appl. 71, 46 (2016)
  * [42] L. V. Ovsiannikov, Group analysis of differential equations, Academic Press, New York, (1982)
  * [43] K. S. Chou and C. Z. Qu, Acta Applicandae Mathematicae, 83, 257 (2004).
  * [44] F. Galas and E. W. Richter, Phys. D 50, 297 (1991).
  * [45] S. V. Coggeshall and J.Meyer-ter-Vehn, J. Math. Phys. 33, 3585 (1992).
  * [46] F. Rezvan, E.Yasar and T. Ozer, Appl. Math. Comp. 218, 974 (2011)
  * [47] C. Mullaert, Journal de Mathématiques Pures et Appliquées 99, 251 (2013)
  * [48] P.J. Olver, Applications of Lie Groups to Differential Equations, Springer-Verlag, New York, (1993)
  * [49] G.W. Bluman and S. Kumei, Symmetries and Differential Equations, Springer-Verlag, New York, (1989)
  * [50] N.H. Ibragimov, CRC Handbook of Lie Group Analysis of Differential Equations, Volume I: Symmetries, Exact Solutions, and Conservation Laws, CRS Press LLC, Florida (2000)
  * [51] J. Patera, R.T. Sharp, P. Winternitz and H. Zassenhaus, J. Math. Phys. 17, 986 (1976)
  * [52] J. Patera and P. Winternitz, J. Math. Phys. 18, 1449 (1977)