The Local Government (Rating) Act 2002 comes into effect on 1 July 2003. It replaces the Rating Powers Act 1988 (RPA), and amendments to related Acts.
providing for processes and information to enable ratepayers to identify and understand their liability for rates.
The Local Government (Rating) Act gives Regional Authorities the same powers and mechanisms as Territorial Local Authorities.
The requirement to provide new specific comprehensive information to the ratepayer, in particular in relation to an assessment notice, rates invoice payment and remission and postponement of rates.
A local authority may set a general rate for all rateable land within its district.
at different rates in the dollar of rateable value for different categories of rateable land under section 14.
must be identified in the local authority's annual plan as the value for setting a general rate.
are defined in terms of 1 or more of the matters listed in Schedule 2.
a fixed amount per separately used or inhabited part of a rating unit.
A uniform annual general charge is a rate for the purposes of this Act.
A local authority may set a targeted rate for a function if the function is identified in its annual plan as a function for which a targeted rate may be set.
Subsection (1) does not prevent a local authority from setting a targeted rate for several functions, or setting several targeted rates for 1 function.
1 or more categories of rateable land under section 17.
differentially for different categories of rateable land under section 17.
are listed in Schedule 3.
Despite subsection (1), the liability for a targeted rate may be calculated as a fixed amount per rating unit.
To avoid doubt, if targeted rates are set differentially, the rates concerned do not have to be calculated using the same factors for each category of land.
The Act limits the revenue that can be collected by UAGC and targeted rates set on a uniform basis can not exceed 30 percent of local or regional authorities total rate revenue. These provisions are similar to the current provision in the RPA.
The use of targeted rates must be detailed in the Annual Plan of the local authority to provide authority to use the mechanisms. This replaces the Special Order Process required under the RPA.


text:
kios303.com
What Keeps The Moon From Crashing Into Earth?
Can a telescope see the flag on the moon?
What would happen if the moon disappeared?
Has anyone died in space?
How long would it take for the moon to crash into the earth?
Would we die if there was no sun?
Does the earth attract the moon with a greater force?
Where is the value of G equal to zero on Earth?
Who owns the moon?
Why the earth does not move towards the moon?
How does the moon keep Earth stable?
Why does the earth not move?
Can the moon crash into Earth?
What if the moon was habitable?
Is the flag still on the moon?
Yes, the flag is still on the moon, but you can't see it using a telescope.
The Hubble Space Telescope is only 2.4 meters in diameter – much too small.
Resolving the larger lunar rover (which has a length of 3.1 meters) would still require a telescope 75 meters in diameter..
It is the pull of the Moon's gravity on the Earth that holds our planet in place. Without the Moon stabilising our tilt, it is possible that the Earth's tilt could vary wildly. It would move from no tilt (which means no seasons) to a large tilt (which means extreme weather and even ice ages).
A total of 18 people have lost their lives either while in space or in preparation for a space mission, in four separate incidents. Given the risks involved in space flight, this number is surprisingly low. The two worst disasters both involved NASA's space shuttle.
That needs about 60 days, or 2 moon orbits. It will change its orbit during those 60 days, so the calculation is not very accurate, but it gives the right timescale. So the moon would come closer to Earth and crash within a few months.
All plants would die and, eventually, all animals that rely on plants for food — including humans — would die, too. While some inventive humans might be able to survive on a Sun-less Earth for several days, months, or even years, life without the Sun would eventually prove to be impossible to maintain on Earth.
Answer: According to universal law of gravitation and Newton third law, we know that the force of attraction between two objects is same but in opposite direction. Thus the earth attracts the moon with the same force as the moon exerts on earth but in opposite directions.
Acceleration due to the earth's gravity is zero at the centre of the Earth because at that point the mass of the earth is equally distributed in all directions, so pulling equally in all directions for a net zero pull. As the distance from the centre decreases, the acceleration due to gravity also decreases.
The Outer Space Treaty means therefore that – no matter whose national flags are planted on the lunar surface – no nation can 'own' the Moon. As of 2019, 109 nations are bound by the Treaty, and another 23 have signed the agreement but have yet to be officially recognised.
As we know, the mass of earth is much larger as compared to the mass of the moon, it cannot produce significant acceleration in earth for it to move towards the moon. Therefore, earth does not move towards the moon.
The brightest and largest object in our night sky, the Moon makes Earth a more livable planet by moderating our home planet's wobble on its axis, leading to a relatively stable climate. It also causes tides, creating a rhythm that has guided humans for thousands of years.
The spinning and orbital speeds of Earth stay the same so we do not feel any acceleration or deceleration. You can only feel motion if your speed changes. For example, if you are in a car which is moving at a constant speed on a smooth surface, you will not feel much motion.
But, in fact, the Earth and Moon may be on a very long-term collision course — one that incredibly some 65 billion years from now, could result in a catastrophic lunar inspiral. … This recession is due to tidal friction caused by the effects of the Moon's gravitational tides on the Earth, Barnes told me.
If we had a habitable moon, it would have to have its own magnetic field to shield us from cosmic rays, it would have to have the right atmospheric conditions, it's micro organisms would have to be compatible with us and any food we hoped to grow.
A review of photographs taken by the Lunar Reconnaissance Orbiter (LRO) indicates that flags placed during the Apollo 12, Apollo 16, and Apollo 17 missions were still standing as of 2012.
Quick Answer: What Is Today'S Date Format?
What is DD Mon YYYY format? The format for an ANSI
Question: How Much Money Can You Transfer To Another Person?
How much money can you transfer between accounts without
Is A Business Or Finance Degree Better?
What is the difference between business and finance?
How Much Do You Need For A Gap Year?
Does a gap year look bad? After twelve years of schooling, it'
Quick Answer: What Is The Meaning Of Cash Receipts?
Are cash receipts always Revenue? Cash receipts from
How Do You Thin A Font?
How do I make font darker in Word? Select (highlight)
Why Is My Nsfas Account Blocked?
How do I know if my Nsfas application was unsuccessful?
Question: How Many Days It Will Take To Clear Cheque In SBI?
How can I check my SBI Cheque clearance status?
How Can I Complain To Jazz?
How can I send money to a mobile number? Send money
Question: Where Does Vince Carter Rank All Time?
Who has the best stats in NBA history? NBA/ABARankPlayerPTS1.
Quick Answer: Which Banks Have Fee Free Accounts?
Which banks have the lowest monthly fees?
What Is A SIS ID?
How do I find my sis ID in canvas? To start, click
Question: Is The Amazon Fire Stick Worth Buying?
Does a Firestick wear out? The Fire TV Stick doesn'
© 2020 kios303.com

redpajama_set_name: RedPajamaCommonCrawl


When you think of Mike Allred, you most likely think - MADMAN. Madman was first published by Tundra, and then later by Dark Horse. Besides doing the writing and art duties on Madman, Mike also worked on an issue of SANDMAN, and worked on such comics as THE GEEK, VERTIGO VISIONS, GRAPHIK MUSIK, and THE EVERYMAN. Today though, he is also closely associated with Marvel's X-FORCE, a title that was revamped with a touch of Allred. It now has it's own cult status and following in the comic community.
*Thanks to writer Hal Hilden for the bio! Thanks to Mike and Brian Huberd for blessing this gallery and permitting us to use the images of his art.
If you have Mike Allred art to share, please register and upload!
Found: 233 image(s) on 16 page(s). Displayed: image 1 to 15.


text:
Граний () е мъжко име на плебейската фамилия Грании от 2 и 1 век пр.н.е. от Путеоли, Кампания, Италия.

Известни с това име:
 Квинт Граний, известен глашатай (praeco) от 2 и 1 век пр.н.е.
 Гней Граний, последовател на Гай Марий през 88 пр.н.е., вероятно син на Юлия Цезарис (съпруга на Марий)
 Квинт Граний, последовател на Гай Марий през 88 пр.н.е.
 Граний († 78 пр.н.е.), дуумвир на Путеоли, причинява смъртта на Сула
 Авъл Граний († 48 пр.н.е.), знатен конник, офицер при Юлий Цезар
 Марк Граний Марцел, проконсул на Витиния 14/15 г.
 Квинт Граний, 24 г. обвинява Луций Калпурний Пизон Авгур
 Граний Силван, военен трибун в преторианска кохорта при император Нерон
 Граний Флак, антиквар и автор 1 век пр.н.е.
 Граний Лициниан, историк от средата на 2 век.
 Граний, медициниски писател на 28. книга Naturalis historia
 Граний Раний Каст, римски консул 142 г.
 Юлий Граний, римски ретор по времето на Александър Север
 Гай Граний, римски драматика-поет

Вижте също
 Марк Гавий Апиций, автор на готварски книги през 1 век.

Източници
 Friedrich Münzer u. a., Granius 1)-20). In: Paulys Realencyclopädie der classischen Altertumswissenschaft (RE). Band VII,2, Stuttgart 1912, Sp. 1817–1823.
 CIL X 2187; X 2484-2489; X 2607; X 2651.

Римски фамилии

redpajama_set_name: RedPajamaWikipedia


Please do not include your city, state, or zip code.
This can be found on your most recent billing statement or association assessment coupons. If you do not know your account number, please email us at accounting@valenciamgmt.com or call (661) 295-9474.
This will be used to log in.


This is 32 Auto Federal Hydra-Shok 65gr. Hollow Point Ammo. This ammo contains a post in the middle of the hollow point to give it rapid expansion and deep penetration. This ammo is also very suitable for short barreled weapons and female shooters, because it is a reduced recoil round. This ammo has proven stopping power.


MyMemories Blog: Meet Featured Designer Scrap de Yas!
Meet Featured Designer Scrap de Yas!
My name is Yasmine, AKA Scrap de Yas.
I spend most of my time designing or scrapping my photos. I love to make photobooks with my children photos. My daughter (7 years) want to make pages with me, she's very creative!
So.... enjoy 40% off my ENTIRE shop from April 9th until April 15th.


Sababond 3249 is used as a rollable adhesive in the foam processing industry. This adhesive was developed especially for bonding foam substrates and for the mattress industry. This product can be used for bonding foam to foam, and foam to various substrates.
assembly convenience by the very high "green strength"


text:
Q: while using session in php during log in when the user is directed to user account page the page is empty I have a log in page in there i have set some sessions so once after the user is logged in the gets directed to user page ie www.sitename/users/index.php on this page there is profile info and password &email change update etc.. the regular stuff.
The issue i'm encountering is the when the user is logged in after redirecting via php header function the user profile page section is not showing.
This is my php log in code:
<?php
session_start();
include 'include/db-conn.php';
if (isset($_POST['submit'])) {
    $username = $_POST['user_name'];
    $email = $_POST['user_email'];
    $password = $_POST['user_password'];

    $sql = "SELECT * FROM `all_users` WHERE `user_name`='$username' AND `user_email`='$email'";
    $result = mysqli_query($conn, $sql);
    $user = mysqli_fetch_assoc($result);

    if ($user['status'] == '0') {
        echo "";
        exit();
        header("Location: index.php");
    }
    if ($user['status'] == '2') {
        echo "";
        exit();
        header("Location: index.php");
    }
    if ($user['status'] == '3') {
        echo "";
        exit();
        header("Location: index.php");
    }
    if ($user['status'] == '4') {
        exit();
        header('Location: index.php');
    }

    if ($user['user_name'] == $username && $user['user_email'] == $email && password_verify($password, $user['user_password'])) {
        $_SESSION['id'] = $user['id'];
        $_SESSION['userid'] = $user['user_random_id'];
        $_SESSION['username'] = $user['user_name'];
        $_SESSION['email'] = $user['user_email'];
        $_SESSION['user_role_type'] = $user['user_role_type_name'];
        $_SESSION['main_user_type'] = $user['main_user_group'];
        $_SESSION['sub_user_type'] = $user['sub_user_group'];
        $_SESSION['logged_in'] = true;
        echo '';
        header("Location: users/index.php");
        //ob_enf_fluch();
    } else {
        echo "";
        header("Location: index.php");
    }
}

?>
And this the session check for user account pages so they only have access when they logged in:
<?php
if (!isset($_SESSION['main_user_group'])) {
    header("Location: index.php");
    exit();
}

?>
the is the html code:

Log In

                    <form name="userLogin" action="login-script.php" method="POST" onsubmit="return validateForm()">

                            Username
                            <input required="required" placeholder="enter here" type="text" name="user_name" class="form-control">

                            Email
                            <input required="required" placeholder="enter here" type="email" name="user_email" class="form-control">

                            Password
                            <input required="required" placeholder="enter here" type="password" name="user_password" class="form-control">

                        <input placeholder="enter here" type="submit" name="submit" value="submit" class="form-control btn btn-success">

                </form>

And this the user section www.somesite.com/users/index page content:
   <?php include '../include/db-conn.php'; ?>
<?php include '../include/header.php'; ?>
<?php include 'session-check.php'; ?>

Users

Account

                        Links

                        <?php include 'common-links.php'; ?>

                <form action="">

Image

                                <input class="form-control" type="file" name="user_image">

User Role:

Username:

Joined:

User ID:

Email Verified:

Profile Info

                                    Title
                                    <select  class="form-control select" name="user_title" id="">
                                        <option value="non-selected">Non Selected</option>
                                        <option value="Mr">Mr</option>
                                        <option value="Mrs">Mrs</option>
                                        <option value="Miss">Miss</option>
                                        <option value="oters">Others</option>
                                    </select>

                                    Gender
                                    <select  class="form-control select" name="user_gender" id="">
                                        <option value="non-selected">Non Selected</option>
                                        <option value="Female">Female</option>
                                        <option value="Male">Male</option>
                                        <option value="Tansgender">Tansgender</option>
                                        <option value="Bi-Sexual">Bi-Sexual</option>
                                        <option value="oters">Others</option>
                                    </select>

                                    First Name
                                    <input required class="form-control" type="text" name="user_first_name" placeholder="enter here">

                                    Middle Name
                                    <input required class="form-control" type="text" name="user_middle_name" placeholder="enter here">

                                    Lastname
                                    <input required class="form-control" type="text" name="user_last_name" placeholder="enter here">

                                    D.O.B
                                    <input required class="form-control"  type="date" name="user_dob" placeholder="enter here">

                                <textarea class="tinymce form-control"  cols="30" rows="10" name="about_user" placeholder="Write something about yourself!"></textarea>

Address

                                    Address No
                                    <input required class="form-control" type="text" name="user_address_number" placeholder="enter here">

                                    Address Street
                                    <input required class="form-control" type="text" name="user_address_street" placeholder="enter here">

                                    Country(select)
                                    <select class="form-control select" name="user_address_country" id="">
                                        <option value="non-selected">None Selected</option>
                                        <option value="GB">United Kingdom</option>
                                    </select>

                                    State / County /Province / Region (select)
                                    <select class="form-control select" name="user_address_state" id="">
                                        <option value="non-selected">None Selected</option>
                                        <option value="GB">United Kingdom</option>
                                    </select>

                                    City (select)
                                    <select class="form-control select" name="user_address_city" id="">
                                        <option value="non-selected">None Selected</option>
                                        <option value="GB">United Kingdom</option>
                                    </select>

                                    Town  (select)
                                    <select class="form-control select" name="user_address_town" id="">
                                        <option value="non-selected">None Selected</option>
                                        <option value="GB">United Kingdom</option>
                                    </select>

                                    Post / Zip Code
                                    <input required class="form-control" type="text" name="user_address_post_code_zip" placeholder="enter here">

                                    Phone Number
                                    <input class="form-control" type="tel" name="user_phone_number" placeholder="enter here">

                                    Mobile Number
                                    <input class="form-control" type="tel" name="user_mobile_number" placeholder="enter here">

                                    User Email
                                    <input required class="form-control" type="email" name="user_email" placeholder="enter here">

                                    <input class="form-control btn-success" type="submit" name="save" value="Save">

                </form>

<?php include '../include/footer.php'; ?>

A: Try giving the code if this code does not work check your password hash format correct or not.
Note: user/index.php must start session "session_start();"
<?php
    session_start();
    include 'include/db-conn.php';
    if (isset($_POST['submit'])) {
        $username = $_POST['user_name'];
        $email = $_POST['user_email'];
        $password = md5($_POST['user_password']);
        $sql = "SELECT * FROM `all_users` WHERE `user_name`='$username' AND `user_email`='$email' AND `user_password`='$password'";
        $result = mysqli_query($conn, $sql);
        $user = mysqli_fetch_assoc($result);
        if(!empty($user)){
            if ($user['status'] == '0') {
                echo "";
                exit;
                header("Location: index.php");
            }elseif($user['status'] == '2') {
                echo "";
                exit;
                header("Location: index.php");
            }elseif($user['status'] == '3') {
                echo "";
                exit;
                header("Location: index.php");
            }elseif($user['status'] == '4') {
                exit;
                header('Location: index.php');
            }
            $_SESSION['id'] = $user['id'];
            $_SESSION['userid'] = $user['user_random_id'];
            $_SESSION['username'] = $user['user_name'];
            $_SESSION['email'] = $user['user_email'];
            $_SESSION['user_role_type'] = $user['user_role_type_name'];
            $_SESSION['main_user_group'] = $user['main_user_group'];
            $_SESSION['sub_user_type'] = $user['sub_user_group'];
            $_SESSION['logged_in'] = true;
            header("Location: users/index.php");
        }else {
            echo "";
            header("Location: index.php");
        }
    }
?>

A: The reason the html section wasn't displaying was the html was before session_start(); as i was using php include function to render html across the site mainly the header.php.
The issue is resolved  by adding a session_start(); at the start of the header.php which is rendered by the php include function or just make sure session_start(); is above html tag in any given situation.
Kindly correct me if I'm wrong, but it seem to have worked for me!
Thanks

redpajama_set_name: RedPajamaStackExchange


text:
JUMO wins award at the German Ideas Management Prize 2022
Space gain and cost savings
The "German Ideas Management Award" honors companies and individuals who set an example in ideas management. The nationwide competition is regarded as the highest award in idea management in Germany and is awarded by an independent jury of experts from science and practice. JUMO's idea management team won another prize in this year's prestigious competition, after the company was already successful in 2021.
Press text (German)
(DOCX, 1346.5kB)
Press text (English)
Press photo
(JPG, 4.98mB)
Buisness card
( VCF, 246B)
In 2022, third place in the category "Best Idea in Administration and Service" went to Martin Jordan. He had analyzed the use of two existing carton cutting machines in the JUMO logistics center and simplified particularly labor-intensive designs. As a result, one of the two machines became redundant, and the storage space and associated storage space can be used elsewhere. Optimizing the cutting process has also significantly reduced set-up times. The jury of the Ideas Management Award was particularly impressed by the effectiveness and economy of this measure.
At the award ceremony, JUMO Managing Director Dimitrios Charisiadis emphasized the important role of idea management at JUMO: "Employees are our best idea generators. No one knows as well as they do what can be improved in their workplaces."
Monika Thom, Head of JUMO Ideas Management, adds: "The sum of several hundred employee suggestions submitted each year regularly results in potential savings in the clear six-figure range. There is therefore no way around strategic idea management for JUMO."
Do you still have questions?
Head of Press Office
Michael Brosig +49 661 6003 9293 Michael.Brosig@JUMO.net +49 661 6003 9293


Geared Up Dads was established in August of 2015 as a new component of the Delivering Change: Healthy Moms-Healthy Babies initiative. The Geared Up Dads advisory council has big plans for fatherhood in Geary County. Stay tuned for updates surrounding fatherhood classes, Daddy & Me play dates/events and fatherhood cafes.


Скачать Oresund Space Collective "Hallucinations inside the Oracle" торрент файлом бесплатно в хорошем качестве MP3 и Lossless. Альбом Hallucinations inside the Oracle записан на музыкальном лейбле в 2017 году. Альбом Hallucinations inside the Oracle выпущен в формате Компакт-диск и жанре Progressive Rock, Psychedelic Rock, Space Rock. Группа Oresund Space Collective сформировалась в стране США и на данный момент имеет статус Активные.
Download the torrent file of the song of group Oresund Space Collective from album Hallucinations inside the Oracle for free in excellent quality Lossy (MP3 320 kbps (Stereo, High Quality), AAC) and Lossless (WAVE, FLAC). Release Hallucinations inside the Oracle was recorded at studio and published in 2017. Album «Hallucinations inside the Oracle» in genre Progressive Rock, Psychedelic Rock, Space Rock has been published 11 October 2017. Oresund Space Collective-Hallucinations inside the Oracle.torrent download from zippyshare.
Скачать альбом группы Oresund Space Collective "Hallucinations inside the Oracle" торрент файлом бесплатно в хорошем качестве MP3 и Lossless. Альбом Hallucinations inside the Oracle записан на музыкальном лейбле в 2017 году. Альбом Hallucinations inside the Oracle выпущен в формате Компакт-диск и жанре Progressive Rock, Psychedelic Rock, Space Rock. Группа Oresund Space Collective сформировалась в стране США и на данный момент имеет статус Активные.


text:
The RCYC Women's Sailing program offers social sailing on Mondays for beginner to intermediate sailors, and further skill training for women interested in racing on Tuesdays.
Women's Sailing has become one of the most popular and thriving recreational programs on the island. Open to all female RCYC Members, this weekly program provides a great opportunity to meet other Club Members while improving sailing skills on and off the water. All levels of sailors are welcome to join this inviting community and find out why this program keeps expanding!
In our Social Sailing program, beginner to intermediate sailors practice the fundamentals of sailing in an Ideal 18, a small dinghy with a fixed keel for stability. With two to three women in a boat, sailors gain experience in sail trim, boat handling and safety in different conditions to build confidence in sailing. Most importantly, this is a fun program on Monday evenings intended for women looking for a relaxed, social environment and an opportunity to increase their sailing abilities.
For more experienced sailors, the more advanced Women's Racing program was introduced in 2015. Sailors use the Ideal 18 fleet to improve boat handling and spinnaker work while learning race tactics. This group trains with the goal to participate in Thursday night races, club regattas, and RCYC Women's Club Championships at the end of the season. In 2020, each Tuesday evening will focus on a specific skill depending on weather conditions and will open as a co-ed program for the majority of the summer. With one month-long session dedicated to women only, this approachable weekly training session invites sailors looking to jump into the world of racing and make some new connections along the way.
COVID-19 Update - Monday May 25th, 2020:
The RCYC Sailing Office staff remains in constant contact with Ontario Sailing and Sail Canada. We also are staying abreast of all City of Toronto news that relates to Youth Programming, Summer Camps, and Large Event programming. Everything is being done with our Members, guests and employees' safety and health in mind.
With that, an announcement was made by the Premier on Thursday, May14th, that allowed for the opening of Marina's to members as long as social distancing measures were followed and feasible. This is encouraging news and our team of staff are back on site to begin getting equipment ready and to assist members as they return back to the Island and city side to prepare their boats.
A news release from Ontario Sailing released on Monday May 4th stated the following:
"The choices each and every one of us makes in the days ahead will absolutely define what the 2020 sailing season looks like for the entire Ontario sailing community. We need to set the tone for compliance and to follow the guidelines to be able to continue to see more opportunities for our community to open more and more in the weeks and months ahead."
Please see Ontario Sailing's COVID-19 Updates Page for further updates and information.
We will be running a condensed schedule of Adult Sailing programs this season when it is safe to do so. To be added to our contact list for updates, please contact sailing@rcyc.ca.
Stay safe and we look forward to seeing you on the Island!
FAQ and Details for the 2020 Season:
Evening sessions include brief lessons from instructors at the dock at 6:00 before heading out on the water, and an in-depth debrief in the Clubhouse. All sailors are encourage to catch the 5:15 ferry to be ready on time, with the 5:45 ferry as the final boat. Most women return home on the 9:00 ferry after debriefing, or stay late for socializing.
There is no previous experience required to join our Social Sailing program. Women of all skill levels are welcome! Our friendly instructors will work to build confidence in the boat and will encourage sailors to keep adding to their skillset every week. CANSail levels will be available as an option to track progress through the year.
Sailors are required to wear lifejackets/PFDs while on the water.
Mark your calendars with the Spring Work Party and Women's Sailing Orientation! These weekend dates are important for new and returning sailors to the program. You will learn about the boat before your first sail, and get your first introduction to the great community of RCYC Members involved throughout the season.
Women's Racing is a step up from the Monday social program, fulfilling the needs of sailors eager to move towards racing but enjoy the camaraderie of training partners. This weekly Tuesday night coaching session works to improve skills important for skippers and crew. New this season, there will be 4-week sessions for women as well as co-ed sessions to open the doors to all RCYC sailors!
Please contact Jenny Farrand with any questions at sailing@rcyc.ca.
Schedule coming soon
For any questions about the calendar please contact sailing@rcyc.ca
2020 Women's Sailing Committee
Michele Clemo
Joanne Sterling
Deborah Elias
Stephanie Hardes
Workshop: Basics of Sailing
Workshop: Safety on the Water
Workshop: Rules of Racing
Steps to Hoisting and Dousing the Spinnaker
Check WX Aviation Weather
iWindsurf
SailFlow
Boating Knots
Ideal 18 Handbook


text:
\section{Introduction}

For more than 2 decades now, the observed process of emission of
multiple intermediate-mass fragments commonly named
multifragmentation has inspired theoretical speculations regarding
its mechanism. Since much of the observed yield exhibits features
commonly attributed to statistical production mechanisms and since
the standard equilibrium-statistical decay codes \cite{pace,gemini}
were not able to predict any noticeable yield of intermediate-mass
fragments (IMFs) heavier than lithium, a number of models
\cite{eesm,smm,mmmc,fisher,lattice,percolation}, have been developed
to effectively parameterize some of the salient trends in the
observed IMF yields. On the other hand, because the observed IMF
yields appeared to exhibit patterns arguably expected for phase
transitions, the most prominent of these models
\cite{smm,mmmc,lattice} consider nuclear multifragmentation to be a
form of a phase transition in excited nuclear matter.  confined in a
hypothetical box.

Recently \cite{toke_surfentr}, it was shown that, when due allowance
is made for the surface entropy and thermal expansion of nuclear
matter, the basic scenario of asymmetric fission is sufficient to
explain the observed IMF yields. It is also sufficient to explain
the multifragmentation as a form of fission but generalized to
multifragment saddle shapes, all without recourse to the notion of a
phase transition. According to this fission-like scenario, the
excited system undergoes shape fluctuations with amplitudes
increasing as the surface tension diminishes with increasing
excitation energy. As the system reaches randomly a binary or
multifragment saddle configuration it is pulled apart toward
scission  by Coulomb and/or centrifugal forces. For the purpose of
the following discussion, this process that is named Coulomb
fragmentation. In fact, this is the very scenario considered by the
statistical decay code Gemini \cite{gemini}, which, however, fails
because of its inadequate account of thermal expansion of nuclei and
of the role surface entropy plays in the process. It was also shown
recently \cite{toke_unified} that binary (asymmetric) Coulomb
fragmentation is quantitatively described by equations that are
equivalent to the parameterization used by the Nuclear Fisher's
Droplet Model \cite{elliott-fisher}, which was found to fit a large
volume of experimental data. In addition, multiple Coulomb
fragmentation is consistent with the numerical procedures used in
the statistical multifragmentation codes SMM \cite{smm} and MMMC
\cite{mmmc}. The present study shows for the first time that
generalized fission or Coulomb fragmentation may share some
prominent signatures with second-order phase-transitions of
spatially confined systems and can thus be erroneously associated
with such transitions.

\section{Modeling of Second Order Phase Transitions in Confined
Pseudo-Microcanonical Systems}

For the purpose of this study, we consider a schematic model
\cite{toke_surface} that emulates essentials of
pseudo-microcanonical models SMM \cite{smm} and MMMC \cite{mmmc}, as
far as phase transitions are concerned, but at the same time allows
one to model Coulomb fragmentation \cite{toke_unified}. The model considers finite amount of neutral Fermi matter that is allowed to assume two different spatial configurations - those of a spherical mono-nucleus and of two touching spheres of equal sizes. Importantly, this model accounts for the presence of a diffuse surface in that it includes in the calculations both, the surface energy  and the surface entropy \cite{toke_surfentr} associated with this domain. The presence of this diffuse surface domain has profound effects on the the way the system evolves with increasing excitation energy, i.e., on the possible phase transition (when the system is considered externally confined) or on the onset of Coulomb fragmentation (when the di-nuclear configuration is identified with a fragmentation saddle configuration) .
In the present study, the term ''phase'' is used to describe a
macroscopically distinct state of the system that can be assigned a
definite value of a properly chosen order parameter or a vector
of order parameters. For the breakup-type of phase transitions
appearing in pseudo-microcanonical SMM \cite{smm} and MMMC \cite{mmmc} calculations, a natural choice for the ``order vector'' is the set of mass and atomic numbers of the fragments. The term second-order phase transition is used here to describe a situation where the system changes the
most likely phase it will be found in. Note that, while in the
thermodynamical limit the system such as considered here would always reside in a pure, single-phase state, a finite system will always reside in a mixed-phase state. The probability of finding it in a particular pure phase is given by the weight function proper for the kind of ensemble considered (e.g., microcanonical, grand canonical, canonical, isobaric-isothermal, etc.). Note that the above definition of phases and phase transitions is is fully consistent with conventional thermodynamics. It is reiterated here only to enhance the clarity of the chain of arguments used further below. Note also that we use here the prefix ``pseudo''in the qualification of SMM \cite{smm} and MMMC \cite{mmmc} models, in order to stress the important fact that only a truncated phase space is numerically manageable in these, as in any other calculations of systems at excitation energies of interest here. As shown further below, an incomplete accounting of
phase space may have non-trivial, qualitative consequences in the
domain of second-order phase transitions. In fact, omission of certain parts of phase space may be responsible for faux signatures of such transitions, such as apparent phenomena of bimodality and negative heat capacity reported in the literature.

With the above definition of phases, a second-order phase transition
occurs when the weight functions for different phases intersect as the value of the controlling parameter (such as, e.g., total energy or temperature) is varied. This point is illustrated using the pseudo-microcanonical schematic model of Ref.~\cite{toke_surface}, which permits just two distinct macroscopic states of an excited nuclear system - the mononuclear and a symmetric di-nuclear configuration. Obviously this is the minimum number of allowed macroscopic states or phases needed for the concept of
a phase transition to be meaningful. In this case the pseudo-microcanonical weight functions $w(E)$ for the two configurations are
functions of total energy $E$ of the system.  They are related to
conditional entropies $S_{m}$ and $S_{d}$ associated with mono- and
di-nuclear configurations, respectively, i.e., the hypothetical entropies of the system forced into either a mono-nuclear (subscript $m$) or a di-nuclear (subscript $d$ ) configuration,

\begin{equation}
w_{m/d}(N,E,V)=e^{S_{m/d}(N,E,V)}.
\label{eq:weight}
\end{equation}

\noindent Here, $N$ is the number of particles in the system and $V$ is the system volume considered here constant. Because of the above simple
microcanonical relationship between a weight function and the
corresponding conditional entropy, a (second-order) phase transition will occur at a system energy $E$, where the
conditional entropy functions for the two configurations or phases
cross, i.e., where $S_m(N,E,V)=S_d(N,E,V)$. Note that for canonical ensembles at constant particle number $N$,
temperature $T$, and volume $V$, the proper weight function can be
expressed in terms of the Helmholtz free energy $A$,

\begin{equation}
w_{m/d}(N,T,V)=e^{-A_{m/d}(N,T,V)/T}.
\label{eq:weight_helmholtz}
\end{equation}

For an isothermal-isobaric ensemble at constant $N$, temperature $T$ and
pressure $p$, the weight function is properly expressed in terms of the Gibbs free energy $G$

\begin{equation}
w_{m/d}(N,T,p)=e^{-G_{m/d}(N,T,p)/T}.
\label{eq:weight_gibbs}
\end{equation}

Obviously, for all three ensembles considered above, the crossing of
the corresponding weight functions will occur at that value of the relevant
argument ($E$ for microcanonical, otherwise $T$) for which a
crossing of the respective special thermodynamic state functions $S$,
$A$, and $G$ occurs for the two nuclear configurations or phases considered. In the thermodynamical limit, the crossing of
the relevant special thermodynamic state functions results in a
discontinuity in the respective first derivatives of these functions
which in certain mathematical representations appear as zeroes of
the partition function (e.g., on the complex plane of canonical
temperature) \cite{chomaz_iwm}. For finite systems, statistical
fluctuations cause ``spreading'' of the phase transition over a
domain of argument values resulting in the disappearance of these
singularities. Again, in terms of complex calculus, such a
disappearance can then be viewed as a result of moving of the zeroes
of the partition function on the complex argument plane to a
suitable locations. While one must acknowledge the beauty of complex
calculus, taken alone, such purely mathematical constructs have the
potential of obscuring or masking the physics. The physics of the
phase transition phenomenon appears clearer in the representation
used here, i.e., based on the notion of the crossing of relevant
weight functions and mixing of macroscopic configurations (phases)
as a result of fluctuations.

Using the Ferm-gas model for the level densities of the constituent nuclei, the conditioal entropies for the pseudo-microcanonical mono- and symmetric di-nuclear configurations can be written as

\begin{equation}
S_m(A,E^*)=2\sqrt{a_mE^*}
\label{eq:S_mono}
\end{equation}

\noindent and

\begin{equation}
S_d=2\sqrt{a_d[E^*-(E_d^{pot}-E_m^{pot})]}.
\label{eq:S_di}
\end{equation}

In Eqs.~\ref{eq:S_mono} and \ref{eq:S_di}, $a_m$ and $a_d$ are level
density parameters ({\it little-a}) for mono- and di-nuclear configurations, respectively, and $E_m^{pot}$ and $E_d^{pot}$ are the potential energies of these configurations. The level density parameters for a realistic nuclear matter distribution with diffuse surface domain can be calculated using Thomas-Fermi approximation. They can be expressed approximately in terms of volume and surface contributions as \cite{toke-swiatecki}

\begin{equation}
a_m={A \over 14}(1+4A^{-1/3}) MeV^{-1}
\label{eq:littlea}
\end{equation}

\noindent and

\begin{equation}
a_d=2{A \over 28}[1+({A\over 2})^{-1/3}] MeV^{-1}.
\label{eq:littlea}
\end{equation}

The potential energies $E_d$ and $E_m$ for di- and mono-nuclear
configurations can be calculated from the liquid drop model
\cite{mye69} such that their difference is equal to the difference
in surface energies for the two geometries

\begin{equation}
E_d-E_m=c_{Surf}(F_2^d-1)A^{2/3}.
\label{eq:surfenergy}
\end{equation}

Here $c_{Surf}$ is the surface energy coefficient, and
$F_2^d=2^{1/3}$ is the ratio of the surface area of the symmetric di-nucleus to that of a sphere of the same volume.

The presence of a surface specific contribution to the level density
parameter is essential for the present study. In particular, it is crucial for a quantitative understanding of the Coulomb fragmentation, both of binary and multiple fragmentation. This surface term allows one to approximately account for the excess entropy per nucleon (surface
entropy) contributed by the diluted matter in the diffuse surface
domain as compared to that of a nuclear system with homogeneous matter distribution. It is the presence of this extra surface entropy for deformed shapes that at elevated excitation energies greatly enhances the system chances for arriving at deformed saddle configurations and thus to undergo Coulomb fragmentation. It is also the presence of surface entropy that makes weight functions for different fragmentation phases to intersect at characteristic excitations \cite{toke_surface} leading to second-order phase transitions. This feature is illustrated in the figures further below.

It is important to note that the present schematic model differs conceptually from the statistical multifragmentation models SMM \cite{smm} and MMMC \cite{mmmc}, but it relies on the same basic mechanism of phase transition as the latter models \cite{toke_unified}. And so, what is in the present model achieved by an explicit modeling of the diffuse nuclear surface domain, is achieved in SMM
\cite{smm} and MMMC \cite{mmmc} models by extra entropy associated with the implicit random motion (``rattling'') of spherical fragments within a hypothetical confinement (named arbitrarily as ``freezeout'' volume) of a volume fine-tuned to obtain a desired fit to select experimental observations. Note that such rattling of the spherical fragments leads to an effective spreading of the time-averaged matter distributions of individual fragments featuring diffuse surface domain. The extra ``rattling'' entropy is then to a good extent equivalent to entropy generated in this time-averaged diffuse surface domain. However, unlike SMM and MMMC recipes relying on an $ad hoc$ use of hypothetical ``oversize'' confinement vessels and on a lengthy statistical process of nucleon evaporation and re-synthesis into fragments, the present model derives the surface entropy consistently from the well understood liquid-drop and Fermi gas models of excited nuclei.

\begin{figure}
\includegraphics[width=12cm]{crossing_eps.eps}
\caption{Functional dependence of conditional entropies (top panel) and relative population probabilities (bottom panel) for mono- and di-nuclear phases, $S_m$ and $S_d$, respectively, on excitation energy per nucleon exhibiting a crossing at approx. 8.35 MeV/u.}
\label{fig:crossing}
\end{figure}

Results of model calculations for a two-phase system, allowing mono-
and di-nuclear configurations within the schematic formalism
\cite{toke_surface} reiterated above, are shown in Figs.~\ref{fig:crossing} -
\ref{fig:convex}. Fig.~\ref{fig:crossing} illustrates the intersecting of the two ($m$ and $d$) conditional entropy functions at an ``cross-over'' excitation energy of $E/A\approx 8 MeV/u$, which also signifies crossing of the corresponding weight functions for the two configurations. Since at low excitations $S_m>S_d$, the system will dominantly reside in the mono-nuclear state or phase. As the excitation energy increases approaching the crossing point, the system will more frequently fluctuate away from the mono-nuclear configuration into the di-nuclear domain. In the vicinity of the ``cross-over'' energy the two phases will coexist, but not in the sense in which macroscopic amounts of liquid and gas coexist in first-order phase transitions. Rather, at any moment in time the system as a whole is either in one or the other of the two pure macroscopic states. At higher excitation energies, beyond the cross-over point, the system will be dominantly in the di-nuclear state. Note, that the crossing of the weight functions or conditional entropy functions represents a second-order phase transition as there is no latent heat transferred in the transition. The thermodynamics of the second-order phase transition can be studied by exploring the evolution of the entropy of the system with increasing excitation energy. The entropy is given by the logarithm of the microcanonical partition sum

\begin{equation}
S(E)=ln[e^{S_m(E)}+e^{S_d(E)}],
\label{eq:entropy}
\end{equation}

\noindent where $S_m(E)$ and $S_d(E)$ are conditional entropies for
the mono- and di-nuclear configurations.

\begin{figure}
\includegraphics[width=12cm]{convex_eps.eps}
\caption{Reduced entropy vs. excitation energy per nucleon for the two-phase system of mono- and
di-nuclear configurations and three sizes of the system - thermodynamic
limit (TL), ``large'' with A=200, and ``small'' with A=80.(See text)} \label{fig:convex}
\end{figure}

The reduced entropy function for the ensemble considered here is illustrated in Fig. 2, for three different sizes of the system - infinite ($TL, A->\infty$), large ($A=200$), and small ($A=80$). The reduced entropy is obtained from model entropy $S_{[m,d]}$ by subtracting a linear function such that the reduced entropy is zero at the boundaries of the display region. Additionally, the reduced entropy was rescaled by a factor 1000/$A$. As seen in Fig.~\ref{fig:convex}, in thermodynamic limit the reduced entropy (and hence the model entropy)  features a kink, but always remains a concave function of energy. Moderate fluctuations present in a finite system of A=200 turn the kink into a convex domain or ``convex intruder'', which is then ``healed'' by larger fluctuations in an A=80 system. Note that a subtraction of a linear function does not affect the character of the function as far as convexivity is concerned.

\begin{figure}
\includegraphics[width=12cm]{caloric_eps.eps}
\caption{Caloric curves for the two-phase system of mono- and
di-nuclear configurations for three sizes of system - thermodynamic
limit (TL), ``large'' with A=200, and ``small'' with A=80. Also
shown are caloric curves for pure mono- and di-nuclear ensembles,
labeled $T_m$ and $T_d$, respectively.} \label{fig:caloric}
\end{figure}

The convex intruder in the functional dependence of entropy on energy shows up in a caloric curve as a domain of negative heat capacity. This is illustrated in Fig.~\ref{fig:caloric}, where the apparent thermodynamic temperatures ($T_x$) are displayed for the three cases of system sizes considered. The thermodynamic temperature plotted in Fig.~\ref{fig:caloric} is calculated
according to the standard microcanonical expression for the average
temperature

\begin{equation}
T^{-1}=\beta={dS\over dE}
\label{eq:temperature}
\end{equation}

As seen in Fig.~\ref{fig:caloric}, in the thermodynamic limit there is a singularity in the temperature function forming a discontinuous jump. This singularity is not present for finite systems in which mixing of configurations by fluctuations render the entropy function $S$ differentiable at any energy. However, in finite systems there is still a telltale remnant of the crossing in the form of a noticeable departure of the average temperature from monotonic behavior as a function of energy. For larger systems, where the fluctuations are weaker, this irregularity may take the appearance of negative heat capacity, as seen in Fig.~\ref{fig:caloric} for the case of A=200.

\subsection{Apparent Negative Heat Capacity}

The presence of irregularity or non-monotonicity in the caloric curve of $T(E)$ appears possible in the phase transition domain of physical systems. However, the presence of negative heat capacity in such a domain, such as seen in Fig.~\ref{fig:caloric} is difficult, if not impossible, to prove based on numerical modeling. This is so because it is technically impossible to include in the model calculations all energetically allowed microstates of a physical system and thus evaluate the true entropy function and the true microcanonical temperature. Out of necessity, one always deals numerically only with subspaces of the untreatably large true microcanonical phase space. Therefore, only apparent or pseudo thermodynamic potentials
and functions are evaluated and not the true ones. It is rather obvious that ``$a priori$'' it is not possible to tell whether any particular fine (as opposed to gross or average) trend in an apparent thermodynamical quantity in a model system reflects its true thermodynamical counterpart in a physical system. In other
words, as a matter of principle, it is impossible to predict fine
trends in thermodynamical quantities of physical systems based on truncated (incomplete phase space) numerical calculations such as used by SMM \cite{smm}, MMMC \cite{mmmc}, and lattice gas models \cite{lattice}. In
particular, as far as the claims of negative heat capacity are
concerned, it is demonstrated further below that an apparent
negative heat capacity may result trivially from excluding
microstates associated with macrostates intermediate between the
ones arbitrarily identified as separate phases.

One notes first that physically it is impossible to have a nuclear system allowing only two distinct macroscopic configurations similar to the one used in this study. In fact, it is impossible to have a physical system allowing any number of discrete macroscopic configurations but not allowing continuous paths connecting these configurations. Here, it is impossible for a spherical mono-nucleus to transition to symmetric di-nuclear configuration without passing through a continuous sequence of intermediate states of various intermediate deformations. The same is true with respect to the configuration spaces considered by SMM \cite{smm}, MMMC \cite{mmmc}, and lattice gas models \cite{lattice}. Importantly, the intermediate macroscopic configurations have a noticeable influence on the apparent trends in thermodynamic quantities exactly in the domain of the phase transition, i.e., where the weight functions for the phases of interest cross. This is so, because the weight functions of the intermediate configurations are guaranteed to cross with the weight functions for the phases of interest in the immediate vicinity of the crossing of the latter and, hence, make a noticeable contribution to the overall partition function selectively only in this domain. Exclusion of these intermediate configurations depletes the model entropy locally (on the energy scale) and may give rise to a ``convex intruder'' in the entropy function $S(E)$. Such an apparent or $faux$ convex intruder will propagate to other representations of apparent thermodynamic observables and, in particular, will result in a caloric curve featuring a  domain of $faux$ negative heat capacity. This rather trivial mechanism of generating $faux$ negative heat capacity in truncated-space microcanonical calculations is illustrated in more detail in Fig.~\ref{fig:healing}.

\begin{figure}
\includegraphics[width=12cm]{caloric3_eps.eps}
\caption{The ``healing'' effect of an inter-phase configuration on the apparent caloric curve for the two-phase system of mono- and
di-nuclear configurations for a A=200 system.} \label{fig:healing}
\end{figure}

Fig.~\ref{fig:healing} illustrates effects of the exclusion of classes of microstates associated with just one macroscopic configuration intermediate between the two ``base'' ones associated with mono- and di-nuclear phases. The inter-phase configuration has here a deformation parameter of $F_2=1.13$, i.e. a value half-way between the respective values for mono-nuclear ($F_2=1$) and di-nuclear ($F_2=2^{1/3}$) configurations.
As seen already in Fig.~\ref{fig:convex}, the apparent entropy $S_{[m,d]}(E)$ for a system including only the two base configurations ($m$ and $d$) exhibits a convex intruder in the vicinity of the crossing point of the conditional entropy functions $S_m(E)$ and $S_d(E)$. The caloric curve $T_{[m,d]}(E)$ deduced for a hypothetical system with such a drastically truncated phase space features negative heat capacity in the vicinity of this crossing  (see Fig.~\ref{fig:caloric}. As seen now in Fig.~\ref{fig:healing}, already a ``casual'' addition of just one intermediate inter-phase ($i$) configuration with the deformation parameter $F_2^i=0.5(F_2^m+F_2^d)$ changes the apparent caloric curve
$T_{[m,d,i]}(E)$ qualitatively in such a way that the domain of apparent negative heat capacity is eliminated. How in the calculations the negative heat capacity vanishes can be understood from Figs.~\ref{fig:transition} and \ref{fig:deltas}. These figures explain implicitly, how an omission of relevant macro-configurations gives rise of an apparent or $faux$ negative heat capacity.

\begin{figure}
\includegraphics[width=12cm]{transition_eps.eps}
\caption{Normalized weight functions for three macroscopic configurations, mono- and di-nuclear (subscripts $m$ and $d$)and intermediate ($i$) as functions of energy.} \label{fig:transition}
\end{figure}

As seen in Fig.~\ref{fig:transition} the ``inter-phase'' configuration ($i$) plays a noticeable role selectively only in the vicinity of the cross-over point of the weight functions for the two phases considered. Accordingly, as seen in Fig.~\ref{fig:deltas}, it contributes to the overall apparent entropy only in the energy domain of the phase transition and not much beyond it. It is the presence of this additional entropy, not accounted for in the truncated two-phase phase space that restores the overall concavity of the entropy as a function of energy.

\begin{figure}
\includegraphics[width=12cm]{deltas_eps.eps}
\caption{The additional entropy associated with the inter-phase configuration with $F_2^i=0.5(F_2^m+F_2^d)$ as a function of excitation energy.} \label{fig:deltas}
\end{figure}

The present schematic calculation demonstrates that, in the
vicinity of an anticipated phase transition (crossing of weight
functions), apparent thermodynamic quantities behave qualitatively
differently when certain classes of valid microstates are excluded
from the numerical calculations. It is not possible to
guarantee that all relevant states are included in any realistic
model description. Therefore, as a matter of principle, truncated model calculations do not provide a sound foundation for claims regarding fine trends in true thermodynamical quantities, and especially so in the vicinity of phase transitions.

\subsection{Apparent Bimodality}

Recently, various suggestions have been made \cite{gross_book,chomaz_iwm} to the extent that bimodality of certain thermodynamic functions may serve as a signature of phase transitions. The perceived bimodality is then used to infer the presence of a convex intruder in the entropy as a function of excitation energy. In view of
the above discussion regarding the origins of the latter intruder, it is justified to ask whether an apparent numerical bimodality is a
reflection of a true bimodality or simply the result of an arbitrary truncation of the model phase space.

Obviously, in a schematic model that is inherently bimodal, like the
one employed here, and allowing only two macroscopic configurations,
many numerical observables are expected to exhibit a trivial
bimodality. For example, at any fixed energy, the numerical system (but not a physical one) will statistically jump from one macroscopic configuration to another one with a much different potential energy. Accordingly, the model temperature will jump from one value to other, leading to the corresponding bimodal temperature distribution. Similarly, in a canonical system, the system energy will jump from one value to the other, leading to an apparent bimodality in the energy distribution. A physical system, however, must pass through intermediate macroscopic states with potential energies intermediate between those for the two ``base'' configurations. When such intermediate configurations are included in the model calculations,
the gap between the peaks of the bimodal distributions will be
filled. To reiterate, since it is not possible to guarantee that in a model (numerical) phase space all relevant microstates are included,
generally, numerical model calculations cannot provide a sound
foundation for statements regarding the bimodality or lack thereof
of distributions of true thermodynamic observables for physical sysytems. However, in some cases, one can prove, based on thermodynamic principles that certain distributions must be mono- and not bi-modal.

A prominent case of suspected bimodality pertains to the behavior of isothermal-isobaric ensembles (fixed number of particles $N$, fixed temperature $T$, and fixed pressure $p$). For example, Ref.~\cite{gross_book} asserts that, in a ($N$,$T$,$p$) model of a cup of coffee at the phase transition temperature, the coffee will be in the state of pure liquid 50\% of time and in the remaining 50\% of time, it will be in the state of a pure vapor. Such narration and the
associated model calculations neglect all macroscopic configurations where part of coffee is in liquid and part is in gaseous state. Evidently, it is not possible for an entire physical system to jump from one volume (liquid) to another (gas) without passing through a whole sequence of intermediate volumes. Such jump would entail instantaneous transfers and equilibration of finite amounts of (latent) heat between the system and the isobaric thermostat, and an instantaneous expansion or contraction of matter involving velocity fields of infinite magnitude.
The perceived bimodality is in this case simply the result of an incomplete conceptual and numerical modeling, i.e., neglect to account for all states where liquid and gas coexist. Accordingly, the deduced caloric behavior of the system exhibits only a $faux$, but not physical negative heat capacity. Interestingly, in this case one can prove based on thermodynamical principles, not contested in Refs.~\cite{chomaz_iwm,gross_book,gross_iwm}, that inclusion of states of coexisting liquid and gas must result indeed in a mono-modal distribution. This is so, because the weight functions for different macroscopic configurations of an ($N$,$T$,$p$) ensemble are expressed via Gibbs free energy $G$ as seen in Eq.~\ref{eq:weight_gibbs} and because at fixed $T$ and $p$ this energy does not depend on volume. Therefore, any intermediate volume of the system between the volumes associated with pure phases, $V_{liquid}$ and $V_{gas}$, must be equally probable, leading at phase coexistence (infinitely narrow domain in $p$ for a given temperature $T$ of the thermostat) to a ``flat-top'' mono-modal
distribution in $V$ spanning uniformly a domain between $V_{liquid}$
and $V_{gas}$. Unlike a bimodal distribution, such a ``flat-top''
distribution has a simple physical interpretation in which the
system has no preference regarding the relative number of particles
in the two phases. The system will simply randomly fluctuate between
the states with various numbers, e.g., of gas particles,
deriving/returning energy from/to the heat bath as particles are
transferred between liquid and gas. Such a ``random-walk'', not
subject to any driving force other than the compressional at the
natural boundaries of the domain (pure liquid at one end and pure
gas at the other), leads to a uniform distribution in system
volumes. Note, that the ``flat top'' of the Gibbs free energy distribution corresponds to the Maxwell plateau in the isotherm plotted in a pressure $p$ $versus$ volume $V$ representation.

\subsection{First Order Phase Transitions in Small Truncated Systems}

Quite generally, first order phase transitions in small confined
microcanonical systems can be viewed as a ``rapid succession'', along
the energy axis, of crossings of weight functions for
configurations with, e.g., successively increasing number of gas
particles. In the absence of other macroscopic configurations, such
a succession of second-order phase transitions will reveal
characteristics of a first order phase transitions. In this case, the latent heat of evaporating a single nucleon is the amount of energy
needed to pass from one crossing point to the next one with the
second-order transition occurring without infusion of energy. In
nuclear systems, the latent heat for the emission of individual
consecutive nucleons may fluctuate significantly, e.g., due to the
pairing energy. Because of this uncertainty in latent heat for
consecutive acts of evaporation, there is no advantage from
parameterizing the observations in terms of the first-order phase
transitions, with the scenario of successive second-order phase
transitions offering a better understanding of the underlying
phenomenon. One notes that in the SMM and MMMC models, the population of gaseous phase is by design suppressed (in terms of loss of entropy) by the arbitrary resetting of its interaction energy to zero at any density. At the same time, the relative weights of multifragment configurations are in these calculations artificially enhanced by the arbitrary presetting of the nuclear matter incompressibility modulus to infinity. Therefore, in these models the crossings of the weight functions for many multi-fragment configurations occur in the same energy domain where the crossings occur for liquid -- gas configurations, rendering a true first-order liquid--gas transition undetectable. It is of interest to check what the outcome of SMM and MMMC type of  calculations would be for a ``numerical'' matter emulating more closely a physical nuclear matter, i.e., having the same effective EOS as the latter. Would then the model matter still end up fragmented into various sets of IMFs with relatively few free nucleons floating in the freezeout volume or would it end up as a large thermally expanded liquid residue surrounded by a gas of interacting
nucleons. Such an interest is purely academic as it is not possible
experimentally to confine the system to a fixed volume and thus to
confirm or falsify such ``improved'' model predictions.

\section{Phase-Transition-Like Signatures in Coulomb Fragamentation}

Coulomb fragmentation is a process similar to binary fission but
generalized to arbitrary saddle shapes, including multifragment shapes
\cite{toke_unified}. The process can be described approximately in terms of microcanonical thermodynamics of an excited nuclear system confined transiently by surface tension to a finite domain of phase space. The boundary of this domain is defined by all possible transition states, including particle evaporation thresholds and fragmentation/multifragmentation saddle states.
Microcanonical thermodynamics requires the system to explore all energetically allowed microstates with equal probability so as to ensure maximum entropy. In the course of
such an ``exploration'', and before every possible microstate has
been visited, the system ``wanders'' into a dorway or transition state
that leads to an open decay channel. If this is a particle
evaporation channel, the system continues its journey toward
equilibrium under a new identity, the newly reduced number of
particles. If the transition state is a fragmentation saddle shape,
the system is driven toward scission, all the while continuing its
exploration of the accessible phase space. The basic macroscopic
phenomena associated with equilibration are thermal expansion and
thermal shape fluctuations. The latter are responsible for Coulomb
fragmentation, i.e., for bringing the system occasionally to a
particular saddle configuration from which it is dynamically driven
apart by Coulomb forces. The above scenario is identical to a compound
nuclear fission scenario and is identical to the IMF production scenario in statistical decay models. A novel observation made only recently \cite{toke_surfentr} is that of the role of the extra entropy associated with the diffuse surface domain in facilitating shape fluctuations.

\subsection{Signatures of Second-order Phase Transitions}

The probability for an excited nuclear system to arrive at a particular saddle configuration is given by a respective weight function identical to the one discussed further above in the context of phase transitions
of confined systems. However, instead of different phases, now different saddle configurations are considered. The weight functions for various saddle shapes are still given by Eq.~\ref{eq:weight} and
intersect at characteristic excitation energies, since saddle shapes with larger surface area and larger potential energy are also associated with larger level density parameters. The former makes the macrostates with larger surface areas (larger values of the $F_2$ parameter in Eq.~\ref{eq:surfenergy}) accessible only at excitation energies higher than needed to excite more spherical configurations. The larger level density parameter makes the
conditional entropy of more deformed configurations grow faster with
increasing excitation energy than the conditional entropy of
more spherical shapes. As a result, the weight functions for different fragmentation channels may cross and leave signatures reminiscent of of second-order phase transitions. It is worth noting that the Coulomb fragmentation phenomena include intrinsic, inherent filter which allows to pass only saddle configurations and not the configurations intermediate between the deformed saddle and spherical reference configuration similar to what is done in truncated-space model calculations. However, to extract true and not apparent values of thermodynamical parameters from the experimental data on Coulomb fragmentation, one needs to include these experimentally ``invisible'' configurations in the model space. And again, it is virtually impossible to guarantee that deduced fine trends, such as negative heat capacity, are not artifacts of omission of relevant configurations in the model phase space.

In view of the fact that for reasonably-sized systems, there is a large number of possible saddle shapes and of corresponding crossings of the respective weight functions, one may wonder if and under what circumstances irregularities may still show up in the apparent trends of thermodynamic quantities inferred from cursory sampling of an unstable nuclear system via Coulomb fragmentation channels. Obviously, crossing points of the configurational weight functions will not be distributed uniformly on the energy scale. Rather, their distribution is expected to fluctuate and could even exhibit local statistical bunchings. When a particular bunching is sufficiently strong, it may possibly show up, e.g., in apparent caloric curve, as an irregularity and perhaps even simulate negative heat capacity. Such an irregularity, however, should not be taken as a signature of a phase transition or of a transition from one preferred individual fragmentation channel to
other. Rather, such a phenomenon will be a reflection of statistical fluctuations in the distribution of crossing points, reminiscent of
Ericson fluctuations \cite{ericson} in compound nucleus decay at low-excitations.

\subsection{Signatures of First-order Phase Transitions}

As was pointed out in Ref.~\cite{toke_unified}, an excited nucleus is inherently a two-phase system, consisting of liquid quasi-uniform bulk matter and diluted surface-domain matter. With increasing excitation energy, in a quest for maximum entropy, the system will transfer matter from the bulk to the surface domain in what is a true first-order liquid-gas phase transition. Interestingly, the presence of such a transition will manifest itself in the excitation function of the Coulomb fragmentation as a fast succession of crossings of weight functions for fragmentation saddle configurations with increasing surface areas. This is a true first-order liquid - gas (bulk matter liquid - surface domain gas) phase transition with a latent heat representing the amount of energy needed to transfer nuclear matter from bulk to the diluted surface domain.

\section{Summary}

It appears rather obvious that trends in apparent thermodynamical
quantities modeled in numerical simulations of nuclear systems that sample only a fraction of the microcanonical or canonical phase space do not necessarily represent corresponding trends in their actual physical counterparts. This observation poses the question whether such model trends reflect at least qualitatively the correct underlying physics and under what circumstances the numerical trends in apparent quantities may even be qualitatively misleading. The present
study demonstrates that qualitative discrepancies between physical processes and model interpretation are likely to
occur for phenomena involving phase transitions, the very focus of many numerical modeling attempts. The numerical examples discussed above show that the omission of macroscopic configurations intermediate between those associated with different phases depletes the partition function selectively exactly in the domain of interest and not much beyond it. As a result of such a depletion, one then observes a deficit in apparent entropy (so called ``convex intruder'') and an apparent or faux negative heat capacity in the model calculations. No such deficit would be present in a calculation performed with a more complete phase space. Similarly, the present study demonstrates that an apparent bimodalities calculated for observable distributions are results of an incomplete configuration space admitted in simulations.

While the modeling of a confined system is of purely academic
interest, modeling of the decay modes of excited nuclear systems is
of a practical interest. This latter venture aims at understanding experimental observations at a deeper level, rather than just fitting observations with various numerical parameterizations. The present study demonstrates, for the first time, that Coulomb fragmentation exhibits signatures deceptively similar to those of phase transitions in confined systems. Both sets of signatures are here reflections of crossings of respective weight functions with increasing system excitation. Hence, this work offers a plausible explanation why Coulomb fragmentation can easily be mistaken for a nuclear phase transition, either of first or second order. It is also important to note that in measurements of binary or multi-fragment decay, only a fraction of the complete underlying phase space is sampled, limited to saddle-point configurations, but excluding all ``intermediate'' pre-saddle configurations. Therefore, also experimentally one can determine directly only apparent thermodynamic quantities and their trends, but not the trends in the true thermodynamic quantities describing the highly excited nuclear systems. A more accurate determination of trends has to rely on a comparison with simulations admitting a representative, sufficiently large manifold of the configuration space.

Because of the large number of possible saddle configurations in
reasonably sized systems and because of thermal fluctuations, it is
unlikely that any single second-order ``phase'' transition between two distinct saddle configurations will leave a distinct and unambiguous experimental ``fingerprint''. More likely, phase-transition-like signatures could be observable in Coulomb
fragmentation when random, statistical ``bunching'' of the
crossing points of weight functions for different saddle
configurations occurs on the energy scale. Such statistical fluctuations could result in observable irregularities, e.g., on caloric curves, somewhat reminiscent of Ericson fluctuations \cite{ericson} in compound nucleus decay.

While it is not yet clear, what there is to learn from the
irregularities of apparent thermodynamic quantities extracted
from nuclear fragmentation data, it is clear that an analysis of experimental data in terms of Coulomb fragmentation (generalized fission) has important implications for our understanding of properties and behavior of the surface domain of excited nuclei. In
particular, such data may allow one to probe the nuclear EOS of diluted surface domain matter and also of the bulk nuclear matter diluted
through thermal expansion. It is rather obvious from the lessons of compound nuclear fission that the stability of nuclear systems against fragmentation depends critically on the presence of the diffuse surface domain and the properties of this domain. Also, it has been pointed out in Ref.~\cite{toke_unified} and further above, that because of the fact that matter in the surface domain has on average a density, binding energy, and level density parameter different from the corresponding bulk matter quantities, finite nuclei are inherently two-phase systems. In such two-phase systems, matter is transferred from bulk to surface domain, as excitation energy is raised, which is a true first-order liquid-gas phase transition. It is also natural to expect that at high excitation energies, the surface tension generated by the density gradient in the surface domain will vanish and give rise to critical phenomena.

The signatures of Coulomb fragmentation can be probed in greater detail experimentally by studying excitation functions for individual fragmentation channels. Since the process appears to be controlled by the manner in which weight functions for various multi-fragment saddle shapes cross in succession, the yield for individual fragmentation channels is expected to exhibit a rise and fall with increasing excitation energy. (See Fig.~\ref{fig:transition}, middle, Gaussian-like curve.) This may potentially open a completely new venue of experimental exploration of Coulomb fragmentation - spectroscopy of multifragment saddle configuration, where the excitation functions for various channels are studied, e.g., as functions of fragment sizes and isospins. Furthermore, it may be possible to use the location of the peaks in various yields on the energy scale as a measure of excitation energy, i.e., as a tool of calorimetry of highly excited nuclei. Also, there must be situations, where two or more weight functions run quasi-parallel avoiding each other, but crossing some other weight functions. This effect will give rise to gentle Boltzman-like scalings for some relative yields embedded in phase-transition like scalings of some other yields. This situation may arise when two saddle shapes differ in isospin but not so much in surface area, leading to iso-scaling.

With the above experimental opportunities in mind, a more coordinated theoretical effort appears warranted aiming to achieve a better
quantitative understanding of the evolution of the properties of the surface domain with excitation energy and other variables. To understand nuclear dynamics on a deeper level, it is important to assess the morphing of quasi-symmetric binary fission first into asymmetric binary Coulomb fragmentation, and then into multiple fragmentation. Such an effort would also advance thermodynamic theory of small open quantal systems.

\begin{acknowledgments}
This work was supported by the U.S. Department of Energy grant No.
DE-FG02-88ER40414.
\end{acknowledgments}

redpajama_set_name: RedPajamaArXiv


text:
31 published items with the word (s) or phrase B&O in News, Trends, Videos, Photo galleries, Agenda and sorted by "date descending".
Wal-Mart takes on Amazon's 'Prime Day' with online sale
Wal-Mart is launching an online discount sale on Wednesday to counter Amazon.com Inc's highly-publicized "Prime Day", a shopping event for members of its Amazon Prime service on the same day.
May Chow dishes on food at fashion at Omnivore
The Omnivore culinary festival has just ended in Paris. Focused on cuisine, it also has a fashion element to it. We got to speak with May Chow, a chef from Hong Kong who is passionate about fashion.
MAC teams up with milliner Philip Treacy
Set for a release in spring 2015, the latest capsule collection from MAC will see the cosmetics company work with world-famous milliner Philip Treacy.
Issey Miyake opens its first boutique in London
The Japanese brand has inaugurated a 5,400 square foot flagship store on Brook Street in London. A minimalist space designed by Japanese artist and designer Tokujin Yoshioka.
China: a large online appetite for luxury brands
Searches for luxury brands on the Chinese search engine Baidu rose by 36% over the past year, exceeding growth displayed by both jewelry and fashion.
Pepsi launches its first capsule collection
Pepsi has now made it official – the launch of its first own capsule collection. The "Live for now" line was designed to energize the brand's football ad campaign for 2014 and includes ready-to-wear streetwear, access...
Japan retailers target new big spenders: tourists
In ageing Japan, retailers are waking up to a hot new demographic: foreign visitors.
Chic Young Blood teams up with Beijing's Fashion Week
Looking to enhance its image, the third edition of Chic Young Blood will partner with Beijing's Mercedes Benz Fashion Week in October.
China's manufacturers build brands as path to success
For almost a decade, Bao Huihong and her French husband have run a lucrative clothes business in China, counting top luxury fashion brands such as Armani and Dolce and Gabbana among their clients.
What crisis? China's billionaires live it up
While the rest of the world struggles to bounce back from the global financial crisis, China's billionaires are living large, snapping up luxury products at a breathtaking pace.


text:
package com.microsoft.azure.management.cdn.implementation;

import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.cdn.CdnEndpoint;
import com.microsoft.azure.management.cdn.CdnProfile;
import com.microsoft.azure.management.cdn.CustomDomainValidationResult;
import com.microsoft.azure.management.cdn.DeepCreatedOrigin;
import com.microsoft.azure.management.cdn.EndpointResourceState;
import com.microsoft.azure.management.cdn.GeoFilter;
import com.microsoft.azure.management.cdn.GeoFilterActions;
import com.microsoft.azure.management.cdn.QueryStringCachingBehavior;
import com.microsoft.azure.management.resources.fluentcore.arm.CountryISOCode;
import com.microsoft.azure.management.resources.fluentcore.arm.models.implementation.ExternalChildResourceImpl;
import com.microsoft.azure.management.resources.fluentcore.utils.SdkContext;
import rx.Observable;
import rx.functions.Action1;
import rx.functions.Func1;
import rx.functions.Func3;
import rx.functions.FuncN;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

/**
 * Implementation for {@link CdnEndpoint}.
 */
@LangDefinition
class CdnEndpointImpl extends ExternalChildResourceImpl<CdnEndpoint,
        EndpointInner,
        CdnProfileImpl,
        CdnProfile>
        implements CdnEndpoint,

        CdnEndpoint.DefinitionStages.Blank.StandardEndpoint<CdnProfile.DefinitionStages.WithStandardCreate>,
        CdnEndpoint.DefinitionStages.Blank.PremiumEndpoint<CdnProfile.DefinitionStages.WithPremiumVerizonCreate>,
        CdnEndpoint.DefinitionStages.WithStandardAttach<CdnProfile.DefinitionStages.WithStandardCreate>,
        CdnEndpoint.DefinitionStages.WithPremiumAttach<CdnProfile.DefinitionStages.WithPremiumVerizonCreate>,

        CdnEndpoint.UpdateDefinitionStages.Blank.StandardEndpoint<CdnProfile.Update>,
        CdnEndpoint.UpdateDefinitionStages.Blank.PremiumEndpoint<CdnProfile.Update>,
        CdnEndpoint.UpdateDefinitionStages.WithStandardAttach<CdnProfile.Update>,
        CdnEndpoint.UpdateDefinitionStages.WithPremiumAttach<CdnProfile.Update>,

        CdnEndpoint.UpdateStandardEndpoint,
        CdnEndpoint.UpdatePremiumEndpoint {

    private final EndpointsInner client;
    private final OriginsInner originsClient;
    private final CustomDomainsInner customDomainsClient;
    private List<CustomDomainInner> customDomainList;
    private List<CustomDomainInner> deletedCustomDomainList;

    CdnEndpointImpl(String name,
                    CdnProfileImpl parent,
                    EndpointInner inner,
                    EndpointsInner client,
                    OriginsInner originsClient,
                    CustomDomainsInner customDomainsClient) {
        super(name, parent, inner);
        this.client = client;
        this.originsClient = originsClient;
        this.customDomainsClient = customDomainsClient;
        this.customDomainList = new ArrayList<CustomDomainInner>();
        this.deletedCustomDomainList = new ArrayList<CustomDomainInner>();
    }

    @Override
    public String id() {
        return this.inner().id();
    }

    @Override
    public Observable<CdnEndpoint> createAsync() {
        final CdnEndpointImpl self = this;
        return this.client.createAsync(this.parent().resourceGroupName(),
                this.parent().name(),
                this.name(),
                this.inner())
                .map(new Func1<EndpointInner, CdnEndpoint>() {
                    @Override
                    public CdnEndpoint call(EndpointInner inner) {
                        self.setInner(inner);
                        for (CustomDomainInner itemToCreate : self.customDomainList) {
                            self.customDomainsClient.create(
                                    self.parent().resourceGroupName(),
                                    self.parent().name(),
                                    self.name(),
                                    SdkContext.randomResourceName("CustomDomain", 50),
                                    itemToCreate.hostName());
                        }
                        self.customDomainList.clear();
                        self.customDomainList.addAll(self.customDomainsClient.listByEndpoint(
                                self.parent().resourceGroupName(),
                                self.parent().name(),
                                self.name()));
                        return self;
                    }
                });
    }

    @Override
    public Observable<CdnEndpoint> updateAsync() {
        final CdnEndpointImpl self = this;
        EndpointUpdateParametersInner updateInner = new EndpointUpdateParametersInner();
        updateInner.withIsHttpAllowed(this.inner().isHttpAllowed())
                .withIsHttpsAllowed(this.inner().isHttpsAllowed())
                .withOriginPath(this.inner().originPath())
                .withOriginHostHeader(this.inner().originHostHeader())
                .withIsCompressionEnabled(this.inner().isCompressionEnabled())
                .withContentTypesToCompress(this.inner().contentTypesToCompress())
                .withGeoFilters(this.inner().geoFilters())
                .withOptimizationType(this.inner().optimizationType())
                .withQueryStringCachingBehavior(this.inner().queryStringCachingBehavior())
                .withTags(this.inner().getTags());

        DeepCreatedOrigin originInner = this.inner().origins().get(0);
        OriginUpdateParametersInner originParameters = new OriginUpdateParametersInner()
                .withHostName(originInner.hostName())
                .withHttpPort(originInner.httpPort())
                .withHttpsPort(originInner.httpsPort());

        Observable<OriginInner> originObservable = this.originsClient.updateAsync(
                this.parent().resourceGroupName(),
                this.parent().name(),
                this.name(),
                originInner.name(),
                originParameters);

        Observable<CdnEndpoint> endpointObservable = this.client.updateAsync(
                this.parent().resourceGroupName(),
                this.parent().name(),
                this.name(),
                updateInner)
                .map(new Func1<EndpointInner, CdnEndpoint>() {
                    @Override
                    public CdnEndpoint call(EndpointInner inner) {
                        self.setInner(inner);
                        return self;
                    }
                });

        List<Observable<CustomDomainInner>> customDomainDeleteObservables = new ArrayList<>();

        for (CustomDomainInner itemToDelete : this.deletedCustomDomainList) {
            customDomainDeleteObservables.add(this.customDomainsClient.deleteAsync(
                    this.parent().resourceGroupName(),
                    this.parent().name(),
                    this.name(),
                    itemToDelete.name()));
        }
        Observable<CustomDomainInner> deleteObservable = Observable.zip(customDomainDeleteObservables, new FuncN<CustomDomainInner>() {
            @Override
            public CustomDomainInner call(Object... objects) {
                return null;
            }
        });

        return Observable.zip(
                originObservable,
                endpointObservable,
                deleteObservable,
                new Func3<OriginInner, CdnEndpoint, CustomDomainInner, CdnEndpoint>() {
            @Override
            public CdnEndpoint call(OriginInner originInner, CdnEndpoint cdnEndpoint, CustomDomainInner customDomain) {
                return cdnEndpoint;
            }
        }).doOnNext(new Action1<CdnEndpoint>() {
            @Override
            public void call(CdnEndpoint cdnEndpoint) {
                self.deletedCustomDomainList.clear();
            }
        });
    }

    @Override
    public Observable<Void> deleteAsync() {
        return this.client.deleteAsync(this.parent().resourceGroupName(),
                this.parent().name(),
                this.name()).map(new Func1<Void, Void>() {
            @Override
            public Void call(Void result) {
                return result;
            }
        });
    }

    @Override
    public CdnEndpointImpl refresh() {
        EndpointInner inner = this.client.get(this.parent().resourceGroupName(),
                this.parent().name(),
                this.name());
        this.setInner(inner);
        this.customDomainList.clear();
        this.deletedCustomDomainList.clear();
        this.customDomainList.addAll(this.customDomainsClient.listByEndpoint(
                this.parent().resourceGroupName(),
                this.parent().name(),
                this.name()));
        return this;
    }

    @Override
    public CdnProfileImpl attach() {
        return this.parent().withEndpoint(this);
    }

    @Override
    public String originHostHeader() {
        return this.inner().originHostHeader();
    }

    @Override
    public String originPath() {
        return this.inner().originPath();
    }

    @Override
    public List<String> contentTypesToCompress() {
        return this.inner().contentTypesToCompress();
    }

    @Override
    public boolean isCompressionEnabled() {
        return this.inner().isCompressionEnabled();
    }

    @Override
    public boolean isHttpAllowed() {
        return this.inner().isHttpAllowed();
    }

    @Override
    public boolean isHttpsAllowed() {
        return this.inner().isHttpsAllowed();
    }

    @Override
    public QueryStringCachingBehavior queryStringCachingBehavior() {
        return this.inner().queryStringCachingBehavior();
    }

    @Override
    public String optimizationType() {
        return this.inner().optimizationType();
    }

    @Override
    public List<GeoFilter> geoFilters() {
        return this.inner().geoFilters();
    }

    @Override
    public String hostName() {
        return this.inner().hostName();
    }

    @Override
    public EndpointResourceState resourceState() {
        return this.inner().resourceState();
    }

    @Override
    public String provisioningState() {
        return this.inner().provisioningState();
    }

    @Override
    public String originHostName() {
        if (this.inner().origins() != null && !this.inner().origins().isEmpty()) {
            return this.inner().origins().get(0).hostName();
        }
        return null;
    }

    @Override
    public int httpPort() {
        if (this.inner().origins() != null && !this.inner().origins().isEmpty()) {
            Integer httpPort = this.inner().origins().get(0).httpPort();
            return (httpPort != null) ? httpPort : 0;
        }
        return 0;
    }

    @Override
    public int httpsPort() {
        if (this.inner().origins() != null && !this.inner().origins().isEmpty()) {
            Integer httpsPort = this.inner().origins().get(0).httpsPort();
            return (httpsPort != null) ? httpsPort : 0;
        }
        return 0;
    }

    @Override
    public List<String> customDomains() {
        return Collections.unmodifiableList(
                Lists.transform(this.customDomainList,
                        new Function<CustomDomainInner, String>() {
                    public String apply(CustomDomainInner customDomain) {
                        return customDomain.hostName();
                    }
                }));
    }

    @Override
    public void start() {
        this.parent().startEndpoint(this.name());
    }

    @Override
    public void stop() {
        this.parent().stopEndpoint(this.name());
    }

    @Override
    public void purgeContent(List<String> contentPaths) {
        this.parent().purgeEndpointContent(this.name(), contentPaths);
    }

    @Override
    public void loadContent(List<String> contentPaths) {
        this.parent().loadEndpointContent(this.name(), contentPaths);
    }

    @Override
    public CustomDomainValidationResult validateCustomDomain(String hostName) {
        return this.parent().validateEndpointCustomDomain(this.name(), hostName);
    }

    @Override
    public CdnEndpointImpl withOrigin(String originName, String hostname) {
        this.inner().origins().add(
                new DeepCreatedOrigin()
                        .withName(originName)
                        .withHostName(hostname));
        return this;
    }

    @Override
    public CdnEndpointImpl withOrigin(String hostname) {
        return this.withOrigin("origin", hostname);
    }

    @Override
    public CdnEndpointImpl withPremiumOrigin(String originName, String hostname) {
        return this.withOrigin(originName, hostname);
    }

    @Override
    public CdnEndpointImpl withPremiumOrigin(String hostname) {
        return this.withOrigin(hostname);
    }

    @Override
    public CdnEndpointImpl withOriginPath(String originPath) {
        this.inner().withOriginPath(originPath);
        return this;
    }

    @Override
    public CdnEndpointImpl withHttpAllowed(boolean httpAllowed) {
        this.inner().withIsHttpAllowed(httpAllowed);
        return this;
    }

    @Override
    public CdnEndpointImpl withHttpsAllowed(boolean httpsAllowed) {
        this.inner().withIsHttpsAllowed(httpsAllowed);
        return this;
    }

    @Override
    public CdnEndpointImpl withHttpPort(int httpPort) {
        if (this.inner().origins() != null && !this.inner().origins().isEmpty()) {
            this.inner().origins().get(0).withHttpPort(httpPort);
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withHttpsPort(int httpsPort) {
        if (this.inner().origins() != null && !this.inner().origins().isEmpty()) {
            this.inner().origins().get(0).withHttpsPort(httpsPort);
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withHostHeader(String hostHeader) {
        this.inner().withOriginHostHeader(hostHeader);
        return this;
    }

    @Override
    public CdnEndpointImpl withContentTypesToCompress(List<String> contentTypesToCompress) {
        this.inner().withContentTypesToCompress(contentTypesToCompress);
        return this;
    }

    @Override
    public CdnEndpointImpl withoutContentTypesToCompress() {
        if (this.inner().contentTypesToCompress() != null) {
            this.inner().contentTypesToCompress().clear();
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withContentTypeToCompress(String contentTypeToCompress) {
        if (this.inner().contentTypesToCompress() == null) {
            this.inner().withContentTypesToCompress(new ArrayList<String>());
        }
        this.inner().contentTypesToCompress().add(contentTypeToCompress);
        return this;
    }

    @Override
    public CdnEndpointImpl withoutContentTypeToCompress(String contentTypeToCompress) {
        if (this.inner().contentTypesToCompress() != null) {
            this.inner().contentTypesToCompress().remove(contentTypeToCompress);
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withCompressionEnabled(boolean compressionEnabled) {
        this.inner().withIsCompressionEnabled(compressionEnabled);
        return this;
    }

    @Override
    public CdnEndpointImpl withQueryStringCachingBehavior(QueryStringCachingBehavior cachingBehavior) {
        this.inner().withQueryStringCachingBehavior(cachingBehavior);
        return this;
    }

    @Override
    public CdnEndpointImpl withGeoFilters(List<GeoFilter> geoFilters) {
        this.inner().withGeoFilters(geoFilters);
        return this;
    }

    @Override
    public CdnEndpointImpl withoutGeoFilters() {
        if (this.inner().geoFilters() != null) {
            this.inner().geoFilters().clear();
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withGeoFilter(String relativePath, GeoFilterActions action, CountryISOCode countryCode) {
        GeoFilter geoFilter = this.createGeoFiltersObject(relativePath, action);

        if (geoFilter.countryCodes() == null) {
            geoFilter.withCountryCodes(new ArrayList<String>());
        }
        geoFilter.countryCodes().add(countryCode.toString());

        this.inner().geoFilters().add(geoFilter);
        return this;
    }

    @Override
    public CdnEndpointImpl withGeoFilter(String relativePath, GeoFilterActions action, List<CountryISOCode> countryCodes) {
        GeoFilter geoFilter = this.createGeoFiltersObject(relativePath, action);

        if (geoFilter.countryCodes() == null) {
            geoFilter.withCountryCodes(new ArrayList<String>());
        } else {
            geoFilter.countryCodes().clear();
        }

        for (CountryISOCode countryCode : countryCodes) {
            geoFilter.countryCodes().add(countryCode.toString());
        }

        this.inner().geoFilters().add(geoFilter);
        return this;
    }

    @Override
    public CdnEndpointImpl withoutGeoFilter(String relativePath) {
        for (Iterator<GeoFilter> iter = this.inner().geoFilters().listIterator(); iter.hasNext();) {
            GeoFilter geoFilter = iter.next();
            if (geoFilter.relativePath().equals(relativePath)) {
                iter.remove();
            }
        }
        return this;
    }

    @Override
    public CdnEndpointImpl withCustomDomain(String hostName) {
        if (this.customDomainList == null) {
            this.customDomainList = new ArrayList<CustomDomainInner>();
        }
        this.customDomainList.add(new CustomDomainInner().withHostName(hostName));
        return this;
    }

    @Override
    public CdnEndpointImpl withoutCustomDomain(String hostName) {
        for (Iterator<CustomDomainInner> iter = this.customDomainList.listIterator(); iter.hasNext();) {
            CustomDomainInner customDomain = iter.next();
            if (hostName.equals(customDomain.hostName())) {
                iter.remove();
                deletedCustomDomainList.add(customDomain);
            }
        }
        return this;
    }

    private GeoFilter createGeoFiltersObject(String relativePath, GeoFilterActions action) {
        if (this.inner().geoFilters() == null) {
            this.inner().withGeoFilters(new ArrayList<GeoFilter>());
        }
        GeoFilter geoFilter = null;
        for (GeoFilter filter : this.inner().geoFilters()) {
            if (filter.relativePath().equals(relativePath)) {
                geoFilter = filter;
                break;
            }
        }
        if (geoFilter == null) {
            geoFilter = new GeoFilter();
        }
        else {
            this.inner().geoFilters().remove(geoFilter);
        }
        geoFilter.withRelativePath(relativePath)
                .withAction(action);

        return geoFilter;
    }
}

redpajama_set_name: RedPajamaGithub